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

Commit a9f6576c authored by Christine Franks's avatar Christine Franks Committed by android-build-merger
Browse files

Merge "Allow developer options in retail mode" into pi-dev

am: 0f4545ac

Change-Id: Idf9fb0805d81e6078ed8bdb029c6f885b0813004
parents 307af3b7 0f4545ac
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -59,7 +59,8 @@ public abstract class AbstractEnableAdbPreferenceController extends

    @Override
    public boolean isAvailable() {
        return mContext.getSystemService(UserManager.class).isAdminUser();
        final UserManager um = mContext.getSystemService(UserManager.class);
        return um != null && (um.isAdminUser() || um.isDemoUser());
    }

    @Override
+2 −3
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ public class DevelopmentSettingsEnabler {
                Build.TYPE.equals("eng") ? 1 : 0) != 0;
        final boolean hasRestriction = um.hasUserRestriction(
                UserManager.DISALLOW_DEBUGGING_FEATURES);
        final boolean isAdmin = um.isAdminUser();

        return isAdmin && !hasRestriction && settingEnabled;
        final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser();
        return isAdminOrDemo && !hasRestriction && settingEnabled;
    }
}
+12 −1
Original line number Diff line number Diff line
@@ -73,11 +73,22 @@ public class DevelopmentSettingsEnablerTest {
    }

    @Test
    public void isEnabled_settingsOn_noRestriction_notAdmin_shouldReturnFalse() {
    public void isEnabled_settingsOn_noRestriction_notAdmin_notDemo_shouldReturnFalse() {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
        ShadowUserManager.getShadow().setIsAdminUser(false);
        ShadowUserManager.getShadow().setIsDemoUser(false);

        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
    }

    @Test
    public void isEnabled_settingsOn_noRestriction_notAdmin_isDemo_shouldReturnTrue() {
        Settings.Global.putInt(mContext.getContentResolver(),
            Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
        ShadowUserManager.getShadow().setIsAdminUser(false);
        ShadowUserManager.getShadow().setIsDemoUser(true);

        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isTrue();
    }
}