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

Commit 31853713 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

Change-Id: I0bc1f8f580aa7a0ee23b1d7fc634053ada12891a
parents 129eb177 763bfea5
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);