From 3bf2e707455602321fa59a5d81a7e9bfa1764b20 Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Tue, 15 Oct 2019 23:51:10 +0100 Subject: [PATCH] Fix NPE when user goes from none to swipe for lockscreen If the user currently doesn't have a password and transitions into another empty lockscreen (none -> swipe or swipe -> none), there is no need to call setLockCredential. Bug: 142701762 Test: Not yet :( Change-Id: I553c8b30c7414775185d632660d962a73607baca --- src/com/android/settings/password/ChooseLockGeneric.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java index 4f1b0501cf3..a2885d681c0 100644 --- a/src/com/android/settings/password/ChooseLockGeneric.java +++ b/src/com/android/settings/password/ChooseLockGeneric.java @@ -760,8 +760,12 @@ public class ChooseLockGeneric extends SettingsActivity { if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) { // Clearing of user biometrics when screen lock is cleared is done at // LockSettingsService.removeBiometricsForUser(). - mChooseLockSettingsHelper.utils().setLockCredential( - LockscreenCredential.createNone(), mUserPassword, mUserId); + if (mUserPassword != null) { + // No need to call setLockCredential if the user currently doesn't + // have a password + mChooseLockSettingsHelper.utils().setLockCredential( + LockscreenCredential.createNone(), mUserPassword, mUserId); + } mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled, mUserId); getActivity().setResult(Activity.RESULT_OK); finish();