Loading packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -59,7 +59,8 @@ public abstract class AbstractEnableAdbPreferenceController extends @Override @Override public boolean isAvailable() { public boolean isAvailable() { return mContext.getSystemService(UserManager.class).isAdminUser(); final UserManager um = mContext.getSystemService(UserManager.class); return um != null && (um.isAdminUser() || um.isDemoUser()); } } @Override @Override Loading packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java +2 −3 Original line number Original line Diff line number Diff line Loading @@ -45,8 +45,7 @@ public class DevelopmentSettingsEnabler { Build.TYPE.equals("eng") ? 1 : 0) != 0; Build.TYPE.equals("eng") ? 1 : 0) != 0; final boolean hasRestriction = um.hasUserRestriction( final boolean hasRestriction = um.hasUserRestriction( UserManager.DISALLOW_DEBUGGING_FEATURES); UserManager.DISALLOW_DEBUGGING_FEATURES); final boolean isAdmin = um.isAdminUser(); final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser(); return isAdminOrDemo && !hasRestriction && settingEnabled; return isAdmin && !hasRestriction && settingEnabled; } } } } packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -73,11 +73,22 @@ public class DevelopmentSettingsEnablerTest { } } @Test @Test public void isEnabled_settingsOn_noRestriction_notAdmin_shouldReturnFalse() { public void isEnabled_settingsOn_noRestriction_notAdmin_notDemo_shouldReturnFalse() { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); ShadowUserManager.getShadow().setIsAdminUser(false); ShadowUserManager.getShadow().setIsAdminUser(false); ShadowUserManager.getShadow().setIsDemoUser(false); assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse(); 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(); } } } Loading
packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -59,7 +59,8 @@ public abstract class AbstractEnableAdbPreferenceController extends @Override @Override public boolean isAvailable() { public boolean isAvailable() { return mContext.getSystemService(UserManager.class).isAdminUser(); final UserManager um = mContext.getSystemService(UserManager.class); return um != null && (um.isAdminUser() || um.isDemoUser()); } } @Override @Override Loading
packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java +2 −3 Original line number Original line Diff line number Diff line Loading @@ -45,8 +45,7 @@ public class DevelopmentSettingsEnabler { Build.TYPE.equals("eng") ? 1 : 0) != 0; Build.TYPE.equals("eng") ? 1 : 0) != 0; final boolean hasRestriction = um.hasUserRestriction( final boolean hasRestriction = um.hasUserRestriction( UserManager.DISALLOW_DEBUGGING_FEATURES); UserManager.DISALLOW_DEBUGGING_FEATURES); final boolean isAdmin = um.isAdminUser(); final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser(); return isAdminOrDemo && !hasRestriction && settingEnabled; return isAdmin && !hasRestriction && settingEnabled; } } } }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -73,11 +73,22 @@ public class DevelopmentSettingsEnablerTest { } } @Test @Test public void isEnabled_settingsOn_noRestriction_notAdmin_shouldReturnFalse() { public void isEnabled_settingsOn_noRestriction_notAdmin_notDemo_shouldReturnFalse() { Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); ShadowUserManager.getShadow().setIsAdminUser(false); ShadowUserManager.getShadow().setIsAdminUser(false); ShadowUserManager.getShadow().setIsDemoUser(false); assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse(); 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(); } } }