Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05f1eff1 authored by Eric Biggers's avatar Eric Biggers
Browse files

Catch exceptions from setLockCredential()

When LockPatternUtils#setLockCredential() fails, it can either return
false or throw an exception.  Catch the exception and treat it the same
way as a false return value, to prevent crashing com.android.settings.

Bug: 253043065
Test: Tried setting lockscreen credential while in secure FRP mode using
      smartlock setup activity launched by intent via adb.  Verified
      that com.android.settings no longer crashes due to the exception
      from LockPatternUtils#setLockCredential().
Change-Id: I48b9119c19fb6378b1f88d36433ee4f4c8501d76
parent 4b882659
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -107,9 +107,14 @@ public class SaveAndFinishWorker extends Fragment {
    @VisibleForTesting
    Pair<Boolean, Intent> saveAndVerifyInBackground() {
        final int userId = mUserId;
        try {
            if (!mUtils.setLockCredential(mChosenCredential, mCurrentCredential, userId)) {
                return Pair.create(false, null);
            }
        } catch (RuntimeException e) {
            Log.e(TAG, "Failed to set lockscreen credential", e);
            return Pair.create(false, null);
        }

        unifyProfileCredentialIfRequested();