Loading packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 Loading packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java +2 −3 Original line number Diff line number Diff line Loading @@ -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; } } packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -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(); } } Loading
packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java +2 −3 Original line number Diff line number Diff line Loading @@ -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; } }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -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(); } }