From 48d000ee2e54773b50079497f9d1e2e2ab570676 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Fri, 30 Nov 2012 14:20:04 -0800 Subject: [PATCH] Disable USB debugging checkbox and backup password for secondary users This prevents secondary users from turning on adb debugging, even if they find a way to launch developer options. Similarly, don't let them add or change the adb backup password. Bug: 7637920 Change-Id: I297f0c515a276ede6a7f12d2add72faec4eeb384 --- src/com/android/settings/DevelopmentSettings.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index aeedb0c44ac..5e7573f7bdc 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -46,6 +46,7 @@ import android.os.ServiceManager; import android.os.StrictMode; import android.os.SystemProperties; import android.os.Trace; +import android.os.UserHandle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.MultiCheckPreference; @@ -213,6 +214,11 @@ public class DevelopmentSettings extends PreferenceFragment mPassword = (PreferenceScreen) findPreference(LOCAL_BACKUP_PASSWORD); mAllPrefs.add(mPassword); + if (!android.os.Process.myUserHandle().equals(UserHandle.OWNER)) { + disableForUser(mEnableAdb); + disableForUser(mPassword); + } + mDebugAppPref = findPreference(DEBUG_APP_KEY); mAllPrefs.add(mDebugAppPref); mWaitForDebugger = findAndInitCheckboxPref(WAIT_FOR_DEBUGGER_KEY); @@ -284,6 +290,13 @@ public class DevelopmentSettings extends PreferenceFragment removeHdcpOptionsForProduction(); } + private void disableForUser(Preference pref) { + if (pref != null) { + pref.setEnabled(false); + mDisabledPrefs.add(pref); + } + } + private CheckBoxPreference findAndInitCheckboxPref(String key) { CheckBoxPreference pref = (CheckBoxPreference) findPreference(key); if (pref == null) {