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

Commit c3a35738 authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge "Add onUdfpsPointer* callbacks to FingerprintManager"

parents dc4ce3e8 9c494882
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
    private static final int MSG_REMOVED = 105;
    private static final int MSG_CHALLENGE_GENERATED = 106;
    private static final int MSG_FINGERPRINT_DETECTED = 107;
    private static final int MSG_UDFPS_POINTER_DOWN = 108;
    private static final int MSG_UDFPS_POINTER_UP = 109;

    /**
     * Request authentication with any single sensor.
@@ -338,6 +340,20 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
         */
        @Override
        public void onAuthenticationAcquired(int acquireInfo) {}

        /**
         * Invoked for under-display fingerprint sensors when a touch has been detected on the
         * sensor area.
         * @hide
         */
        public void onUdfpsPointerDown(int sensorId) {}

        /**
         * Invoked for under-display fingerprint sensors when a touch has been removed from the
         * sensor area.
         * @hide
         */
        public void onUdfpsPointerUp(int sensorId) {}
    }

    /**
@@ -1005,6 +1021,12 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
                    sendFingerprintDetected(msg.arg1 /* sensorId */, msg.arg2 /* userId */,
                            (boolean) msg.obj /* isStrongBiometric */);
                    break;
                case MSG_UDFPS_POINTER_DOWN:
                    sendUdfpsPointerDown(msg.arg1 /* sensorId */);
                    break;
                case MSG_UDFPS_POINTER_UP:
                    sendUdfpsPointerUp(msg.arg1 /* sensorId */);
                    break;
                default:
                    Slog.w(TAG, "Unknown message: " + msg.what);

@@ -1103,6 +1125,22 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
        mFingerprintDetectionCallback.onFingerprintDetected(sensorId, userId, isStrongBiometric);
    }

    private void sendUdfpsPointerDown(int sensorId) {
        if (mAuthenticationCallback == null) {
            Slog.e(TAG, "sendUdfpsPointerDown, callback null");
            return;
        }
        mAuthenticationCallback.onUdfpsPointerDown(sensorId);
    }

    private void sendUdfpsPointerUp(int sensorId) {
        if (mAuthenticationCallback == null) {
            Slog.e(TAG, "sendUdfpsPointerUp, callback null");
            return;
        }
        mAuthenticationCallback.onUdfpsPointerUp(sensorId);
    }

    /**
     * @hide
     */
@@ -1280,6 +1318,17 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
            mHandler.obtainMessage(MSG_CHALLENGE_GENERATED, sensorId, 0, challenge)
                    .sendToTarget();
        }

        @Override // binder call
        public void onUdfpsPointerDown(int sensorId) {
            mHandler.obtainMessage(MSG_UDFPS_POINTER_DOWN, sensorId, 0).sendToTarget();
        }

        @Override // binder call
        public void onUdfpsPointerUp(int sensorId) {
            mHandler.obtainMessage(MSG_UDFPS_POINTER_UP, sensorId, 0).sendToTarget();

        }
    };

}
+2 −0
Original line number Diff line number Diff line
@@ -30,4 +30,6 @@ oneway interface IFingerprintServiceReceiver {
    void onError(int error, int vendorCode);
    void onRemoved(in Fingerprint fp, int remaining);
    void onChallengeGenerated(int sensorId, long challenge);
    void onUdfpsPointerDown(int sensorId);
    void onUdfpsPointerUp(int sensorId);
}
+10 −0
Original line number Diff line number Diff line
@@ -1314,6 +1314,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
        public void onAuthenticationAcquired(int acquireInfo) {
            handleFingerprintAcquired(acquireInfo);
        }

        @Override
        public void onUdfpsPointerDown(int sensorId) {
            Log.d(TAG, "onUdfpsPointerDown, sensorId: " + sensorId);
        }

        @Override
        public void onUdfpsPointerUp(int sensorId) {
            Log.d(TAG, "onUdfpsPointerUp, sensorId: " + sensorId);
        }
    };

    private final FaceManager.FaceDetectionCallback mFaceDetectionCallback
+14 −0
Original line number Diff line number Diff line
@@ -160,4 +160,18 @@ public class ClientMonitorCallbackConverter {
            mFaceServiceReceiver.onChallengeInterruptFinished(sensorId);
        }
    }

    // Fingerprint-specific callbacks for FingerprintManager only

    public void onUdfpsPointerDown(int sensorId, int cookie) throws RemoteException {
        if (mFingerprintServiceReceiver != null) {
            mFingerprintServiceReceiver.onUdfpsPointerDown(sensorId);
        }
    }

    public void onUdfpsPointerUp(int sensorId, int cookie) throws RemoteException {
        if (mFingerprintServiceReceiver != null) {
            mFingerprintServiceReceiver.onUdfpsPointerUp(sensorId);
        }
    }
}
+10 −0
Original line number Diff line number Diff line
@@ -96,6 +96,16 @@ class BiometricTestSessionImpl extends ITestSession.Stub {
        public void onChallengeGenerated(int sensorId, long challenge) {

        }

        @Override
        public void onUdfpsPointerDown(int sensorId) {

        }

        @Override
        public void onUdfpsPointerUp(int sensorId) {

        }
    };

    BiometricTestSessionImpl(@NonNull Context context, int sensorId,
Loading