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

Commit a36dcece authored by Ilya Matyukhin's avatar Ilya Matyukhin
Browse files

Add onFingerDown/onFingerUp to FingerprintService

Bug: 158135499
Test: build
Change-Id: I31ee7bc9921085b85149b2691ff6253b64fc7b78
parent b630ecfb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -104,4 +104,10 @@ interface IFingerprintService {

    // Give FingerprintService its ID. See AuthService.java
    void initializeConfiguration(int sensorId);

    // Notifies about a finger touching the sensor area.
    void onFingerDown(int x, int y, float minor, float major);

    // Notifies about a finger leaving the sensor area.
    void onFingerUp();
}
+1 −1
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ java_library_static {
        "android.hardware.tv.cec-V1.0-java",
        "android.hardware.weaver-V1.0-java",
        "android.hardware.biometrics.face-V1.1-java",
        "android.hardware.biometrics.fingerprint-V2.2-java",
        "android.hardware.biometrics.fingerprint-V2.3-java",
        "android.hardware.oemlock-V1.0-java",
        "android.hardware.configstore-V1.0-java",
        "android.hardware.contexthub-V1.0-java",
+44 −0
Original line number Diff line number Diff line
@@ -345,6 +345,50 @@ public class FingerprintService extends BiometricServiceBase {
            checkPermission(USE_BIOMETRIC_INTERNAL);
            initializeConfigurationInternal(sensorId);
        }

        @Override
        public void onFingerDown(int x, int y, float minor, float major) {
            checkPermission(USE_BIOMETRIC_INTERNAL);
            IBiometricsFingerprint daemon = getFingerprintDaemon();
            if (daemon == null) {
                Slog.e(TAG, "onFingerDown | daemon is null");
            } else {
                android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint extension =
                        android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
                                daemon);
                if (extension == null) {
                    Slog.v(TAG, "onFingerDown | failed to cast the HIDL to V2_3");
                } else {
                    try {
                        extension.onFingerDown(x, y, minor, major);
                    } catch (RemoteException e) {
                        Slog.e(TAG, "onFingerDown | RemoteException: ", e);
                    }
                }
            }
        }

        @Override
        public void onFingerUp() {
            checkPermission(USE_BIOMETRIC_INTERNAL);
            IBiometricsFingerprint daemon = getFingerprintDaemon();
            if (daemon == null) {
                Slog.e(TAG, "onFingerUp | daemon is null");
            } else {
                android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint extension =
                        android.hardware.biometrics.fingerprint.V2_3.IBiometricsFingerprint.castFrom(
                                daemon);
                if (extension == null) {
                    Slog.v(TAG, "onFingerUp | failed to cast the HIDL to V2_3");
                } else {
                    try {
                        extension.onFingerUp();
                    } catch (RemoteException e) {
                        Slog.e(TAG, "onFingerUp | RemoteException: ", e);
                    }
                }
            }
        }
    }

    private final LockoutFrameworkImpl mLockoutTracker;