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

Commit cbe32ed1 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Update Settings together with generateChallenge/revokeChallenge

The internal implementation of generate/revoke in system_server is now
asynchronous. To keep existing clients working, the manager classes
introduce a blocking version of the generateChallenge calls. This change
updates Settings to use the backward-compatible blocking calls.

Bug: 157790417

Test: Enroll fingerprint/face
Test: After enrollment, toggle setFeature or do subsequent enrollment
      in face/fingerprint settings
Change-Id: Ib4dfdc5f12530b938ab9b1745f5a19cd9e2eceee
parent 602b8573
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
        if (mFaceManager == null) {
            return 0;
        }
        return mFaceManager.generateChallenge();
        return mFaceManager.generateChallengeBlocking();
    }

    @Override
+2 −5
Original line number Diff line number Diff line
@@ -205,7 +205,7 @@ public class FaceSettings extends DashboardFragment {
            // Generate challenge in onResume instead of onCreate, since FaceSettings can be
            // created while Keyguard is showing, in which case the resetLockout revokeChallenge
            // will invalidate the too-early created challenge here.
            final long challenge = mFaceManager.generateChallenge();
            final long challenge = mFaceManager.generateChallengeBlocking();
            ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);

            mConfirmingPassword = true;
@@ -266,10 +266,7 @@ public class FaceSettings extends DashboardFragment {
                && !mConfirmingPassword) {
            // Revoke challenge and finish
            if (mToken != null) {
                final int result = mFaceManager.revokeChallenge();
                if (result < 0) {
                    Log.w(TAG, "revokeChallenge failed, result: " + result);
                }
                mFaceManager.revokeChallenge();
                mToken = null;
            }
            finish();
+1 −4
Original line number Diff line number Diff line
@@ -140,10 +140,7 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
    private void postEnroll() {
        final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
        if (fpm != null) {
            int result = fpm.postEnroll();
            if (result < 0) {
                Log.w(TAG, "postEnroll failed: result = " + result);
            }
            fpm.revokeChallenge();
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
        if (mFingerprintManager == null) {
            return 0;
        }
        return mFingerprintManager.preEnroll();
        return mFingerprintManager.generateChallengeBlocking();
    }

    @Override
+2 −5
Original line number Diff line number Diff line
@@ -594,10 +594,7 @@ public class FingerprintSettings extends SubSettings {
        public void onDestroy() {
            super.onDestroy();
            if (getActivity().isFinishing()) {
                int result = mFingerprintManager.postEnroll();
                if (result < 0) {
                    Log.w(TAG, "postEnroll failed: result = " + result);
                }
                mFingerprintManager.revokeChallenge();
            }
        }

@@ -638,7 +635,7 @@ public class FingerprintSettings extends SubSettings {

        private void launchChooseOrConfirmLock() {
            Intent intent = new Intent();
            long challenge = mFingerprintManager.preEnroll();
            long challenge = mFingerprintManager.generateChallengeBlocking();
            ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);
            if (!helper.launchConfirmationActivity(CONFIRM_REQUEST,
                    getString(R.string.security_settings_fingerprint_preference_title),
Loading