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

Commit 02883b02 authored by Chris Tate's avatar Chris Tate Committed by android-build-merger
Browse files

Merge "Use bg appop ALLOWED, not DEFAULT" into oc-dev am: 763bfea5

am: 31853713

Change-Id: Ib784dbd11aea5a94ee8f60d87df8d84bc68c260c
parents 25b62b11 31853713
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -90,12 +90,16 @@ public class BackgroundActivityPreferenceController extends PreferenceController
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        boolean switchOn = (Boolean) newValue;
        mAppOpsManager.setUidMode(AppOpsManager.OP_RUN_IN_BACKGROUND, mUid,
                switchOn ? AppOpsManager.MODE_DEFAULT : AppOpsManager.MODE_IGNORED);

        mAppOpsManager.setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, mUid, mTargetPackage,
                switchOn ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
        return true;
    }

    @VisibleForTesting
    String getTargetPackage() {
        return mTargetPackage;
    }

    @VisibleForTesting
    boolean isLegacyApp(final String packageName) {
        try {
+5 −5
Original line number Diff line number Diff line
@@ -85,16 +85,16 @@ public class BackgroundActivityPreferenceControllerTest {
    public void testOnPreferenceChange_TurnOnCheck_MethodInvoked() {
        mController.onPreferenceChange(mPreference, true);

        verify(mAppOpsManager).setUidMode(AppOpsManager.OP_RUN_IN_BACKGROUND,
                UID_NORMAL, AppOpsManager.MODE_DEFAULT);
        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID_NORMAL,
                mController.getTargetPackage(), AppOpsManager.MODE_ALLOWED);
    }

    @Test
    public void testOnPreferenceChange_TurnOffCheck_MethodInvoked() {
        mController.onPreferenceChange(null, false);

        verify(mAppOpsManager).setUidMode(AppOpsManager.OP_RUN_IN_BACKGROUND,
                UID_NORMAL, AppOpsManager.MODE_IGNORED);
        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID_NORMAL,
                mController.getTargetPackage(), AppOpsManager.MODE_IGNORED);
    }

    @Test
@@ -134,7 +134,7 @@ public class BackgroundActivityPreferenceControllerTest {
        mController = new BackgroundActivityPreferenceController(mContext, UID_SPECIAL);
        when(mAppOpsManager
                .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID_SPECIAL, LOW_SDK_PACKAGE))
                .thenReturn(AppOpsManager.MODE_DEFAULT);
                .thenReturn(AppOpsManager.MODE_ALLOWED);
        when(mAppOpsManager
                .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID_SPECIAL, HIGH_SDK_PACKAGE))
                .thenReturn(AppOpsManager.MODE_IGNORED);