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
This commit is contained in:
@@ -46,6 +46,7 @@ import android.os.ServiceManager;
|
|||||||
import android.os.StrictMode;
|
import android.os.StrictMode;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.os.Trace;
|
import android.os.Trace;
|
||||||
|
import android.os.UserHandle;
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.preference.MultiCheckPreference;
|
import android.preference.MultiCheckPreference;
|
||||||
@@ -213,6 +214,11 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
mPassword = (PreferenceScreen) findPreference(LOCAL_BACKUP_PASSWORD);
|
mPassword = (PreferenceScreen) findPreference(LOCAL_BACKUP_PASSWORD);
|
||||||
mAllPrefs.add(mPassword);
|
mAllPrefs.add(mPassword);
|
||||||
|
|
||||||
|
if (!android.os.Process.myUserHandle().equals(UserHandle.OWNER)) {
|
||||||
|
disableForUser(mEnableAdb);
|
||||||
|
disableForUser(mPassword);
|
||||||
|
}
|
||||||
|
|
||||||
mDebugAppPref = findPreference(DEBUG_APP_KEY);
|
mDebugAppPref = findPreference(DEBUG_APP_KEY);
|
||||||
mAllPrefs.add(mDebugAppPref);
|
mAllPrefs.add(mDebugAppPref);
|
||||||
mWaitForDebugger = findAndInitCheckboxPref(WAIT_FOR_DEBUGGER_KEY);
|
mWaitForDebugger = findAndInitCheckboxPref(WAIT_FOR_DEBUGGER_KEY);
|
||||||
@@ -284,6 +290,13 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
removeHdcpOptionsForProduction();
|
removeHdcpOptionsForProduction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void disableForUser(Preference pref) {
|
||||||
|
if (pref != null) {
|
||||||
|
pref.setEnabled(false);
|
||||||
|
mDisabledPrefs.add(pref);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private CheckBoxPreference findAndInitCheckboxPref(String key) {
|
private CheckBoxPreference findAndInitCheckboxPref(String key) {
|
||||||
CheckBoxPreference pref = (CheckBoxPreference) findPreference(key);
|
CheckBoxPreference pref = (CheckBoxPreference) findPreference(key);
|
||||||
if (pref == null) {
|
if (pref == null) {
|
||||||
|
Reference in New Issue
Block a user