Commit Graph

1451 Commits

Author SHA1 Message Date
Salvador Martinez
cbefbc261f Add info string to advanced battery usage page
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
2017-06-20 18:37:49 -07:00
Lei Yu
50062193c4 Merge "Update anomaly High usage" into oc-dr1-dev 2017-06-21 01:03:42 +00:00
Lei Yu
65afc6f86b Merge "Only update anomaly icon in AnomalyLoader" into oc-dr1-dev 2017-06-21 00:51:31 +00:00
jackqdyulei
23f388076d Make icon in Anomaly detail page have badge.
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
2017-06-20 16:01:17 -07:00
jackqdyulei
9d0d6e4fcc Merge "Hide wifi and bt in battery settings" into oc-dev
am: 05777a7918

Change-Id: If676ec0119bebed800727f618225fd355e9da74f
2017-06-20 22:55:47 +00:00
jackqdyulei
27792b2356 Only update anomaly icon in AnomalyLoader
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
2017-06-20 13:53:46 -07:00
jackqdyulei
d10608dfbb Hide wifi and bt in battery settings
Hide them in app usage list but don't smear them

Bug: 62787787
Test: RunSettingsRoboTests
Change-Id: I43c15ea8a2b32f293eb859f3fead8666e45674ef
2017-06-20 13:44:52 -07:00
jackqdyulei
853ab1f891 Update anomaly High usage
Update the title and summary for anomaly summary preference.

Bug: 62791930
Test: RunSettingsRoboTests
Change-Id: I30ac554f227904c102d0903505e3a99966f50581
2017-06-20 11:40:29 -07:00
jackqdyulei
72c3275a66 Refine Anomaly detail page
1. Fix the layout issue(title not vertical horizontal)
2. Add subtitle for anomaly

Bug: 36924669
Test: RunSettingsRoboTests
Change-Id: I9b3627f09bbe37b104644d203ff8924f0faaea47
2017-06-20 11:37:55 -07:00
Lei Yu
43ea43a6e5 Merge "Hook up bt related knobs to AnomalyDetectionPolicy" into oc-dr1-dev 2017-06-19 21:16:04 +00:00
TreeHugger Robot
37da099df1 Merge "Add anomaly detector for unoptimized bt scanning" into oc-dr1-dev 2017-06-19 21:13:05 +00:00
jackqdyulei
b96906a082 Hook up bt related knobs to AnomalyDetectionPolicy
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
2017-06-19 11:15:21 -07:00
jackqdyulei
ec8e127ed3 Add anomaly detector for unoptimized bt scanning
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
2017-06-19 11:12:36 -07:00
Lei Yu
e2530c2f62 Merge "Update wakelock detector" into oc-dr1-dev 2017-06-16 20:30:37 +00:00
Lei Yu
b275471725 Merge "Display anomaly in battery usage page" into oc-dr1-dev 2017-06-16 16:55:53 +00:00
jackqdyulei
c2baa2947a Update wakelock detector
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
2017-06-15 11:37:28 -07:00
jackqdyulei
3fb054f3d3 Display anomaly in battery usage page
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
2017-06-15 10:44:34 -07:00
TreeHugger Robot
e7735b8d52 Merge "Add action active check for anomaly action." into oc-dr1-dev 2017-06-13 22:36:06 +00:00
jackqdyulei
9453e89aca Add action active check for anomaly action.
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
2017-06-13 13:23:46 -07:00
jackqdyulei
bf4a2a1afe Update dialogs for anomaly
1. Add dialog for background activity action
2. Use new strings in anomaly dialogs

Bug: 62490179
Test: RunSettingsRoboTests

Change-Id: Ide836a4aca939963bd3b15c6d728eed68a6d7f43
2017-06-09 15:14:28 -07:00
Antony Sargent
6a5f36a494 Merge "Set advanced battery usage items as non-selectable" into oc-dev
am: d77b699e60

Change-Id: Ib647c80d06ed0cda957759f0250277531ac46f13
2017-06-09 15:49:10 +00:00
Antony Sargent
d77b699e60 Merge "Set advanced battery usage items as non-selectable" into oc-dev 2017-06-09 15:41:27 +00:00
TreeHugger Robot
4f02eebab8 Merge "Make flag "showAllapps" persistent in PowerUsageSummary" into oc-dev 2017-06-09 08:29:57 +00:00
jackqdyulei
82fcadad65 Make flag "showAllapps" persistent in PowerUsageSummary
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
2017-06-08 21:49:15 -07:00
TreeHugger Robot
4c4e780577 Merge "Make flag "showAllapps" persistent in PowerUsageSummary" into oc-dr1-dev 2017-06-09 04:39:41 +00:00
jackqdyulei
6525053801 Merge "Update subtitle for apps in battery settings" into oc-dev
am: 031b90541f

Change-Id: Ia0581b295824b73ef36f931066b883cff51fc0e9
2017-06-09 02:57:46 +00:00
TreeHugger Robot
031b90541f Merge "Update subtitle for apps in battery settings" into oc-dev 2017-06-09 02:53:36 +00:00
jackqdyulei
f9a5c39c4c Make flag "showAllapps" persistent in PowerUsageSummary
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
2017-06-08 19:20:05 -07:00
TreeHugger Robot
bf9cb113c1 Merge "Implement general projection curve support for UsageGraph." into oc-dr1-dev 2017-06-08 23:23:01 +00:00
jackqdyulei
dcea4e894e Update subtitle for apps in battery settings
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
2017-06-08 12:52:48 -07:00
Lei Yu
377907ebad Merge "Add debug data in AnomalyLoader" into oc-dr1-dev 2017-06-08 17:59:34 +00:00
Alex Kulesza
c57ceaaa8c Implement general projection curve support for UsageGraph.
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
2017-06-08 16:59:14 +00:00
jackqdyulei
0d889079af Merge "Use default package in BatteryEntry" into oc-dev
am: f5f51c4cf2

Change-Id: Ic97c8e2020f642cf7abba063e194796afe85bb58
2017-06-08 02:14:25 +00:00
jackqdyulei
c3694e425e Add debug data in AnomalyLoader
Bug: 62299540
Test: RunSettingsRoboTests
Change-Id: Id20db9fc0da8e090385caa982f2fb5a6fa0b2f38
(cherry picked from commit 5753e6d97e)
2017-06-08 00:12:43 +00:00
jackqdyulei
a64839b59d Use default package in BatteryEntry
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
2017-06-07 13:20:47 -07:00
Antony Sargent
e28dfea13b Set advanced battery usage items as non-selectable
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
2017-06-06 17:12:17 -07:00
TreeHugger Robot
b424cf771b Merge "Refactor anomaly detection" 2017-06-06 19:44:19 +00:00
Matthew Fritze
84ef9daa4f Merge "Revert "Revert "Revert "Replace dynamic summary text for SettingPref"""" into oc-dev am: b8028f63ec
am: 64736b6ae1

Change-Id: I7267309d17ae503144eb11789888937af6c8a0e1
2017-06-06 18:13:41 +00:00
TreeHugger Robot
b8028f63ec Merge "Revert "Revert "Revert "Replace dynamic summary text for SettingPref"""" into oc-dev 2017-06-06 17:44:23 +00:00
Matthew Fritze
ed761c4e74 Revert "Revert "Revert "Replace dynamic summary text for SettingPref"""
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
2017-06-06 17:20:30 +00:00
jackqdyulei
e3e8bd6317 Refactor anomaly detection
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
2017-06-05 19:35:22 -07:00
TreeHugger Robot
90ef8cea69 Merge "Add ability to see both battery estimates on long press" 2017-06-06 01:58:17 +00:00
Salvador Martinez
f4727ea07f Add ability to see both battery estimates on long press
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
2017-06-05 16:26:32 -07:00
Alex Kulesza
c661098ab8 Move UsageGraph from SettingsLib to Settings.
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
2017-06-05 15:43:18 -04:00
Fan Zhang
fe23da579d Misc layout fixes
- 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
2017-06-05 11:25:49 -07:00
jackqdyulei
214372be19 Use new time format in BatteryInfo
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
2017-06-02 15:15:16 -07:00
TreeHugger Robot
d2cf668700 Merge "Make BatterySettings Asynchronous and use enhanced estimate" 2017-06-02 02:48:23 +00:00
Salvador Martinez
9cfa7720f4 Make BatterySettings Asynchronous and use enhanced estimate
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
2017-06-01 18:03:53 -07:00
TreeHugger Robot
db42c2650d Merge "Don't index High usage summary" 2017-06-02 00:41:12 +00:00
TreeHugger Robot
31d5b3de6f Merge "Add strings in battery usage page" 2017-06-01 23:38:43 +00:00