OSDN Git Service

Block developer settings during SUW
authorRussell Brenner <russellbrenner@google.com>
Mon, 9 Nov 2015 19:35:42 +0000 (11:35 -0800)
committerThe Android Automerger <android-build@google.com>
Wed, 2 Dec 2015 01:41:41 +0000 (17:41 -0800)
Block access to development settings by tapping on the build number
in "About phone". Once SUW has completed, taps will be allowed.

Bug: 25290269
Change-Id: I9b2787712237f28fba446abab15a9e1c075d0419

src/com/android/settings/DevelopmentSettings.java
src/com/android/settings/DeviceInfoSettings.java

index 461084f..8bb99c5 100644 (file)
@@ -288,7 +288,11 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
         mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
 
         if (android.os.Process.myUserHandle().getIdentifier() != UserHandle.USER_OWNER
-                || 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(getActivity(), null));
             return;
index a839216..8fc41ea 100644 (file)
@@ -228,6 +228,12 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
             // Don't enable developer options for secondary users.
             if (UserHandle.myUserId() != UserHandle.USER_OWNER) 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;
+            }
+
             final UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
             if (um.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) return true;