The executor factory can bind with an UI page life cycle and could
auto-shutdown when the onStop().
Bug: 384795117
Test: manual
Flag: EXEMPT bug fix
Change-Id: Ibd2538fa2def86b08d3874a44f23ae2450483a6e
The AsyncTasks started in DataProcessManager are not cancelled when
fragment is closed. Introduce helper class LifecycleAwareAsyncTask to
cancel AsyncTask automatically when lifecycle is stopped.
Bug: 384473507
Flag: EXEMPT bug fix
Test: Unit test & open/close battery usage screen 1000 times
Change-Id: I060f559fa85cc5feb9a42cb8dcc0581782a91d09
Use IntroPreference to show apps' icon and label in
(1) App info > App battery usage page
(2)App info > App battery usage > Allow background usage
Bug: 349652542
Test: visual
Flag: EXEMPT flag by System prop
Change-Id: I44f3369e48f073d98455fcab3ccd10ffecdb8d66
This is a no-op refactor. This change makes the BatteryHeaderPreference Catalyst migration doesn't depend on PowerUsageSummary.
Bug: 372774754
Test: manual
Flag: EXEMPT bug fix
Change-Id: I3d8d2856036f6840a0a163c35668f55baee487ab
This is a no-op refactor. This change makes the Catalyst migration of battery level bar easy.
Bug: 372774754
Test: manual
Flag: EXEMPT bug fix
Change-Id: I6e64e6d9b34aeca584f4d4e951c58c3e1b361f9d
Keep the current thread for period job flow; only call handler back to
the main thread in UI flow.
Bug: 374570240
Fix: 374570240
Test: manual
Flag: EXEMPT bug fix
Change-Id: Ie923dbbd858c0c7000fa16a6c639f56624b2ece5
- Use one Controller to manage preferences related to battery Optimization Mode.
- Move optimization mode & preferences status update logic from Fragment to Controller.
Bug: 373544647
Test: atest AdvancedPowerUsageDetailTest PowerBackgroundUsageDetailTest BatteryOptimizationModePreferenceControllerTest BackgroundUsageAllowabilityPreferenceControllerTest
Flag: EXEMPT for simple fix
Change-Id: I2b1fed837fb4904e4118ab51c1d0cda36c0f6198
This is a prerequisite for using upcoming Catalyst integration test
Bug: 372774754
Test: atest
Flag: EXEMPT minor update
Change-Id: I4809df8d06f0c3d2de1c10d17e997ff80a8d4086
- Battery usage mode MODE_UNKNOWN is (1) apps in allowlist and (2) app's OP_RUN_ANY_IN_BACKGROUND = MODE_IGNORED.
For this case, mode should be displayed as Unrestricted on UI since it is in allowlist; and should be logged as unknown mode for the potential compatibility issues.
- After Backup & Restore, the MODE_UNKNOWN will be reset to Optimized(Default) Mode on target device.
Bug: 372831500
Test: manual
Test: atest BatteryOptimizeUtilsTest
Test: atest AppOptModeSharedPreferencesUtilsTest
Flag: EXEMPT for simple fix
Change-Id: Ic18e026f71a4a50ffa1711e2ca0782aeb8b33076
- Usage time in background is the sum{bg + fgs} usage time
Bug: 371919020
Fix: 371919020
Test: atest DataProcessorTest
Flag: EXEMPT for simple fix
Change-Id: I058d8511eac7510e2df6d9ac1713824cd8dbf3ba
Fix the failed test case that missed from ag/28495857
Test: Unit Test
Fix: 348563863
Fix: 356152111
Flag: EXEMPT bug fix
Change-Id: I852da018c6967c6ca13e3aea72290a2d6be8bfdd
- Use isAdditionalProfile() to ignore intent from either work or private profile.
Bug: 354828134
Test: atest SettingsRoboTests:com.android.settings.fuelgauge.batteryusage
Flag: EXEMPT bug fix
Change-Id: Ic0c91d956e4bfcd53576629efab4be847c94155e
Before the setup flow completion, don't allow the app info page in App battery usage to be launched.
Bug: 327748846
Test: atest SettingsRoboTests + manual test
- factory reset + launch app battery usage app info via ADB during Setup -> verify app closes
Flag : EXEMPT bugfix
Change-Id: I486820ca2afecc02729a56a3c531fb931c1907d0
Under charging optimization mode, use ADAPTIVE_LONGLIFE as the additional condition to check whether a device is plugged.
Bug: 349949603
Flag: EXEMPT bugfix
Test: atest SettingsRoboTests
Change-Id: Idbdfaaa1d5c54be325b6182bcda81d4282c21ba0
- Skip set app optimization mode to restricted if the flag disabled.
Bug: 348192536
Fix: 348192536
Test: atest
Flag: EXEMPT bug fix
Change-Id: I92d320ce1edfe9b7044afdcd058651b0d54bd6bd
Symptom: After the dock defend was triggered, the battery tips still
show "Future-Bypass" dock defend mode. It should be the "Active" dock
defend mode.
Root Cause: The original `BatteryInfo.isBatteryDefender` was implemented
by using `longlife`, due to the charging limit also reuse `longlife`
issue, we replace the implementation of `BatteryInfo.isBatteryDefender`
with HAL API call `isTempDefend` and `isDwellDefend`. However, the
dock defend also needs `longlife`, the original
`BatteryInfo.isBatteryDefender`. So the dock defend checking failed
after replacing the implementation of `BatteryInfo.isBatteryDefender`
Solution:
- Add new property isLonglife in BatteryInfo
- Replace all isBatteryDefender reference that needs isLonglife
Bug: 348563863
Test: Manual Test and robotest
Test: http://ab/I08300010291126076 (unit test)
Test: http://ab/I67800010291096764 (robo test)
Flag: EXEMPT bugfix
Change-Id: I58424927522acc29dc49261a2c24829a5b34ef85
This reverts commit d1114107df.
Reason for revert: Likely culprit for b/349578829 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I905a439c73e120efa094f097d59f68d0bedb0648
Symptom: After the dock defend was triggered, the battery tips still
show "Future-Bypass" dock defend mode. It should be the "Active" dock
defend mode.
Root Cause: The original `BatteryInfo.isBatteryDefender` was implemented
by using `longlife`, due to the charging limit also reuse `longlife`
issue, we replace the implementation of `BatteryInfo.isBatteryDefender`
with HAL API call `isTempDefend` and `isDwellDefend`. However, the
dock defend also needs `longlife`, the original
`BatteryInfo.isBatteryDefender`. So the dock defend checking failed
after replacing the implementation of `BatteryInfo.isBatteryDefender`
Solution: Add new property isLonglife in BatteryInfo
Bug: 348563863
Test: Manual Test and robotest
Test: http://ab/I55100010289930405
Flag: EXEMPT bugfix
Change-Id: I180cde7a193d75243893471634bab5f354c1623b