Commit Graph

222 Commits

Author SHA1 Message Date
Andrew Sapperstein
fedae393ef Duplicate ambient display setting in battery settings.
Also fixed a bug where ambient display was duplicated
in search results.

Change-Id: Iacdb53c70e90f8240da1ed9acec7e382ed1df5de
Fixes: 62298578
Test: robotests
2017-07-07 13:07:54 -07:00
Alex Kulesza
f30915e860 Make utility methods static. am: 43d4fefb36
am: cc56b1aa04

Change-Id: Ia1ebdff4fcd82f829e90f76bf7d49b0adbc8febc
2017-07-06 01:36:33 +00:00
Alex Kulesza
43d4fefb36 Make utility methods static.
BatteryUtils.convertUsToMs and .convertMsToUs should be static, and now
they are.

Bug: 63347148
Test: make RunSettingsRoboTests
Change-Id: If652e2d3e1260df9a933805d7da670fbb26b2c25
2017-07-05 18:53:22 -04:00
jackqdyulei
051fb19dd4 Merge "Add quickUpdate method to BatteryHeaderPrefCtrl" into oc-dr1-dev am: 7ea8ecdae1
am: fc55a3cef1

Change-Id: I7d23a1bab37417064a1ffc358f9856d711426c19
2017-06-28 17:20:04 +00:00
TreeHugger Robot
7ea8ecdae1 Merge "Add quickUpdate method to BatteryHeaderPrefCtrl" into oc-dr1-dev 2017-06-28 17:08:46 +00:00
jackqdyulei
19648756cb Add quickUpdate method to BatteryHeaderPrefCtrl
This cl adds a method called quickUpdateHeaderPreference, which will
update the following items immediately without waiting for the
BatteryInfo:
1. Battery level
2. Battery charging status(whether to show lighting bolt)
3. Clear the charging summary

Note: this cl doesn't optimize the BatteryInfo loading time.

This cl also rename "TimeText" to "BatteryPercentText" because in
new UI that textview is used to display battery percentage.

Bug: 63029231
Test: RunSettingsRoboTests
Change-Id: I8cc886b35e937d73b46e47e303ff0994ccdcb61c
2017-06-27 13:35:41 -07:00
jackqdyulei
8ce27bc37c resolve merge conflicts of 758b2d4ae6 to master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ic82e244ad1485bdd1f73cff628e0e343bfdb1c53
2017-06-26 18:30:40 -07:00
TreeHugger Robot
da45ba8c9e Merge "Hide misc in battery settings" into oc-dr1-dev 2017-06-26 19:52:55 +00:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
jackqdyulei
d856294bf1 Hide misc in battery settings
Hide it in any condition:
1. both in app usage list and device usage list
2. in all targets(i.e. user, userdebug..)

Bug: 62422405
Test: RunSettingsRoboTests
Change-Id: I36bd043942ce7e2353163868bf6d86f422f8e7ee
2017-06-26 10:36:05 -07:00
Andrew Sapperstein
466a3f6faa Remove PowerUsageFeatureProvider.isAnomalyDetectionEnabled
Instead, this decision is being handled via AnomalyDetectionPolicy.

Change-Id: I5b1831c78e31e3be984dda07bcea9f0b0a25d52f
Fixes: 62871629
Test: robotests
2017-06-23 14:32:22 -07:00
Salvador Martinez
cb9c53dd7c Fix BatteryInfo using enhanced estimate for charge time
Due to a typo in BatteryEstimates the enhanced estimate we use
for discharging would also be used for charging. This CL corrects
the typo and adds a simple test to catch a similar mistake in the
future. We were also always loading the enhanced estimate even when
we were not using it. As a ~*bonus*~ it should also help improve
the speed of the charging use case for this screen and fixes an
issue with the battery not switching to the charging icon in the
main battery page.

Test: robotest
Bug: 62738028
Bug: 62873396
Bug: 62784575
Bug: 62736144
Change-Id: Ib2cbdeea22afb7da590b701b84f526bdac243410
2017-06-22 09:42:36 -07: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
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
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
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
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
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
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
f43f4c3131 Merge "Move BatteryInfo to settings from settingslib" 2017-06-01 20:16:42 +00:00
Salvador Martinez
0e8c88376c Move BatteryInfo to settings from settingslib
This CL simply moves BatteryInfo from settingslib to settings and
makes sure the tests still pass. No other changes are made other than
imports or minor changes needed to make sure existing code does not
break.

Test: Robotests still pass
Bug: 38399275
Bug: 38398949
Bug: 38399654
Change-Id: I59803348e2780b7676ccc6c43234a586c184d71f
2017-06-01 11:34:08 -07:00
jackqdyulei
5fefa5337e Don't index High usage summary
Because the strings inside are dynamic

Bug: 62069270
Test: RunSettingsRoboTests still pass
Change-Id: I744179bef89cfaff403f9ce65fcfc0f03c04350b
2017-06-01 11:28:36 -07:00
jackqdyulei
de3bb7194d Add method to calculate last full charge time
Bug: 38481300
Test: RunSettingsRoboTests
Change-Id: Icd551921f263352eb01d0c6ada62d277c8699507
2017-05-30 15:51:29 -07:00
jackqdyulei
03539a07e4 Add method to calculate last full charge time
Bug: 38481300
Test: RunSettingsRoboTests
Change-Id: Icd551921f263352eb01d0c6ada62d277c8699507
2017-05-26 13:21:42 -07:00
TreeHugger Robot
f68bb7e75c Merge "Sort app list after smeared on screen" into oc-dev 2017-05-25 22:41:00 +00:00
jackqdyulei
f984b1e1ae Sort app list after smeared on screen
Then we could make sure the app list is sorted

Bug: 62035385
Test: RunSettingsRoboTests
Change-Id: I3fa3d6ffc5930cf011e382632143e459fdbc4369
Merged-In: I3fa3d6ffc5930cf011e382632143e459fdbc4369
2017-05-25 10:09:05 -07:00
TreeHugger Robot
f688c5612c Merge "Sort app list after smeared on screen" 2017-05-25 02:25:41 +00:00
TreeHugger Robot
2cd55c1255 Merge "Misc fixes to search and UI." 2017-05-24 01:25:16 +00:00
TreeHugger Robot
987ee5338a Merge "Split loading process for battery header" into oc-dev 2017-05-24 01:22:25 +00:00
jackqdyulei
07894014d5 Merge "Update the strings for "show all apps"" into oc-dev am: 4e0f69c10c
am: 6870de6772

Change-Id: I184acec76978463b3d62a6eedadd456ee6fa7a89
2017-05-24 01:01:41 +00:00
jackqdyulei
7932484fa9 Sort app list after smeared on screen
Then we could make sure the app list is sorted

Bug: 62035385
Test: RunSettingsRoboTests
Change-Id: I3fa3d6ffc5930cf011e382632143e459fdbc4369
2017-05-23 17:36:47 -07:00
jackqdyulei
4a7c8d7125 Split loading process for battery header
This cl creates BatteryHeaderPreferenceController, which will first
load the battery level in ui thread(in displayPreference()), then
display the remaining time once we get the battery stats.

This is the best we can do to avoid ui flashing while removing the
animation

Bug: 38349587
Test: RunSettingsRoboTests

Merged-In: Ic3622bb73562ba42e69b37e5674a724c03c45f12
Change-Id: Ic3622bb73562ba42e69b37e5674a724c03c45f12
2017-05-23 16:21:33 -07:00
jackqdyulei
3b1a964629 Update the strings for "show all apps"
Bug: 38328724
Test: Screenshot
Change-Id: If48ff26f691795dcf206346af6a9a0be62bbf733
2017-05-23 15:17:41 -07:00
Fan Zhang
82be5f0c3f Misc fixes to search and UI.
- Use prefContext to create preference.
- rename "Gestures" to "Gesture shortcuts"
- Add search keyword to individual gesture settings so when search
  "gesture" they also show up.
- call super() for all getNonIndexableKeys() in search provider

Fix: 38327387
Fix: 36621897
Fix: 36685646
Test: make RunSettingsRoboTests

Change-Id: Ia5ddfeae08cb27c278dfb8d2376594e21d8f283c
2017-05-23 14:55:23 -07:00
jackqdyulei
605dbc66be Split loading process for battery header
This cl creates BatteryHeaderPreferenceController, which will first
load the battery level in ui thread(in displayPreference()), then
display the remaining time once we get the battery stats.

This is the best we can do to avoid ui flashing while removing the
animation

Bug: 38349587
Test: RunSettingsRoboTests

Change-Id: Ic3622bb73562ba42e69b37e5674a724c03c45f12
2017-05-23 13:22:42 -07:00
jackqdyulei
495de548bd Add wakeup alarm anomaly detector
Wakeup alarm count frequent is calculated by a / b, where
1. a: the total wakeup alarm count since the last full charge
2. b: total time running since last full charge
(include sleeping time)

This cl also has the following changes:
1. Move bunch of methods to BatteryUtils
2. Create type WAKEUP_ALARM
3. Add and update tests

Upcoming cl will make sure we get the threshold from
AnomalyDetectionPolicy

Bug: 36921529
Test: RunSettingsRoboTests
Change-Id: I4f7b85606df68b6057f6c7d3f3be7f9a9a747f1d
2017-05-23 09:49:14 -07:00
Salvador Martinez
6976ccecee Merge "Use enhanced estimate battery info when available" 2017-05-23 03:28:32 +00:00
TreeHugger Robot
161571617b Merge "Revert "Add animation for battery asyncLoader."" into oc-dev 2017-05-23 01:49:23 +00:00
Salvador Martinez
be6f07045a Use enhanced estimate battery info when available
This CL updates the battery page to get the updated strings and
other relevant battery info from directly from SettingsLib by
providing it an overrided drain time instead of manually changing
the value in the returned info. This will provide the added benefit
of using the new strings when appropriate that tell the user that
the estimate provided is based on their usage.

Test: robotests
Bug: 38399659
Change-Id: I0db572c2ea78910756314b6bf066d37e9f90a15c
2017-05-22 18:06:29 -07:00
Lei Yu
78684dc049 Revert "Add animation for battery asyncLoader."
This reverts commit a3c528f64d.

Test: Build
Change-Id: Ib50221873e39dee40c5cf8e4b41dcf7aa13f6134
Merged-In: Ib50221873e39dee40c5cf8e4b41dcf7aa13f6134
2017-05-22 16:49:55 -07:00
Lei Yu
e1441c63ee Revert "Add animation for battery asyncLoader."
This reverts commit a3c528f64d.

Test: Build
Change-Id: Ib50221873e39dee40c5cf8e4b41dcf7aa13f6134
2017-05-22 14:33:24 -07:00
TreeHugger Robot
b287dc93d5 Merge "Skip cursor loader if not needed" 2017-05-18 20:28:52 +00:00
jackqdyulei
b5219ba29a Merge "Add screen usage string for battery settings" into oc-dev am: 28cf04d994
am: 3ab2ca5cc9

Change-Id: Iaca27db0a637de88c09a45d88f35db258783fa16
2017-05-18 19:35:27 +00:00
TreeHugger Robot
28cf04d994 Merge "Add screen usage string for battery settings" into oc-dev 2017-05-18 19:10:16 +00:00
Salvador Martinez
44b9a4072c Skip cursor loader if not needed
The cursor loader was being started when the battery prediction
feature was not enabled. This could lead to null pointers because
it was not possible to provide it with a valid URI which would
make the CursorLoader unhappy. This CL makes it so we just skip
the CursorLoader initialization entirely when we know the feature
is disabled so we don't have this issue. It also includes a test
to make sure this does not regress.

Test: Robotests
Bug: 38371686
Change-Id: I4f6f6278bbc16668bca0b51fcc7e30f27a9e216f
2017-05-18 11:10:18 -07:00