History log of /frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1d146e4493b208e2dcdd201c1a1948d3558cd5a8 04-Jun-2018 Makoto Onuki <omakoto@google.com> Ensure automatic battery saver won't stick

Fixes: 80527470
Test: Manual tests:
Test 1: (make sure automatic BS won't stick)
- Set up automatic battery saver at N%
- Wait until the battery goes below N% -> Battery saver will turn on
- Turn off the device
- Charge it until the battery goes above N%
- Turn on the device
- Make sure battery saver is off.

Test 1: (make sure manual BS will stick)
- Make sure the battery level is above the automatic threshold
- Manually enable BS
- Reboot
- Make sure battery saver is on.

Change-Id: I677fd586f6b25d0200392941cac2d13b57fe10b3
/frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
bd7a62538901e256148186006f60bd4dfa35469a 10-May-2018 Makoto Onuki <omakoto@google.com> Rework battery saver synchronization logic

- Stop using individual lock instances and use use the power manager lock.
- Make sure not to access external components with the lock held,
*except for settings provider*, which is already touched by the power manager
and the battery service

(I'm planning to re-organize things for Q: b/79580230)

Fixes: 79486713

Test: atest /android/pi-dev/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/Battery*Test.java /android/pi-dev/frameworks/base/services/tests/servicestests/src/com/android/server/power/*Test.java
Test: Manual test with ./development/scripts/battery_simulator.py with toggling
battery saver on and off and then watch
adb logcat -b all | grep -P '(battery_saving_stats|battery_saver_mode)'

Change-Id: I8ecdfefe978de348ee979d765c82e3d8f0280082
/frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
0f8617a646ebc33e2e85a6c61c9533393318d204 30-Apr-2018 Makoto Onuki <omakoto@google.com> Enhance battery saver event log

- Add reason to on/off log
- Add "threshold changed" event log

Bug: 78833408
Test: Manual test + logcat
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
Change-Id: Iddaff8dfa585923c3581552200ea2734b2c1a16d
/frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
6e5eb1dfa6b73e0f6f4dc98baf88a9826e2f1d25 31-Mar-2018 Makoto Onuki <omakoto@google.com> Fix dead lock between AM and BatterySaverStateMachine

Change-Id: If641ad1a0961376de65fdb9d557e7e2e601af389
Fixes: 77308319
Test: Boot, toggle battery saver
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
/frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
a3cd7b9d53cdc98952365b12a8f9d5623726ed52 19-Mar-2018 Makoto Onuki <omakoto@google.com> Sticky battery saver

- When battery saver is enabled manually (i.e. via PM.setPowerSaveMode()),
it'll stick, and we'll re-enable battery saver even after a reboot
or a charge.

- Extracted all battery saver state transition logic into a separate
class.

Fix: 75033216
Bug: 74120126
Test: Manual test with "dumpsys battery set ...."
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
Change-Id: If020cd48f341b339783fe09dd35bc7199e737a52
Test: dumpsys power
Test: incident_report power
Test: atest CtsBatterySavingTestCases
/frameworks/base/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java