For each visible battery tip, logs its type and state. For battery tip
with app list, also log that list:
1. HighUsageTip: apps that used too much battery
2. RestrictAppTip: apps with anomaly, also logs the anomaly type
Bug: 73888115
Test: RunSettingsRoboTests
Change-Id: I1b61eb1d793d979baab4864d2d652e12260b590d
Since BatteryTipLoader will dump all BatteryTips, so we only need
to add toString() for it.
Bug: 74246970
Test: RunSettingsRoboTests
Change-Id: I0a89c4ac06d107274d47f8b4b66867373c062c1b
This action is used to go to the anomaly detail page.
This cl also refactored the RestrictedAppDetails to take AppInfo
as the input, not AppOpsManager.PackageOps.
Bug: 72385333
Test: RunSettingsRoboTests
Change-Id: I5b4481091635e1250629ea21c2b650db929c18ed
1. In detector, read data from database and display it.
2. Update the RestrictAppAction to mark anomaly as handled
if restriction is toggled.
3. Update the RestrictAppTip to handle state change.
Bug: 72385333
Test: RunSettingsRoboTests
Change-Id: I0bbe6f6fd049bf2e7a2bee1dee08d5199f922e31
Add a fake unrestrict tip so we could reuse the BatteryTipDialogFragment
to build the unrestrict dialog.
After this cl, restrict dialog has two types:
1. dialog to only restrict one app
2. dialog to restrict more than one app
Will add dialog to restrict more than 5 apps when strings are finalized.
Bug: 72385333
Bug: 72227981
Test: RunSettingsRoboTests
Change-Id: Ib0328f0386efad525b331fd713dd15d060a1a649
1. Add RestrictAppTip with two state(new and handled)
2. Add RestrictAppDetector, and future cl will hook up
it with anomaly database
3. Add related dialog in BatteryTipDialogFragment
Bug: 72385333
Test: RunSettingsRoboTests
Change-Id: Ic10efc6387150e62b6c6ad8d4c0d16ff75564fac