flashLockState = mOemUnlockManager.getFlashLockState();
}
- return flashLockState != PersistentDataBlockManager.FLASH_LOCK_UNLOCKED;
+ return flashLockState != PersistentDataBlockManager.FLASH_LOCK_UNLOCKED
+ && Settings.Global.getInt(getActivity().getContentResolver(),
+ Settings.Global.OEM_UNLOCK_DISALLOWED, 0) == 0;
}
private void updateOemUnlockOptions() {
* devices allow users to flash other OSes to them.
*/
static void setOemUnlockEnabled(Context context, boolean enabled) {
- PersistentDataBlockManager manager =(PersistentDataBlockManager)
- context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
- manager.setOemUnlockEnabled(enabled);
+ try {
+ PersistentDataBlockManager manager = (PersistentDataBlockManager)
+ context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+ manager.setOemUnlockEnabled(enabled);
+ } catch (SecurityException e) {
+ Log.e(TAG, "Fail to set oem unlock.", e);
+ }
}
/**