Insert the device build information in the battery optimization mode
backup stage, such that we can use it to decide whether we should
restore the data in the targeted device or not
Bug: 192523697
Test: make test RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.fuelgauge.*
Change-Id: I3ab76e013ea9aca4d336a62e0c7cb6882c5b5085
Remove the useless backup for the FULL_POWER_LIST, since we will not use
it to restore data, only backup the optimization_mode_list is enough
Test: presubmit
Bug: 192523697
Change-Id: I95f1f41732b8aff090e8b722896d153f6181a6ac
OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS details:
* An app with this appop will be made exempt from all
power restrictions, including app standby and doze.
* In addition, the app will be able to start fgs from
the bg, and the user will not be able to stop fgs
run by the app.
Changes:
* Implement the OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS
Bug: 246330879
Test: atest PowerAllowlistBackendTest
Manual testing:
- Give OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS appop to TestDPC app
- Verify the app can start fg services from the bg
- Verify fgs started by the app cannot be stopped
- Verify the app cannot be put into background restricted via Settings
Change-Id: If9e76076c59195f1e6e5f3eee3c8e7a0c754d8de
Verify and reset invalid battery setting configuration in the data
restore stage to avoid resoring invalid configuration from other devices
Bug: 258243197
Test: make RunSettingsRoboTests
Change-Id: I1a0febd2ad527147e4e9e9c77734c4b51963263a
- Impl optimize mode log mechanism to record optimize setup flow
- Log optimize action with MANUAL, APPLY, RESET and RESTORE
- Use proto file to serialize logs
sample result: https://screenshot.googleplex.com/5KPrHVGb4pMvS7V.png
Bug: 241735485
Test: make SettingsRoboTests
Change-Id: I879663de4cf45d0cfb9cd7eee957eeb65addfbe1
When there are multiple accounts in the devices, the battery usage list
is shared in the current design. We will aggregate other users usage
data into a single item to support multi-user privacy requirements
Screenshot: https://screenshot.googleplex.com/AkFTUtNvnoxcuGR
Bug: 202119550
Test: make RunSettingsRoboTests
Change-Id: I6cb55f0d50a4caca83212a0a54410530a032c089
Fix the issue that Optimization Mode is not reset when users click the
"Reset apps" button in the setting.
Bug: 222037028
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge" + emulator
Change-Id: I22fb8aa19e284e11882b2920b77b544dee4cc33c
- Post the setup logic into background and setup once only when leaving
this page, this can improve the performance since we won't setup
every time when switching preference
Bug: 195306545
Bug: 199892006
Test: make SettingsRoboTests
Change-Id: I1c3ee4673cf5cdba0abe39f208dfb1412082c579
Avoid backup system app or default app optimization modes, since all of
them are using the MODE_UNRESTRICTED in default, and the system or
default apps may be different in the different devices.
BYPASS_INCLUSIVE_LANGUAGE_REASON=legacy method name
Test command for backup manager:
adb shell bmgr backupnow com.android.settings
adb shell dumpsys backup | grep Current
Bug: 192523697
Test: make SettingsRoboTests
Change-Id: I0862ee31fcfa3bece15c2d4fdef5b0ea70235967
Based on the Android API Council guideline, we should avoid using the
Enum structure to define the constant definition.
go/android-api-guidelines#avoid-enum
Bug: 197595292
Test: make SettingsRoboTests
Change-Id: I4b22f0abde7f4ce2c3a0b076db786e619783d93e
Merged-In: I4b22f0abde7f4ce2c3a0b076db786e619783d93e