Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
This method is used to check whether data in battery tip is still
valid. If not, try recover the data or dismiss the tip.
Change-Id: Idc9e4d49f99e33d3f5e82e694dc78227fc1da41c
Fixes: 111218723
Test: RunSettingsRoboTests
When restrict tip update, we should also update app list unless it goes
from NEW to INVISIBLE. After that it won't show "0 apps been
restricted".
Change-Id: Iedf4288fcddfe632a9ba8c16afdfb5bc044bce2e
Fix: 79890132
Test: RunSettingsRoboTests
When there is configuration change(icicle is not null), still
force update all suggestion except app restriction.
App restriction is not stateless: state HANDLED only happens when
there is anomaly and it disappear in next cycle. So we should only
update it when necessary.
Change-Id: Ifb7a1c477962a0c78b5455a5fbc078590fd408f2
Fixes: 77973093
Test: RunSettingsRoboTests
1. When device is rotated, don't update the battery tip
2. When user go back to battery main page from other page, start
battery tip update process
3. In RestrictAppTip, if there aren't restricted apps anymore,
hide the tip.
Bug: 74467010
Test: RunSettingsRobotests
Change-Id: I300bcc5b487d587f6618e340ac074fe416dcc1b2
This cl updates the strings in several battery
settings pages and dialogs, also add footers
for battery manager page and restrict app page.
Update the strings in battery settings except:
1. Summary for smart battery toggle
2. "Full charge lasts"
3. Restrict dialog
4. App info page
Bug: 73018395
Test: RunSettingsRoboTests
Change-Id: I4955cc7c19b5f1df18f21cfb47e8859c997e19d1
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