Commit Graph

1451 Commits

Author SHA1 Message Date
jackqdyulei
238c1c000b Add batterysipper type check in PowerUsageFeatureProvider
This cl adds isTypeSystem to PowerUsageFeatureProvider and
changes isTypeService. After this cl, the following items will
be moved to advanced battery page:
1. Calendar Storage(Move to System)
2. MediaServer(Move to System)

Create this check in FeatureProvider to make sure this check
is flexible in different cases. Also refactor the PowerUsageSummary
to use same test fragment

Bug: 35629871
Bug: 35628690
Bug: 35317876
Test: RunSettingsRoboTest
Change-Id: I8c083cb2557a7e900aea01e682c13a000bacb7a9
2017-02-27 19:42:22 -08:00
Lei Yu
0497ee9731 Merge "Add NPE check for battery header update." 2017-02-27 17:56:24 +00:00
jackqdyulei
166d25abb1 Add NPE check for battery header update.
Battery header uses AsyncTask to update the label. So if user
press back button before the update completes, the "getContext()"
in AsyncTask callback will return null, which causes the crash.

It seems there is no good way to fix it expect adding a NPE check.

Bug: 35650224
Test: RunSettingsRoboTests
Change-Id: I7bd9fd87caa13614fe1896cf72557a09744691c1
2017-02-24 14:17:58 -08:00
jackqdyulei
906055e383 Add NPE check for screen and cellular update.
When battery is full of charge, usageList in BatteryStatsHelper
will be empty. As a result, we cannot find BatterySipper with
type screen and cell, which creates the null pointer error.

In this cl, I add NPE check for sipper. When sipper is null, all
data will be set to default value. I also add check for totalPower
so we won't have divided by zero error.

Bug: 35757789
Test: RunSettingsRoboTests
Change-Id: I80f3c0c542e0a50868e7c314a8d9b3c17999d8c6
2017-02-24 13:47:14 -08:00
TreeHugger Robot
82c108ab32 Merge "Remove refresh menu icon in battery settings" 2017-02-23 02:37:51 +00:00
jackqdyulei
3934722439 Add battery stats perference in battery settings page.
Add a preferenceGroup at the bottom of the page, which contains
Screen and Cell usage data.

Bug: 35305983
Test: RunSettingsRoboTests & Screenshot
Change-Id: Ida6e92ddbd7155ec974a2f04c6d6d02ab9dab210
2017-02-21 20:47:40 -08:00
jackqdyulei
9d5412f9ea Remove refresh menu icon in battery settings
Bug: 35645326
Test: RunSettingsRoboTests
Change-Id: I87f7da93cfb7a5ca46718de4acd33422fe42b9bf
2017-02-21 19:02:33 -08:00
jackqdyulei
5115265a50 Add toggle in menu to show/hide hidden apps
In the previous cl we hide unrelated apps and distribute hidden
battery usage among other apps. Now we add a toggle in menu to
show old power accounting as well.

Bug: 35366708
Test: RunSettingsRoboTests
Change-Id: I6918b7095cf84d9756ad3972ff50a62aeae1de0e
2017-02-21 16:00:20 -08:00
Lei Yu
aba2c95ae0 Merge "Refine battery text in battery header" 2017-02-21 18:40:53 +00:00
jackqdyulei
acc195fdde Add type service in settings advanced page.
Currently it only includes the gms service

Bug: 35317876
Test: RunSettingsRoboTests
Change-Id: I20a2a9d320efe4aed036552d450f59c89e81584a
2017-02-17 15:17:31 -08:00
jackqdyulei
e2fbdfefef Refine battery text in battery header
1. When there exists estimate time, show it, otherwise
show battery status label.
2. Change the summary based on whether it is charging.
(Estimated time left vs Time to full charge)

Bug: 35328749
Test: RunSettingsRoboTests
Change-Id: I64ee8acd248062b4effcfc58ed908be7d89621a3
2017-02-17 13:57:43 -08:00
TreeHugger Robot
309862d3b8 Merge "Make the list in advanced battery page sorted by usage." 2017-02-17 02:40:27 +00:00
jackqdyulei
22dbc106e7 Make the list in advanced battery page sorted by usage.
1. Make the preference dynamically generated in code
2. Make PowerUsageData comparable and add title resource id.

Bug: 34385770
Test: RunSettingsRoboTests
Change-Id: I1b90b4c6cc7107bc146e3554db04cec7641e1cde
2017-02-16 16:22:16 -08:00
Fan Zhang
c6ca314c0b Log source with visibility change
- Add a method in VisibilityLoggerMixin to log visible event using
  LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
  to next page.
- In next page's onResume(), extract the previous page's metricsCategory
  and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters

Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
2017-02-15 17:17:19 -08:00
Matthew Fritze
46173a5265 Remove extra IndexProviders that provided bad data.
Gesture Settings and Wireless settings were indexing
duplicate results that only added complexity to Search.
PowerUsageDetail was never supposed to be indexed.

Bug:33701673
Test: make RunSettingsRoboTests
Change-Id: I45d1fa4bd412c3418acec24f8c98eb4736f220ab
2017-02-15 00:36:25 +00:00
TreeHugger Robot
85de8ad126 Merge "Add BatteryMeterView in Settings" 2017-02-13 20:45:17 +00:00
jackqdyulei
51967c0e6a Add BatteryMeterView in Settings
1. Show gauge icon at the top of battery main page instead of
battery usage graph.
2. Move the click action from battery usage graph to gauge icon.

Bug: 34387464
Test: RunSettingsRoboTest

Change-Id: Ib182619d6805b401cde03a50e2ae907cf4df7b94
2017-02-13 11:03:07 -08:00
TreeHugger Robot
979cacd777 Merge "Distribute all the hidden items to apps" 2017-02-10 20:10:39 +00:00
jackqdyulei
ef48c131c7 Distribute all the hidden items to apps
1. Add screen check in the shouldHideSipper()
2. remove all the battery usage for hiddenSipper from
percentage calculation, in this way we can distribute
hidden sippers to all the apps

Bug: 35153599
Test: RunSettingsRoboTests
Change-Id: I82673b282c14c92269d7f8bc71e07de90a37720c
2017-02-09 09:43:43 -08:00
Lei Yu
a62b49611e Merge "Create Advanced battery page" 2017-02-08 20:33:35 +00:00
Antony Sargent
c475c8be5e Add a missing @Override annotation
Test: none (no functional changes)

Change-Id: Ia91a15d9ca52d953c657278ea02ce0d1586ce0a0
2017-02-06 15:28:26 -08:00
jackqdyulei
a224b010b9 Create Advanced battery page
The advanced page shows two major parts, one is the battery usage
graph and the other is battery usage list. In usage list, each item
shows basic info of battery usage of one type(e.g. Apps, System)

Bug: 34385770
Test: RunSettingsRoboTests

Change-Id: I22475a489285787afa775af8d5ae3340eff1eed9
2017-02-06 13:44:59 -08:00
jackqdyulei
3ee22131a4 Add summary for items in App Usage List in Battery page
This summary shows the active time of the app. For example
"Used for 27m".

Bug: 34467139
Test: RunSettingsRoboTests & Take screenshots
Change-Id: I0ef48427ad21be4dacd290fffb2c5d519ef58506
2017-01-27 14:15:38 -08:00
TreeHugger Robot
a40d72b9e9 Merge "Making "Battery Saver" use MasterSwitchPreference." 2017-01-25 19:31:29 +00:00
jackqdyulei
66cce1f9e9 Making "Battery Saver" use MasterSwitchPreference.
By using MasterSwitchPreference, we make "battery saver" to have
two parts: left part is the clickable summary jumping to other
fragment while right part is a switch toggle.

Also remove the previous battery saver preference.

Bug: 34279051
Test: RunSettingsRoboTests

Change-Id: If36fa9741e413a9bbdd57fa67a2c15b6e457afd7
2017-01-24 17:34:14 -08:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
TreeHugger Robot
6a03a92e42 Merge "Add power management settings into Settings->Battery" 2017-01-23 21:07:30 +00:00
jackqdyulei
722fc818c7 Add power management settings into Settings->Battery
The items been added to group are: Adaptive brightness, Sleep.
Battery saver has been moved into this group as well.

Also refactor the code a little bit to make it fit the
preferenceController. Whole refactor of PowerUsageSummary and
PowerUsageDetail will be tracked in b/34386721

Bug: 34279051
Test: runSettingsRoboTests & Screenshot
Change-Id: I702d8479d1b80f7e9cf1a46752c75bf5d189e0f6
2017-01-23 10:20:07 -08:00
jackqdyulei
aedeb71d84 Distribute battery cost of screen to all the other apps.
It doesn't make sense to show battery cost of "SCREEN". In this cl, I
attribute this cost to all the other apps/services.

Bug: 34390125
Test: RunSettingsRoboTests
Change-Id: Ia6ff39d5fa21eacf1ff97a28e2ff59d1cf169885
2017-01-20 18:42:26 -08:00
Lei Yu
589bb08f49 Merge "Remove OS items in battery main page." 2017-01-20 17:59:35 +00:00
jackqdyulei
51db61dcd5 Remove OS items in battery main page.
We want to hide the OS items from battery usage page and let users
focus on the items that they can control.

Currently the hidden items are:
Android OS, Android System, Phone idle, Cell Standby

Bug: 34274844
Test: RunSettingsRoboTests & screenshots
Change-Id: I75165376d5038b6ec17a7b73ae3c5fcd24753fa9
2017-01-19 13:49:26 -08:00
Fyodor Kupolov
2328946b58 Tron metrics for special permissions
Added tron metrics for the following special permissions:
Battery optimisation
 - APP_SPECIAL_PERMISSION_BATTERY_ALLOW
 - APP_SPECIAL_PERMISSION_BATTERY_DENY
Device administrators
 - APP_SPECIAL_PERMISSION_ADMIN_ALLOW (when checked)
 - APP_SPECIAL_PERMISSION_ADMIN_DENY (when unchecked)
Do not disturb access
 - APP_SPECIAL_PERMISSION_DND_ALLOW
 - APP_SPECIAL_PERMISSION_DND_DENY
Daw over other apps
 - APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
 - APP_SPECIAL_PERMISSION_APPDRAW_DENY
VR helper services
 - APP_SPECIAL_PERMISSION_VRHELPER_ALLOW
 - APP_SPECIAL_PERMISSION_VRHELPER_DENY
Modify system settings
 - APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
 - APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY
Notification access
 - APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW
 - APP_SPECIAL_PERMISSION_NOTIVIEW_DENY
Premium SMS access
 - APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW
 - APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK
 - APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY
Unrestricted data access
 - APP_SPECIAL_PERMISSION_UNL_DATA_ALLOW
 - APP_SPECIAL_PERMISSION_UNL_DATA_DENY
Usage access
 - APP_SPECIAL_PERMISSION_USAGE_VIEW_ALLOW
 - APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY

Test: Manual + make RunSettingsRoboTests
Bug: 31008660
Change-Id: Id977e2c9f5aa811a2b0af036372b72c684621435
2017-01-18 10:54:19 -08:00
TreeHugger Robot
8b664ed96f Merge "Add the key extraction method in PowerUsageSummary" 2016-12-27 19:54:03 +00:00
jackqdyulei
717838d3b0 Add the key extraction method in PowerUsageSummary
This cl is to fix the preference flicker issue. The main reason is
that we cannot find cached preference because of the inconsistent
search key. The search key is calculated without considering
uidObj, but the key in preference(aka changed preference) maybe
changed later based on the existence of uidObj. So when we search
the changed preference using the wrong key, we won't get it even
though it exists in the cache.

In my cl, I group two parts(search key calc + considering uidObj)
together in a method to extract the key.

Bug: 33663705
Test: make RunSettingsRoboTests
Change-Id: I2ca0c558ffc0d49ed9576321ecbc02542b568d65
2016-12-22 09:43:34 -08:00
TreeHugger Robot
2f97111d8a Merge "Align more prefs for icon space." 2016-12-22 00:29:06 +00:00
Fan Zhang
ac81f26e30 Align more prefs for icon space.
Bug: 33775510
Fixes: 33798492
Test: Visual
Test: RunSettingsRoboTests

Change-Id: I9b296e4148be8c1ae537b6418b4f384bbc63a8db
2016-12-21 11:20:24 -08:00
Fan Zhang
8af4c10476 Revert "Align more prefs for icon space."
Bug: 33798492
This reverts commit ded9fc9b07.

Change-Id: I9831858ffda263496617dff29249e243c007fa12
2016-12-21 17:03:00 +00:00
Jaewoong Jung
6a43a06cac Implements additional battery info menu behavior.
Bug: 33352540
Test: Updated existing tests.
Change-Id: I990029d2ea9032301362d614959259965b8ecb10
2016-12-20 19:17:16 -08:00
Fan Zhang
ded9fc9b07 Align more prefs for icon space.
- Extend preference_category to support summary text
- Removed work_profile_category, used by account list
- align prefs in storage settings
- Use Preference instead of PrefScreen in xmls
- Use proper footer preference in NightDisplaySettings, BatterySaver,
  DataSaver, AutomaticStorageManage
- Remove WallOfTextPreference

Bug: 33775510
Test: visual
Change-Id: I28156b857ff5acac8746c42384dc03d5997ebd9d
2016-12-20 13:24:31 -08:00
Jaewoong Jung
12010156ab Merge "Adds a menu item for additional battery info to battery settings." 2016-12-16 22:05:21 +00:00
Jaewoong Jung
1e0f8ff5e5 Adds a menu item for additional battery info to battery settings.
Bug: 33352540
Test: No additional test failures.

Change-Id: Ibfc1a9463c93d3c087ed712fe45d3d0717472c6a
2016-12-16 12:25:32 -08:00
Zhendong Yang
b521aeb9f7 Merge "Fix crash when rotating HighPowerDetail dialog" am: 783ff43769 am: 7598c6201d am: 8711f4055d
am: 8c9e3db8d9

Change-Id: Ib6d620f89225a8258b1671d206bb617e5d1bf56f
2016-12-14 06:00:07 +00:00
Zhendong Yang
cb911e3402 Fix crash when rotating HighPowerDetail dialog
When rotating the device, the Activity of the target
Fragment become null. So NullPointerException occurs.
The dialog should check if the Activity is null
before calling onActivityResult().

Bug: 28333723
Test: manual - go to Settings > Apps > Clock,
               click Battery optimization and rotate device

Change-Id: I7f68d6ece7d169fd96d04c1788e55ee506aae1ae
2016-12-12 20:55:40 +09:00
Bartosz Fabianowski
05061fced3 Add Enterprise Privacy page to Settings
This adds a new page to Settings which tells the user about his/her
privacy in light of enterprise management. The new page is only shown
on devices that have a Device Owner app set.

This CL adds a mostly blank page. Follow-up CLs will populate the page
with information about specific admin actions/policies.

The page's title ("Privacy"), icon and location in the Settings app are
tentative. The page will move to its final location once the new IA
redesign is finished.

Test: make RunSettingsRoboTests
BUG: 32692748

Change-Id: I5b5c08c0025207516b0779f54cf68234a4ba3fe4
2016-11-14 12:04:49 +01:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Fan Zhang
fdb833873a Use new app header in more screens.
- This covers app data usage settings, power usage details
- Addded helper method on AppHeaderController to build the header as
  Preference because every fragment needs to do this anyway.

Bug: 32442716
Test: RunSettingsRoboTests

Change-Id: I6d38321b867154f8fb5194b993d118bcdbbfedc9
2016-10-28 17:16:39 -07:00
Sundeep Ghuman
39f552eb91 Fix App name and icon in Settings Battery details.
Set correct defaultPackageName and Label for Apps in BatteryEntry.java
so PowerUsageDetails will show the correct information.

Bug: 24187923
Fixes: 24187923
Test: Open Settings, click on Apps, select any app. Note the name and
icon on the Header. Click the Battery item. The app name and icon should
match that of the previous name, as opposed to showing the package name
and default Android icon.
Change-Id: I7b6c3b404fcd298c6670cceecd29915abd325d1f
2016-10-21 16:29:29 -07:00
Fan Zhang
1e516287bd Add visibility metrics to dialogs.
Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
2016-09-19 17:34:12 -07:00
jackqdyulei
348bcc1e81 Add the interface to check the status of location setting.
Bug: 30790766
Test: ag/1346969

Change-Id: Id6de284ba90f75015372dbe28805bdc0d94a0723
2016-08-31 12:54:17 -07:00
Salvador Martinez
d4a6768880 Disabled BSM mode switch when plugged in
Battery Saver mode can no longer be toggled
when the device is plugged in. Additionaly,
A content description was added to the switch
so that talkback says something when it is single
tapped.

Bug: 30083279
Change-Id: Id901598dbe13c443cae0b32769a2e3ef50428c08
(cherry picked from commit b9ab480a29)
2016-08-19 17:59:27 +00:00