summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christine Franks <christyfranks@google.com> 2018-03-23 05:13:20 +0000
committer android-build-merger <android-build-merger@google.com> 2018-03-23 05:13:20 +0000
commitc3a7e3bd41d0a9555eecdb9e50f5e72d72255414 (patch)
treedde8a2728d06b222791c9768e732682c457f1aae
parent9518f6f957db971cd6f17df5fef3a281f8b6d64a (diff)
parenta9f6576c8bba595209c743f2b7be8c22e7782b5d (diff)
Merge "Allow developer options in retail mode" into pi-dev am: 0f4545ac64
am: a9f6576c8b Change-Id: I1d214eab76c8b19b2955b7844be31735d79ba384
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java3
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java5
-rw-r--r--packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java13
3 files changed, 16 insertions, 5 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java
index 3c02f6a234f4..2d3dfe4511e0 100644
--- a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java
@@ -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
diff --git a/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java b/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java
index 85bf4e83bd55..d21da4e1cd0e 100644
--- a/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java
+++ b/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java
@@ -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;
}
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
index a15f5fce558e..ccaf3fcbef17 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
@@ -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();
+ }
}