This change is to update the related UI in the battery page if the
battery is not present. This includes the following updates:
1. Update the summary of battery tile in the Settings homepage
2. Replace the battery level with "Unknown"
3. Replace the summary with help message in the battery page
4. Remove the battery meter icon
Bug: 171368508
Test: verify on an issue device
Change-Id: I892e0d137143160a0bce0c11ce9265120ebb8fd4
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Add a type for battery receiver, then in callback client know for
which reason it been invoked:
1. battery level change
2. battery saver state change
3. battery plug state change
So in this CL, we won't update battery tip for battery level change,
then battery tip won't be dismissed by itself.
Also note in onResume() we will manually update battery tip. So if
user stay in battery settings page and close the screen, once he opens
it we will still force update everything.
Fixes: 79171742
Test: RunSettingsRoboTests
Change-Id: I997844216fd8267e545d74e0d434de9e338f76a1
This cl makes BatteryBroadcastReceiver also listen to update about
battery saver.
Bug: 70530651
Test: RunSettingsRoboTests
Change-Id: I76b2f1b1047aa195ee9d8ff2a8a330cea31039d4
In PowerUsageBase, it will store battery stats if it has a configuration
change, which will make BatteryStatsLoaderHelper never get the correct
battery stats because it uses Bundle.EMPTY as the bundle message.
This cl:
1. Remove the store action even though it is configuration change.
2. Always use null to get battery stats
3. Always start a battery status check in register()
Bug: 63658232
Test: RunSettingsRoboTests
Change-Id: Ifbf970c63378ed66dddcdae4d952b7d1fd84216a
Before this cl, the battery text in SettingsActivity is one time
update, won't refresh based on real battery status.
This cl elicits BatteryBroadcastReceiver from PowerUsageBase and
make it reusable in both SettingsActivity and battery page.
BatteryBroadcastReceiver will invoke callback if:
1. Battery level changed on integer level(100->99)
2. Battery status has changed(i.e. charging)
Bug: 29346753
Test: RunSettingsRoboTests
Change-Id: If522d15a700ccbc8bae24f5712e05ec27ea4cbfa