mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-29 17:36:29 -05:00
68 lines
3.5 KiB
Diff
68 lines
3.5 KiB
Diff
|
From e297ea5bd7bf902d6ed606c24cc0ab902dc6943b Mon Sep 17 00:00:00 2001
|
||
|
From: Tad <tad@spotco.us>
|
||
|
Date: Mon, 23 Apr 2018 15:40:11 -0400
|
||
|
Subject: [PATCH] Fix crashes when the PersistentDataBlockManager service isn't
|
||
|
available
|
||
|
|
||
|
Change-Id: I58b82270ed052526004889deb8a2ede072e2da3b
|
||
|
---
|
||
|
.../android/settings/MasterClearConfirm.java | 17 ++++++++++++-----
|
||
|
.../development/DevelopmentSettings.java | 5 ++++-
|
||
|
2 files changed, 16 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java
|
||
|
index 39bf01a0d9..8be58e8c85 100644
|
||
|
--- a/src/com/android/settings/MasterClearConfirm.java
|
||
|
+++ b/src/com/android/settings/MasterClearConfirm.java
|
||
|
@@ -22,6 +22,7 @@ import android.content.Intent;
|
||
|
import android.content.pm.ActivityInfo;
|
||
|
import android.os.AsyncTask;
|
||
|
import android.os.Bundle;
|
||
|
+import android.os.SystemProperties;
|
||
|
import android.os.UserHandle;
|
||
|
import android.os.UserManager;
|
||
|
import android.service.oemlock.OemLockManager;
|
||
|
@@ -65,12 +66,18 @@ public class MasterClearConfirm extends OptionsMenuFragment {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- final PersistentDataBlockManager pdbManager = (PersistentDataBlockManager)
|
||
|
- getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
||
|
- final OemLockManager oemLockManager = (OemLockManager)
|
||
|
- getActivity().getSystemService(Context.OEM_LOCK_SERVICE);
|
||
|
+ PersistentDataBlockManager pdbManagerTmp = null;
|
||
|
+ OemLockManager oemLockManager = null;
|
||
|
+ if (!SystemProperties.get("ro.frp.pst").equals("")) {
|
||
|
+ pdbManagerTmp = (PersistentDataBlockManager)
|
||
|
+ getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
|
||
|
+ oemLockManager = (OemLockManager)
|
||
|
+ getActivity().getSystemService(Context.OEM_LOCK_SERVICE);
|
||
|
+ }
|
||
|
+
|
||
|
+ final PersistentDataBlockManager pdbManager = pdbManagerTmp;
|
||
|
|
||
|
- if (pdbManager != null && !oemLockManager.isOemUnlockAllowed() &&
|
||
|
+ if (pdbManager != null && oemLockManager != null && !oemLockManager.isOemUnlockAllowed() &&
|
||
|
Utils.isDeviceProvisioned(getActivity())) {
|
||
|
// if OEM unlock is allowed, the persistent data block will be wiped during FR
|
||
|
// process. If disabled, it will be wiped here, unless the device is still being
|
||
|
diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
|
||
|
index b29add1aa7..ac3d8a3273 100644
|
||
|
--- a/src/com/android/settings/development/DevelopmentSettings.java
|
||
|
+++ b/src/com/android/settings/development/DevelopmentSettings.java
|
||
|
@@ -420,7 +420,10 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||
|
mBackupManager = IBackupManager.Stub.asInterface(
|
||
|
ServiceManager.getService(Context.BACKUP_SERVICE));
|
||
|
mWebViewUpdateService = WebViewFactory.getUpdateService();
|
||
|
- mOemLockManager = (OemLockManager) getSystemService(Context.OEM_LOCK_SERVICE);
|
||
|
+ mOemLockManager = null;
|
||
|
+ if(SystemProperties.getBoolean("ro.oem_unlock_supported", false)) {
|
||
|
+ mOemLockManager = (OemLockManager) getSystemService(Context.OEM_LOCK_SERVICE);
|
||
|
+ }
|
||
|
mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||
|
|
||
|
mUm = (UserManager) getSystemService(Context.USER_SERVICE);
|
||
|
--
|
||
|
2.17.0
|
||
|
|