Fix NPE in SecuritySettings.onResume()
when DISALLOW_CONFIG_CREDENTIALS is true.
Bug: 10405192
Change-Id: Id364ba3cd86151b504158bc253559d0da5e26273
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index f893c36..e5b5c45 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -83,7 +83,7 @@
private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
private PackageManager mPM;
- DevicePolicyManager mDPM;
+ private DevicePolicyManager mDPM;
private ChooseLockSettingsHelper mChooseLockSettingsHelper;
private LockPatternUtils mLockPatternUtils;
@@ -165,9 +165,6 @@
// Add options for device encryption
- DevicePolicyManager dpm =
- (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-
mIsPrimary = UserHandle.myUserId() == UserHandle.USER_OWNER;
if (!mIsPrimary) {
@@ -183,7 +180,7 @@
}
if (mIsPrimary) {
- switch (dpm.getStorageEncryptionStatus()) {
+ switch (mDPM.getStorageEncryptionStatus()) {
case DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE:
// The device is currently encrypted.
addPreferencesFromResource(R.xml.security_settings_encrypted);
@@ -247,8 +244,8 @@
// Credential storage
final UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
+ mKeyStore = KeyStore.getInstance(); // needs to be initialized for onResume()
if (!um.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS)) {
- mKeyStore = KeyStore.getInstance();
Preference credentialStorageType = root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE);
final int storageSummaryRes =