Commit Graph

1269 Commits

Author SHA1 Message Date
jackqdyulei
f1213365fc Unrestrict SMS/PHONE app if it been set active
If an app been set default SMS/PHONE app, we need to unrestrict this
app. This CL extract a common function and invoke it when necessary.

Change-Id: Id29c5138438aa6f6f22cdd9c4ecf336de8481782
Fixes: 80305978
Test: robotests
2018-07-18 12:32:34 -07:00
jackqdyulei
35015741b2 Hook up anomaly active hour to BatteryTipPolicy
So we can control it from server side.

Bug: 80192137
Test: RunSettingsRoboTests
Change-Id: Ic9a4db44029bdcd7e45f4f9fb6b7d71c8c07c429
2018-07-17 15:42:52 -07:00
jackqdyulei
5918cd5ff9 Move anomaly code to BatteryTipUtils
Then we could reuse it across settings.

Bug: 74529048
Test: robo test that cover each components still pass
Change-Id: Ied0bbc6e6a1dca9628c2c084c3284ffab2f85160
2018-07-17 12:42:57 -07:00
jackqdyulei
dd9b8af6b9 Remove the anomaly detection added in O-DR
1. Remove unused class and resources
2. Update function in AdvancedPowerUsageDetail since
we don't need pass in anomaly anymore

Change-Id: I96fbe5ddaae902b34b756c7aae0338e49afef1f3
Bug: 74529048
Test: 1. manual test in settings page. 2. robo test still pass
2018-07-17 12:42:43 -07:00
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Lei Yu
b07d1f34c6 Add sanity check method for BatteryTip
This method is used to check whether data in battery tip is still
valid. If not, try recover the data or dismiss the tip.

Change-Id: Idc9e4d49f99e33d3f5e82e694dc78227fc1da41c
Fixes: 111218723
Test: RunSettingsRoboTests
2018-07-10 18:06:17 -07:00
Matthew Fritze
5e8005db42 Conditionally block battery percantage from search
The PowerUsageSummary fragment doesn't use the regular pattern
of a static method to build preference controllers, which can be
accessed by both DashboardFragment and BaseSearchIndexProvider,
because it depends on the Activity & Fragment in the creation of
the preference controllers.

The correct & long-term solution here would be to move those dependencies
out of the getPreferenceControllers method, such that the we could use a
static buildPreferenceControllers method, as seen in DisplaySettings.java.

In the mean time, we know that BatteryPercentagePrefController should not
show up on devices, so we conditionally add the the preference controller's
into getNonIndexableKeys method based on controller Availability, which
BasePreferenceController normally does automatically with a getPreferenceController
method in the host fragment's SEARCH_INDEX_DATA_PROVIDER.

Since this is a short-term solution, it should not be merged into master, and thus
I am not marking the bug as fixed.

Bug: 110894466
Test: Robotests
Change-Id: I06f814571d0b72fbf020dd11a9d23a9eb9907bfd
Merged-In: I5993d332dbd218c981ef5432aebb735d0000f67a
2018-07-03 18:32:35 +00:00
TreeHugger Robot
b86438768c Merge "Don't show low battery tip when estimation is zero" 2018-06-19 18:42:43 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
jackqdyulei
efb1bbd59d Don't show low battery tip when estimation is zero
It means invalid when estimation is zero. We should catch this case
int LowBatteryDetector and don't show it.

Change-Id: I01dd50616f54162a6688257f4bdb329dfa351bc5
Fixes: 110226028
Test: RunSettingsRoboTests
2018-06-14 14:53:59 -07:00
TreeHugger Robot
5aee6ce931 Merge "Update battery saver seekbar" 2018-06-14 19:10:37 +00:00
TreeHugger Robot
701d9a0eea Merge "Use FIELD_ANOMALY_TYPE instead of FIELD_CONTEXT" 2018-06-14 18:28:18 +00:00
jackqdyulei
6641ba8feb Update battery saver seekbar
This CL adds ticks to seekbar to make it increase by 5% or multiple of
it.

Change-Id: I25a592d75a32adaddccb4b5a7c7f18a0f771d99a
Fixes: 73763634
Test: RunSettingsRoboTests
2018-06-13 14:45:16 -07:00
jackqdyulei
5f6837ff46 Use FIELD_ANOMALY_TYPE instead of FIELD_CONTEXT
We did it for general anomaly however not the whitelisted one. This
CL fixes it.

Change-Id: I6603ffbaf1d097b360c86406ae0675bfe8a20410
Fixes: 109804858
Test: RunSettingsRoboTests
2018-06-13 13:14:46 -07:00
Doris Ling
2511d108ed Consolidate the 2 app button prefernece controllers.
- move the fuelgauge app button controller and the button dialog
fragment into app info package and change app detail fragment to use
that controller instead.
- remove the original appinfo/AppActionButtonPreferenceController

Change-Id: I94ca072a8dfe6051853eb23efa1f96ac3e13d79d
Fixes: 80312809
Test: make RunSettingsRoboTests
2018-06-12 13:43:25 -07:00
Fan Zhang
670ce333ae Misc clean up. move widgets from graph to widget package.
Bug: n/a
Test: robotests, rebuild
Change-Id: I910f355312d52e81a0bf57b46a3f267e1eb9882a
2018-06-11 16:05:12 -07:00
Fan Zhang
838f6c7812 Fix memory leaks in Settings
Bug: 80507279
Test: inspected hprof before and after fix
Change-Id: I6ea2925695deb6261263649e858484e1667ec522
2018-06-08 11:56:42 -07:00
Joe Onorato
90c770278e Merge "Add comments and additional constants for the known bad anomaly types." into pi-dev am: 32d9f451f9
am: d4fba82998

Change-Id: I4f4985a792a337c90b2949d0015dc50343cad007
2018-06-07 10:39:20 -07:00
Joe Onorato
f4781a79b4 Add comments and additional constants for the known bad anomaly types.
They aren't being used now, but by declaring them now we can consolidate
what we are encouraging OEMs to do in the PI timeframe.

Bug: 78013987
Test: treehugger
Change-Id: I7f86491448e799081b18d71274d2629a902d4972
2018-06-06 16:22:33 -07:00
TreeHugger Robot
6029c63884 Merge "Clean up some search nonIndexableKeys." 2018-06-04 20:55:49 +00:00
Fan Zhang
7c1233116b Clean up some search nonIndexableKeys.
- Make the entire gesture setting page unsearchable. This is safe
  because each row in gesture setting page lead to a child page, we are
  only removing duplicates.
- Make the pref controller for System -> gesture return
  AVILABLE_UNSEARCHABLE so it's also suppressed.
- Suppres the parent page for adaptive brightness.

Bug: 72748524
Test: manual
Change-Id: Id7317f5f126af88b1bde8d87b8a206d9909df904
2018-06-04 18:50:44 +00:00
Weien Wang
31f17d88d0 Merge "Fix the battery icon on the battery page when low battery" 2018-05-31 04:37:05 +00:00
TreeHugger Robot
cf2e1fd593 Merge "Plumb context object to PowerWhitelistBackend." into pi-dev 2018-05-30 03:08:20 +00:00
TreeHugger Robot
6e06da361a Merge "Plumb context object to PowerWhitelistBackend." 2018-05-30 01:50:40 +00:00
TreeHugger Robot
ce7d1ab3bb Merge "Prevent disabling default phone/sms apps in battery setting" into pi-dev 2018-05-30 00:18:45 +00:00
Fan Zhang
3489f65024 Plumb context object to PowerWhitelistBackend.
Change-Id: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Merged-In: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Fixes: 76435804
Test: robotests
2018-05-29 22:33:01 +00:00
Fan Zhang
7e395e1a00 Plumb context object to PowerWhitelistBackend.
Change-Id: Ice0d037625d47f1f668b00499a7f1ad2302cc0ba
Fixes: 76435804
Test: robotests
2018-05-29 22:32:22 +00:00
Fan Zhang
9ab2f37226 Prevent disabling default phone/sms apps in battery setting
- In handleDisableable(), call getKeepEnabledPackages() in the same way
  as AppActionButtonPreferenceController.
- Update getKeepEnabledPackages() to dynamically query default phone/sms
  app packages.

Change-Id: I8dc7d6248cf440dcc053f6acba9d5548d5670c41
Merged-In: I8dc7d6248cf440dcc053f6acba9d5548d5670c41
Fixes: 80328396
Bug: 80312809
Test: robotests
2018-05-29 22:25:56 +00:00
Fan Zhang
b70b11e02b Prevent disabling default phone/sms apps in battery setting
- In handleDisableable(), call getKeepEnabledPackages() in the same way
  as AppActionButtonPreferenceController.
- Update getKeepEnabledPackages() to dynamically query default phone/sms
  app packages.

Change-Id: I8dc7d6248cf440dcc053f6acba9d5548d5670c41
Bug: 80328396
Bug: 80312809
Test: robotests
2018-05-29 22:21:24 +00:00
Matthew Fritze
61227fb093 Add remaining whitelisted controllers
Because I missed them in the long whitelist the first time...

Change-Id: I9fbd7b33e06b3f2f6e5e5778f78abfdb1a52006a
Merged-In: I01c8c80fe306667c1d3ac007b16fad546c5a5f40
Fixes: 79779103
Test: robotests
2018-05-24 17:29:03 +00:00
Matthew Fritze
0cb62643d6 Add remaining whitelisted controllers
Because I missed them in the long whitelist the first time...

Bug: 79779103
Test: robotests
Change-Id: I01c8c80fe306667c1d3ac007b16fad546c5a5f40
2018-05-24 10:27:29 -07:00
Weien Wang
27e9617c16 Fix the battery icon on the battery page when low battery
Check power-saving state for drawing the battery icon on the battery page.
It will draw red + icon as status-bar did when battery saver is on.

Change-Id: Iee4a17c8e5cb3c8ee5d978eb23e3980597d09a1c
Fixes: 77150820
Test: Manual test, atest BatteryMeterViewTest BatteryHeaderPreferenceControllerTest
2018-05-24 08:05:15 +00:00
Fan Zhang
db03de4e80 Convert BatterySaverButton controller to Slice compatible.
- Update preference key to match the key defined in SettingsSlicesContract
- Model TwoStateButtonPreference similar to TwoStatePreference (add
  setChecked, isChecked method)
- Remove TwoStateButtonPreferenceController entirely because all methods
  are moved into Preference directly for better encapsulation.
- Make BatterySaverButtonPrefController direclty implement
  TogglePreferenceController. It was not possible before because the
  interface between TwoStateButtonPreferene is too different from
  TwoStatePreference.

Bug: 80106671
Test: robotests
Change-Id: Ib72807dcf1b36e959e08df8d80538c3f9f79b76d
Merged-In: Ib72807dcf1b36e959e08df8d80538c3f9f79b76d
2018-05-23 08:00:41 -07:00
Fan Zhang
ddc6c646c0 Convert BatterySaverButton controller to Slice compatible.
- Update preference key to match the key defined in SettingsSlicesContract
- Model TwoStateButtonPreference similar to TwoStatePreference (add
  setChecked, isChecked method)
- Remove TwoStateButtonPreferenceController entirely because all methods
  are moved into Preference directly for better encapsulation.
- Make BatterySaverButtonPrefController direclty implement
  TogglePreferenceController. It was not possible before because the
  interface between TwoStateButtonPreferene is too different from
  TwoStatePreference.

Bug: 80106671
Test: robotests
Change-Id: Ib72807dcf1b36e959e08df8d80538c3f9f79b76d
2018-05-22 20:22:26 -07:00
Lei Yu
563727631c Merge "When restrict, use uid inside AppInfo" into pi-dev am: 4376993a87
am: 0a084dadc2

Change-Id: I649e128ef5070562349de6951c9b3c2f1fbc1a76
2018-05-21 22:30:58 -07:00
Lei Yu
d06d1165eb When restrict, use uid inside AppInfo
Before this CL, we use packageManager to get uid for battery
restriction. However it may not be correct all the time.

For example, RestrictedAppDetails will be opened as main user
however inside we also show work profile apps, in this case
we can't get correct uid by only using normal API in PackageManager.

This CL change it to use uid from AppInfo, which is correct all
the time.

Bug: 79992590
Test: RunSettingsRoboTests
Change-Id: Id33a5f6409d6bace0d756e5ac06432acb8b2cf65
2018-05-22 02:02:06 +00:00
TreeHugger Robot
8075586a2e Merge "Add action log in "Restrict app page"." into pi-dev 2018-05-22 01:32:14 +00:00
Lei Yu
95d067760b Add action log in "Restrict app page".
This CL adds confirmation dialog in "Restrict app page". By go through
BatteryTipDialogFragment, it will find the correct action, in which
we already have log:
1. RestrictAppAction
2. UnRestrictAppAction

Bug: 79992590
Test: RunSettingsRoboTests
Change-Id: I179fbd17a012528fdfacf42e4a93943eaefff23d
Merged-In: I179fbd17a012528fdfacf42e4a93943eaefff23d
2018-05-22 00:35:12 +00:00
TreeHugger Robot
e0e8d122fa Merge "Add action log in "Restrict app page"." 2018-05-22 00:34:35 +00:00
Lei Yu
38ea79d024 Add action log in "Restrict app page".
This CL adds confirmation dialog in "Restrict app page". By go through
BatteryTipDialogFragment, it will find the correct action, in which
we already have log:
1. RestrictAppAction
2. UnRestrictAppAction

Bug: 79992590
Test: RunSettingsRoboTests
Change-Id: I179fbd17a012528fdfacf42e4a93943eaefff23d
2018-05-21 15:42:08 -07:00
Jason Chang
a76797e756 [SettingsLib] Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors.
Update Utils.getColorAccent() and Utils.getColorError() to return ColorStateLists instead of colors and change every callers entry.

Bug: 78215054
Test: manually test for UI
Change-Id: Ie201aee439bd9e8337eca989b4cdc836a6e8e917
2018-05-21 17:23:41 +08:00
Lei Yu
dc6634fd4a Merge "Refine update process for restrict tip." into pi-dev am: 018548b320
am: 0e0bf4672b

Change-Id: I55e46cc96c6fd6be9e726e08bd3ac00f22ba4c5a
2018-05-18 19:13:57 -07:00
TreeHugger Robot
018548b320 Merge "Refine update process for restrict tip." into pi-dev 2018-05-19 01:55:05 +00:00
Lei Yu
551a1a0176 Refine update process for restrict tip.
When restrict tip update, we should also update app list unless it goes
from NEW to INVISIBLE. After that it won't show "0 apps been
restricted".

Change-Id: Iedf4288fcddfe632a9ba8c16afdfb5bc044bce2e
Fix: 79890132
Test: RunSettingsRoboTests
2018-05-18 13:00:03 -07:00
Lei Yu
f94e2cca07 Merge "Don't drop log about excessive O anomaly." into pi-dev am: a866d6bd56
am: 7ca87fe51b

Change-Id: I1aeebb2b1c8a162390adc3667d850077eed3cc56
2018-05-18 10:46:18 -07:00
Lei Yu
a866d6bd56 Merge "Don't drop log about excessive O anomaly." into pi-dev 2018-05-18 17:09:44 +00:00
Lei Yu
1439c6179a Don't drop log about excessive O anomaly.
Before this CL, we will drop log for excessive bg anomaly that
target O or higher. This CL doesn't drop it however merge it to
ACTION_ANOMALY_IGNORED

Bug: 79944380
Test: RunSettingsRoboTests
Change-Id: I46d0bdb1191d8843ba373e59afb1b0ba16057661
2018-05-17 16:49:11 -07:00
TreeHugger Robot
e593ab2f45 Merge "Fuelgauge update comment for StatsManager API" 2018-05-17 15:52:57 +00:00