OSDN Git Service

Pin protect going into developer mode.
authorGeoffrey Borggaard <geoffreyb@google.com>
Fri, 30 Aug 2013 20:07:20 +0000 (16:07 -0400)
committerGeoffrey Borggaard <geoffreyb@google.com>
Fri, 30 Aug 2013 20:16:21 +0000 (16:16 -0400)
Developer mode turns on ADB which we definately don't want students to do.
Bug: 10549646

Change-Id: Ibba6231d36427985da6c258002e319e33a15b9b8

src/com/android/settings/DeviceInfoSettings.java

index ac74221..7e94741 100644 (file)
@@ -37,7 +37,7 @@ import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-public class DeviceInfoSettings extends SettingsPreferenceFragment {
+public class DeviceInfoSettings extends RestrictedSettingsFragment {
 
     private static final String LOG_TAG = "DeviceInfoSettings";
 
@@ -70,12 +70,20 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
     int mDevHitCountdown;
     Toast mDevHitToast;
 
+    public DeviceInfoSettings() {
+        super(null /* Don't PIN protect the entire screen */);
+    }
+
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.device_info_settings);
 
+        // We only call ensurePinRestrictedPreference() when mDevHitCountdown == 0.
+        // This will keep us from entering developer mode without a PIN.
+        protectByRestrictions(KEY_BUILD_NUMBER);
+
         setStringSummary(KEY_FIRMWARE_VERSION, Build.VERSION.RELEASE);
         findPreference(KEY_FIRMWARE_VERSION).setEnabled(true);
         setValueSummary(KEY_BASEBAND_VERSION, "gsm.version.baseband");
@@ -178,6 +186,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
             if (UserHandle.myUserId() != UserHandle.USER_OWNER) return true;
 
             if (mDevHitCountdown > 0) {
+                if (mDevHitCountdown == 1) {
+                    if (super.ensurePinRestrictedPreference(preference)) {
+                        return true;
+                    }
+                }
                 mDevHitCountdown--;
                 if (mDevHitCountdown == 0) {
                     getActivity().getSharedPreferences(DevelopmentSettings.PREF_FILE,