From e32497c6de3f5ec3d494474da9c7ad04db76ef79 Mon Sep 17 00:00:00 2001 From: Andres Morales Date: Wed, 13 Jan 2016 15:28:54 -0800 Subject: [PATCH] Track ro.flash.locked bit to enable/disable OEM unlocking pref if the device is OEM unlocked already, disable the OEM unlocking pref. If it's locked, enable. Bug: 26039090 Change-Id: I915f3cf57deef8f5775d466dec59c891c1546b1b --- 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 a1d97508384..b0a685c4a90 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -203,6 +203,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final int RESULT_MOCK_LOCATION_APP = 1001; private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst"; + private static final String FLASH_LOCKED_PROP = "ro.boot.flash.locked"; private static final int REQUEST_CODE_ENABLE_OEM_UNLOCK = 0; @@ -703,6 +704,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateForceResizableOptions(); updateEnableFreeformWindowsSupportOptions(); updateWebViewProviderOptions(); + updateOemUnlockOptions(); if (mColorTemperaturePreference != null) { updateColorTemperature(); } @@ -967,6 +969,17 @@ public class DevelopmentSettings extends SettingsPreferenceFragment return !SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals(""); } + private static boolean enableOemUnlockPreference() { + String flashLocked = SystemProperties.get(FLASH_LOCKED_PROP); + return !"0".equals(flashLocked); + } + + private void updateOemUnlockOptions() { + if (mEnableOemUnlock != null) { + mEnableOemUnlock.setEnabled(enableOemUnlockPreference()); + } + } + private void updateBugreportOptions() { mBugreport.setEnabled(true); mBugreportInPower.setEnabled(true);