Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11374c88 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix BatterySaverPolicyTest and add more accessibility test" into pi-dev

parents 8b74f55c a3e0e0cc
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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.
+30 −7
Original line number Diff line number Diff line
@@ -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
@@ -100,6 +110,12 @@ public class BatterySaverPolicyTest extends AndroidTestCase {
        testServiceDefaultValue(ServiceType.VIBRATION);
    }

    @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, "");