diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 3dbfef94b35..af34647c1e9 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -297,7 +297,11 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); if (!mUm.isAdminUser() - || mUm.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) { + || mUm.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES) + || Settings.Global.getInt(getActivity().getContentResolver(), + Settings.Global.DEVICE_PROVISIONED, 0) == 0) { + // Block access to developer options if the user is not the owner, if user policy + // restricts it, or if the device has not been provisioned mUnavailable = true; setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); return; diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index d3c77f3dc21..40be2e7a6a2 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -208,6 +208,12 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In // Don't enable developer options for secondary users. if (!mUm.isAdminUser()) return true; + // Don't enable developer options until device has been provisioned + if (Settings.Global.getInt(getActivity().getContentResolver(), + Settings.Global.DEVICE_PROVISIONED, 0) == 0) { + return true; + } + if (mUm.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) return true; if (mDevHitCountdown > 0) {