diff options
author | Christine Franks <christyfranks@google.com> | 2018-02-20 11:52:44 -0800 |
---|---|---|
committer | Christine Franks <christyfranks@google.com> | 2018-03-20 16:32:50 -0700 |
commit | 4c3c7fbfa63eee48f65369baca87d1504080ff32 (patch) | |
tree | bae8c05650774dbc316947597ebb42016b4af4ca /src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java | |
parent | 767743d64de17c8b008b1f6fcdf35a1e006d6006 (diff) | |
download | packages_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.java | 21 |
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, |