From df5beee68b6a1cd5c254f95d84eb92073825d4a7 Mon Sep 17 00:00:00 2001 From: Lei Yu Date: Thu, 19 Apr 2018 10:46:37 -0700 Subject: [PATCH] Hook up Adaptive Battery to new flag. APP_STANDBY_ENABLED is controlled by server side to do experiment. Before this CL, Adaptive Battery is hooked up to this flag, so even though if user turns it off, it may be turned on by server. Add a high level ADAPTIVE_BATTERY_MANAGEMENT_ENABLED to control the feature in settings UI side. Bug: 78153913 Test: RunSettingsRoboTests Change-Id: I1a18d622ddc31ec4d45db918bf981516fbb926c1 --- .../fuelgauge/SmartBatteryPreferenceController.java | 6 +++--- .../fuelgauge/batterytip/AnomalyDetectionJobService.java | 2 +- .../batterytip/BatteryManagerPreferenceController.java | 2 +- .../batterytip/detectors/SmartBatteryDetector.java | 3 ++- .../fuelgauge/SmartBatteryPreferenceControllerTest.java | 6 ++++-- .../BatteryManagerPreferenceControllerTest.java | 8 ++++---- .../batterytip/detectors/SmartBatteryDetectorTest.java | 6 ++++-- 7 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java index 8b99a4361a7..e222b916590 100644 --- a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java +++ b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java @@ -52,15 +52,15 @@ public class SmartBatteryPreferenceController extends BasePreferenceController i public void updateState(Preference preference) { super.updateState(preference); final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(), - Settings.Global.APP_STANDBY_ENABLED, ON) == ON; + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON; ((SwitchPreference) preference).setChecked(smartBatteryOn); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean smartBatteryOn = (Boolean) newValue; - Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.APP_STANDBY_ENABLED, - smartBatteryOn ? ON : OFF); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, smartBatteryOn ? ON : OFF); return true; } } diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java index 518b633a480..61aa022fa51 100644 --- a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java +++ b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java @@ -142,7 +142,7 @@ public class AnomalyDetectionJobService extends JobService { final int uid = extractUidFromStatsDimensionsValue(intentDimsValue); final boolean autoFeatureOn = powerUsageFeatureProvider.isSmartBatterySupported() ? Settings.Global.getInt(contentResolver, - Settings.Global.APP_STANDBY_ENABLED, ON) == ON + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON : Settings.Global.getInt(contentResolver, Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; final String packageName = batteryUtils.getPackageName(uid); diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java index be2ed845beb..64184efe457 100644 --- a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java @@ -56,7 +56,7 @@ public class BatteryManagerPreferenceController extends BasePreferenceController super.updateState(preference); final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager).size(); final String setting = mPowerUsageFeatureProvider.isSmartBatterySupported() - ? Settings.Global.APP_STANDBY_ENABLED + ? Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED : Settings.Global.APP_AUTO_RESTRICTION_ENABLED; final boolean featureOn = Settings.Global.getInt(mContext.getContentResolver(), setting, ON) == ON; diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java index ecd595e1ce6..a8d49814432 100644 --- a/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java +++ b/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java @@ -39,7 +39,8 @@ public class SmartBatteryDetector implements BatteryTipDetector { public BatteryTip detect() { // Show it if there is no other tips shown final boolean smartBatteryOff = Settings.Global.getInt(mContentResolver, - Settings.Global.APP_STANDBY_ENABLED, 1) == 0 || mPolicy.testSmartBatteryTip; + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1) == 0 + || mPolicy.testSmartBatteryTip; final int state = smartBatteryOff ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE; return new SmartBatteryTip(state); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java index fbbc6f9e612..b91c5e14581 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java @@ -107,10 +107,12 @@ public class SmartBatteryPreferenceControllerTest { } private void putSmartBatteryValue(int value) { - Settings.Global.putInt(mContentResolver, Settings.Global.APP_STANDBY_ENABLED, value); + Settings.Global.putInt(mContentResolver, + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, value); } private int getSmartBatteryValue() { - return Settings.Global.getInt(mContentResolver, Settings.Global.APP_STANDBY_ENABLED, ON); + return Settings.Global.getInt(mContentResolver, + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java index 37c830661e8..27c3e3a22e6 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java @@ -71,8 +71,8 @@ public class BatteryManagerPreferenceControllerTest { @Test public void updateState_smartBatteryOnWithoutRestriction_showSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); - Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.APP_STANDBY_ENABLED, - ON); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON); mController.updateState(mPreference); @@ -82,8 +82,8 @@ public class BatteryManagerPreferenceControllerTest { @Test public void updateState_smartBatteryOff_showSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); - Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.APP_STANDBY_ENABLED, - OFF); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, OFF); mController.updateState(mPreference); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java index ad08a22cda5..42d88224628 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java @@ -61,14 +61,16 @@ public class SmartBatteryDetectorTest { @Test public void testDetect_smartBatteryOff_tipVisible() { - Settings.Global.putInt(mContentResolver, Settings.Global.APP_STANDBY_ENABLED, 0); + Settings.Global.putInt(mContentResolver, + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0); assertThat(mSmartBatteryDetector.detect().isVisible()).isTrue(); } @Test public void testDetect_smartBatteryOn_tipInvisible() { - Settings.Global.putInt(mContentResolver, Settings.Global.APP_STANDBY_ENABLED, 1); + Settings.Global.putInt(mContentResolver, + Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1); assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse(); }