summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
diff options
context:
space:
mode:
authorChristine Franks <christyfranks@google.com>2018-02-20 11:52:44 -0800
committerChristine Franks <christyfranks@google.com>2018-03-20 16:32:50 -0700
commit4c3c7fbfa63eee48f65369baca87d1504080ff32 (patch)
treebae8c05650774dbc316947597ebb42016b4af4ca /src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
parent767743d64de17c8b008b1f6fcdf35a1e006d6006 (diff)
downloadpackages_apps_Settings-4c3c7fbfa63eee48f65369baca87d1504080ff32.tar.gz
packages_apps_Settings-4c3c7fbfa63eee48f65369baca87d1504080ff32.tar.bz2
packages_apps_Settings-4c3c7fbfa63eee48f65369baca87d1504080ff32.zip
Allow developer options in retail mode
Also, add new tests and fix existing tests. Bug: 70985064 Test: make -j100 && make RunSettingsRoboTests -j100 Change-Id: Ied84cf0de02e18c10949eed4f3642782c1246e7b
Diffstat (limited to 'src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java')
-rw-r--r--src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 0f3bfb8ec7..46bc120de4 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -18,8 +18,10 @@ package com.android.settings.deviceinfo;
import android.app.Activity;
import android.app.Fragment;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ResolveInfo;
import android.os.Build;
import android.os.UserHandle;
import android.os.UserManager;
@@ -118,8 +120,8 @@ public class BuildNumberPreferenceController extends AbstractPreferenceControlle
if (Utils.isMonkeyRunning()) {
return false;
}
- // Don't enable developer options for secondary users.
- if (!mUm.isAdminUser()) {
+ // Don't enable developer options for secondary non-demo users.
+ if (!(mUm.isAdminUser() || mUm.isDemoUser())) {
mMetricsFeatureProvider.action(
mContext, MetricsEvent.ACTION_SETTINGS_BUILD_NUMBER_PREF);
return false;
@@ -133,6 +135,21 @@ public class BuildNumberPreferenceController extends AbstractPreferenceControlle
}
if (mUm.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) {
+ if (mUm.isDemoUser()) {
+ // Route to demo device owner to lift the debugging restriction.
+ final ComponentName componentName = Utils.getDeviceOwnerComponent(mContext);
+ if (componentName != null) {
+ final Intent requestDebugFeatures = new Intent()
+ .setPackage(componentName.getPackageName())
+ .setAction("com.android.settings.action.REQUEST_DEBUG_FEATURES");
+ final ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(
+ requestDebugFeatures, 0);
+ if (resolveInfo != null) {
+ mContext.startActivity(requestDebugFeatures);
+ return false;
+ }
+ }
+ }
if (mDebuggingFeaturesDisallowedAdmin != null &&
!mDebuggingFeaturesDisallowedBySystem) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext,