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

Commit 7ef77271 authored by Jim Miller's avatar Jim Miller Committed by Android Git Automerger
Browse files

am bea9d7b9: Merge "Reset fingerprint lockout timer when strong auth is used." into mnc-dr-dev

* commit 'bea9d7b9':
  Reset fingerprint lockout timer when strong auth is used.
parents 2591d6ff bea9d7b9
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -668,6 +668,25 @@ public class FingerprintManager {
        return 0;
    }

    /**
     * Reset the lockout timer when asked to do so by keyguard.
     *
     * @param token an opaque token returned by password confirmation.
     *
     * @hide
     */
    public void resetTimeout(byte[] token) {
        if (mService != null) {
            try {
                mService.resetTimeout(token);
            } catch (RemoteException e) {
                Log.v(TAG, "Remote exception in getAuthenticatorId(): ", e);
            }
        } else {
            Log.w(TAG, "getAuthenticatorId(): Service not connected!");
        }
    }

    private class MyHandler extends Handler {
        private MyHandler(Context context) {
            super(context.getMainLooper());
@@ -677,6 +696,7 @@ public class FingerprintManager {
            super(looper);
        }

        @Override
        public void handleMessage(android.os.Message msg) {
            switch(msg.what) {
                case MSG_ENROLL_RESULT:
+3 −0
Original line number Diff line number Diff line
@@ -68,4 +68,7 @@ interface IFingerprintService {

    // Gets the authenticator ID for fingerprint
    long getAuthenticatorId(String opPackageName);

    // Reset the timeout when user authenticates with strong auth (e.g. PIN, pattern or password)
    void resetTimeout(in byte [] cryptoToken);
}
+4 −0
Original line number Diff line number Diff line
@@ -2472,6 +2472,10 @@
    <permission android:name="android.permission.MANAGE_FINGERPRINT"
        android:protectionLevel="system|signature" />

    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
        android:protectionLevel="signature" />

    <!-- Allows an application to control keyguard.  Only allowed for system processes.
        @hide -->
    <permission android:name="android.permission.CONTROL_KEYGUARD"
+4 −0
Original line number Diff line number Diff line
@@ -578,6 +578,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
    public void reportSuccessfulStrongAuthUnlockAttempt() {
        mStrongAuthTimedOut.remove(sCurrentUser);
        scheduleStrongAuthTimeout();
        if (mFpm != null) {
            byte[] token = null; /* TODO: pass real auth token once fp HAL supports it */
            mFpm.resetTimeout(token);
        }
    }

    private void scheduleStrongAuthTimeout() {
+1 −0
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@
    <uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
    <uses-permission android:name="android.permission.TRUST_LISTENER" />
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
    <uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT" />

    <!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
    <uses-permission android:name="android.permission.SET_WALLPAPER"/>
Loading