This CL adds an FYI string under the battery graph to let users
know that their current estimate is coming from the enhanced
estimate provider when it is enabled.
Test: Robotests
Bug: 38399654
Change-Id: If5cd622ef0251a5a483cef870fc2261369e14845
Anomaly detail page is using the correct API but wrong parameters.
This cl fix it by specifying the correct userId.
Bug: 38306392
Test: RunSettingsRoboTests
Change-Id: If593bf8a7881a9eecbaa62858492878235d88397
Before this cl, it will re-calculate battery percentage once we get
anomaly data, which will add screen usage data twice. This cl make it
only update anomaly icon after the anomaly detection is done.
Bug: 62803379
Test: RunSettingsRoboTests
Change-Id: I2089646679e299fa948b1f3ed21f4a13a1317aa3
Update the title and summary for anomaly summary preference.
Bug: 62791930
Test: RunSettingsRoboTests
Change-Id: I30ac554f227904c102d0903505e3a99966f50581
This cl adds the following knobs:
1. bluetoothScanDetectionEnabled: whether to enable this detector
2. bluetoothScanThreshold: threshold about bt unoptimized scanning
time in background
Also add the default values for these knobs, which are:
1. bluetoothScanDetectionEnabled: true
2. bluetoothScanThreshold: 30 minutes
Bug: 36921532
Test: RunSettingsRoboTests
Change-Id: I7619453ebe3cc3f5a13b3bbd4fbf3b65a1f1d45c
This cl detects bt anomaly by using
BluetoothUnoptimizedScanBackgroundTimer. It will report anomaly
if total duration is longer than threshold.
Future cl will hook up the threshold to server side.
Bug: 36921532
Test: RunSettingsRoboTests
Change-Id: I5d6a42b2d2c4fec94387ca59ba8e6a2f3346d047
1. Use new API: getSubTimer().getTotalDurationMsLocked(), which returns
the wakelock running time in the background.
2. Add code to detect whether app is currently holding wakelocks, by
using API: getCurrentDurationMsLocked
Bug: 38233034
Test: RunSettingsRoboTests
Change-Id: If69b751acf5741ff8df2c905642c008a0a2b32e6
This cl adds a new parameter, mAnomalies, for
AdvancedPowerUsageDetail.
If it is null, fragment will start AnomalyLoader to detect anomaly.
If not null, just display the anomaly.
Bug: 36925180
Test: RunSettingsRoboTests
Change-Id: I572bc5954c1cdb210d18b6dbe1ab9dba25c0a61f
This cl adds the action active check for the following actions:
1. ForceStopAction: check whether app is stopped
2. BackgroundActivityAction: check whether background activity
is turned on
If related action is not active, we won't report anomaly
to users. Future cl will add active check for bluetooth anomaly.
Bug: 62452014
Test: RunSettingsRoboTests
Change-Id: Ib490227f4570accf8ca4840a99bf85a022c42a5b
1. Add dialog for background activity action
2. Use new strings in anomaly dialogs
Bug: 62490179
Test: RunSettingsRoboTests
Change-Id: Ide836a4aca939963bd3b15c6d728eed68a6d7f43
This flag is used to decide whether to show all the apps
(including system app, service..) in battery settings
Handle it in onCreate() and onSaveInstanceState()
Bug: 62422948
Test: RunSettingsRoboTests
Change-Id: I30c0d6e1e25902f1192fc2564aa09d635b5e0f4f
Merged-In: I30c0d6e1e25902f1192fc2564aa09d635b5e0f4f
This flag is used to decide whether to show all the apps
(including system app, service..) in battery settings
Handle it in onCreate() and onSaveInstanceState()
Bug: 62422948
Test: RunSettingsRoboTests
Change-Id: I30c0d6e1e25902f1192fc2564aa09d635b5e0f4f
1. If it is a normal app, show "Screen usage TIME"
2. If it is a hidden app, show "TIME"
Note that in this case the item screen will show "TIME"
Bug: 62422404
Test: RunSettingsRoboTests
Change-Id: Ie8d6caf998d18994ac158f0217109c0e5e9f92ba
Previously, projections were hard-coded in UsageGraph as lines from the
last known point to the corner of the graph. This change replaces that
with support for arbitrary projection curves. Logic for hiding/showing
the projection is now gone; if the client does not want a projection,
it simply does not supply one.
There are two active clients of this code: the data usage graph and the
battery usage graph. The data graph does not use projections and is
essentially unchanged. The battery graph now implements its linear
extrapolation directly in BatteryInfo.
Bug: 38400320
Test: make SettingsUnitTests SettingsGoogleUnitTests
Test: manual (screenshots in comments)
Change-Id: I754e66f6b18ecb8b936143399f8e9e3368fc1ce4
Before this cl, we use the first package name if there is a name
list in BatterySipper.
We should use BatteryEntry.defaultPackageName instead, which could
describle the batterysipper more accurately.
Bug: 62417935
Test: RunSettingsRoboTests
Change-Id: I44fa151c0cf8f14cba305f179c7e94e5bc3ce434
The items in the ListView for the Advanced battery usage screen should
not ripple when touched, since these items don't do anything.
Bug: 38019330
Test: make RunSettingsRoboTests
Change-Id: I987a770f0f146b02bbf947238be7490e8a170feb
This reverts commit c1e9f8787f.
Reason for revert: There is an issue when dropdown menu text has a '%' sign in it.
Despite testing it on my own devices, the bug did not show up immediately.
Instead of continuing down this path for OC, we'll just revert
this patch, and then as an ugly, band-aid solution, check the
summary text for the "%s" substring, and hide it when found.
In O-DR onward, we'll look for a more permanent solution.
Change-Id: Ia7a04bfb7b09c436dc0f13564f2134a1f0c436e2
Bug: 36101902
Fix: 62211676
This cl refactor it so:
1. AnomayLoader could create its own BatteryStatsHelper if needed.
2. AnomalyDetector could detect the anomaly with a target package name
3. Remove FeatureProvider in AnomalyLoader and use
AnomalyDetectionPolicy instead
With this cl, we could add anomaly detection to battery usage page
more easily.
Bug: 36924669
Test: RunSettingsRoboTests
Change-Id: I1ee09701de8b5c8855f44e447813760285794c89
If the enhanced estimate is being used in battery settings
it is now possible to long press on the text to have it display
both instead of the string that is normally used.
Adds another loader to enable this since it needs both the old
and the new estimates simultaneously.
Feature is hidden behind a feature flag that only googlers will
have enabled.
Test: robotests
Bug: 38399275
Change-Id: I5caf26513baada27efd50ddb0e72d3868da47150
In preparation for modifying the graph code to show detailed projections
(see bug), this change moves it into Settings along with related tests
and resources.
Bug: 38400320
Test: manual, make SettingsUnitTests, make SettingsGoogleUnitTests
Change-Id: I88e5336c15827727b3427e29b10954bba9cfba7d
- Apply entity header effect to battery summary screen.
- BidiWrap wifi ap name is it's correctly displayed in RLT languages
- Remove footer preference layout - settingslib already has one
Fix: 62039146
Fix: 62138362
Fix: 37920219
Test: make RunSettingsRoboTests
Change-Id: Idf1385ee40772c63075e5f81eb039c6da56256ab
1. Using "h" and "m" instead of "hrs" and "min"
2. Refactor the string to CharSequence so it won't have
TTS issue(i.e read "m" as "meter")
3. Update tests related to this part.
Bug: 37201139
Test: RunSettingsRoboTests
Change-Id: I9cadb511572b2d522d26ab337c171fa69da87475
this CL changes BatteryInfo methods to all use the async style
callback approach it had for one of the methods. Non-async methods
are now annotated to only be used in worker threads. BatteryInfo
can now be obtained via callback by calling one of the async
methods. Alternatively if there is a worker thread available
the synchronous methods similar to the old ones can be used.
The callback methods have all been changed so that they cascade to a
async method that takes all the required info as paremeters. This
will minimize the amount of churn in files that currently use
BatteryInfo.
A new loader was created that can be used to get BatteryInfo in
places that wish to get it. This loader is used in
PowerUsageSummary to get the BatteryInfo.
Test: Robotests
Bug: 38399275
Bug: 38398949
Bug: 38399654
Change-Id: Ic5a82d8ca4c85fad1b883226327ec083badf861d