diff options
| author | 2018-05-10 16:39:59 +0000 | |
|---|---|---|
| committer | 2018-05-10 16:39:59 +0000 | |
| commit | 11374c88ed463be97b63b1d2aacc7eaac219ac7c (patch) | |
| tree | 02e9d527aaca0871e84f5029f9a64be4e7051bfe | |
| parent | 8b74f55c4173ff7bc4cbe26cb8b49b9eafb1f729 (diff) | |
| parent | a3e0e0cc6b993e98cbcfe42a85d3ab07d9857576 (diff) | |
Merge "Fix BatterySaverPolicyTest and add more accessibility test" into pi-dev
| -rw-r--r-- | services/core/java/com/android/server/power/BatterySaverPolicy.java | 7 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/power/BatterySaverPolicyTest.java | 37 | 
2 files changed, 36 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/power/BatterySaverPolicy.java b/services/core/java/com/android/server/power/BatterySaverPolicy.java index cfce5cfdd801..c04c1fb4f786 100644 --- a/services/core/java/com/android/server/power/BatterySaverPolicy.java +++ b/services/core/java/com/android/server/power/BatterySaverPolicy.java @@ -310,6 +310,11 @@ public class BatterySaverPolicy extends ContentObserver {          return R.string.config_batterySaverDeviceSpecificConfig;      } +    @VisibleForTesting +    boolean isAccessibilityEnabled() { +        return mAccessibilityManager.isEnabled(); +    } +      @Override      public void onChange(boolean selfChange, Uri uri) {          refreshSettings(); @@ -403,7 +408,7 @@ public class BatterySaverPolicy extends ContentObserver {                  parser.getString(KEY_CPU_FREQ_NONINTERACTIVE, "")).toSysFileMap();          // Update the effective policy. -        mAccessibilityEnabled = mAccessibilityManager.isEnabled(); +        mAccessibilityEnabled = isAccessibilityEnabled();          mVibrationDisabledEffective = mVibrationDisabledConfig                  && !mAccessibilityEnabled; // Don't disable vibration when accessibility is on. diff --git a/services/tests/servicestests/src/com/android/server/power/BatterySaverPolicyTest.java b/services/tests/servicestests/src/com/android/server/power/BatterySaverPolicyTest.java index 20cf733a860b..761c1f1ea3a5 100644 --- a/services/tests/servicestests/src/com/android/server/power/BatterySaverPolicyTest.java +++ b/services/tests/servicestests/src/com/android/server/power/BatterySaverPolicyTest.java @@ -15,6 +15,7 @@   */  package com.android.server.power; +import android.os.PowerManager;  import android.os.PowerManager.ServiceType;  import android.os.PowerSaveState;  import android.os.Handler; @@ -41,7 +42,8 @@ public class BatterySaverPolicyTest extends AndroidTestCase {      private static final float DEFAULT_BRIGHTNESS_FACTOR = 0.5f;      private static final float PRECISION = 0.001f;      private static final int GPS_MODE = 0; -    private static final int DEFAULT_GPS_MODE = 0; +    private static final int DEFAULT_GPS_MODE = +            PowerManager.LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF;      private static final String BATTERY_SAVER_CONSTANTS = "vibration_disabled=true,"              + "animation_disabled=false,"              + "soundtrigger_disabled=true," @@ -69,6 +71,10 @@ public class BatterySaverPolicyTest extends AndroidTestCase {              return mDeviceSpecificConfigResId;          } +        @Override +        boolean isAccessibilityEnabled() { +            return mMockAccessibilityEnabled; +        }          @VisibleForTesting          void onChange() { @@ -83,11 +89,15 @@ public class BatterySaverPolicyTest extends AndroidTestCase {      private final ArrayMap<String, String> mMockGlobalSettings = new ArrayMap<>();      private int mDeviceSpecificConfigResId = R.string.config_batterySaverDeviceSpecificConfig_1; +    private boolean mMockAccessibilityEnabled; +      public void setUp() throws Exception {          super.setUp();          MockitoAnnotations.initMocks(this);          mBatterySaverPolicy = new BatterySaverPolicyForTest(mHandler);          mBatterySaverPolicy.systemReady(getContext()); + +        mMockAccessibilityEnabled = false;      }      @SmallTest @@ -101,6 +111,12 @@ public class BatterySaverPolicyTest extends AndroidTestCase {      }      @SmallTest +    public void testGetBatterySaverPolicy_PolicyVibration_WithAccessibilityEnabled() { +        mMockAccessibilityEnabled = true; +        testServiceDefaultValue_unchanged(ServiceType.VIBRATION); +    } + +    @SmallTest      public void testGetBatterySaverPolicy_PolicySound_DefaultValueCorrect() {          testServiceDefaultValue(ServiceType.SOUND);      } @@ -117,7 +133,7 @@ public class BatterySaverPolicyTest extends AndroidTestCase {      @SmallTest      public void testGetBatterySaverPolicy_PolicyAnimation_DefaultValueCorrect() { -        testServiceDefaultValue(ServiceType.ANIMATION); +        testServiceDefaultValue_unchanged(ServiceType.ANIMATION);      }      @SmallTest @@ -144,11 +160,7 @@ public class BatterySaverPolicyTest extends AndroidTestCase {      @SmallTest      public void testGetBatterySaverPolicy_PolicyScreenBrightness_DefaultValueCorrect() { -        testServiceDefaultValue(ServiceType.SCREEN_BRIGHTNESS); - -        PowerSaveState stateOn = -                mBatterySaverPolicy.getBatterySaverPolicy(ServiceType.SCREEN_BRIGHTNESS, true); -        assertThat(stateOn.brightnessFactor).isWithin(PRECISION).of(DEFAULT_BRIGHTNESS_FACTOR); +        testServiceDefaultValue_unchanged(ServiceType.SCREEN_BRIGHTNESS);      }      @SmallTest @@ -222,6 +234,17 @@ public class BatterySaverPolicyTest extends AndroidTestCase {          assertThat(batterySaverStateOff.batterySaverEnabled).isFalse();      } +    private void testServiceDefaultValue_unchanged(@ServiceType int type) { +        mBatterySaverPolicy.updateConstantsLocked("", ""); +        final PowerSaveState batterySaverStateOn = +                mBatterySaverPolicy.getBatterySaverPolicy(type, BATTERY_SAVER_ON); +        assertThat(batterySaverStateOn.batterySaverEnabled).isFalse(); + +        final PowerSaveState batterySaverStateOff = +                mBatterySaverPolicy.getBatterySaverPolicy(type, BATTERY_SAVER_OFF); +        assertThat(batterySaverStateOff.batterySaverEnabled).isFalse(); +    } +      public void testDeviceSpecific() {          mDeviceSpecificConfigResId = R.string.config_batterySaverDeviceSpecificConfig_1;          mMockGlobalSettings.put(Global.BATTERY_SAVER_CONSTANTS, "");  |