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

Commit 57041df3 authored by Ilya Matyukhin's avatar Ilya Matyukhin Committed by Android (Google) Code Review
Browse files

Merge "Propagate PointerContext for UDFPS touch events"

parents 505ca445 10ae7f2e
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -95,8 +95,11 @@ filegroup {
        ":platform-compat-native-aidl",
        ":platform-compat-native-aidl",


        // AIDL sources from external directories
        // AIDL sources from external directories
        ":android.hardware.biometrics.common-V3-java-source",
        ":android.hardware.biometrics.fingerprint-V3-java-source",
        ":android.hardware.gnss-V2-java-source",
        ":android.hardware.gnss-V2-java-source",
        ":android.hardware.graphics.common-V3-java-source",
        ":android.hardware.graphics.common-V3-java-source",
        ":android.hardware.keymaster-V4-java-source",
        ":android.hardware.security.keymint-V2-java-source",
        ":android.hardware.security.keymint-V2-java-source",
        ":android.hardware.security.secureclock-V1-java-source",
        ":android.hardware.security.secureclock-V1-java-source",
        ":android.hardware.tv.tuner-V1-java-source",
        ":android.hardware.tv.tuner-V1-java-source",
@@ -332,7 +335,10 @@ java_defaults {
            "packages/modules/Bluetooth/framework/aidl-export",
            "packages/modules/Bluetooth/framework/aidl-export",
            "packages/modules/Connectivity/framework/aidl-export",
            "packages/modules/Connectivity/framework/aidl-export",
            "packages/modules/Media/apex/aidl/stable",
            "packages/modules/Media/apex/aidl/stable",
            "hardware/interfaces/biometrics/common/aidl",
            "hardware/interfaces/biometrics/fingerprint/aidl",
            "hardware/interfaces/graphics/common/aidl",
            "hardware/interfaces/graphics/common/aidl",
            "hardware/interfaces/keymaster/aidl",
        ],
        ],
    },
    },
    dxflags: [
    dxflags: [
@@ -617,7 +623,10 @@ stubs_defaults {
            "packages/modules/Bluetooth/framework/aidl-export",
            "packages/modules/Bluetooth/framework/aidl-export",
            "packages/modules/Connectivity/framework/aidl-export",
            "packages/modules/Connectivity/framework/aidl-export",
            "packages/modules/Media/apex/aidl/stable",
            "packages/modules/Media/apex/aidl/stable",
            "hardware/interfaces/biometrics/common/aidl",
            "hardware/interfaces/biometrics/fingerprint/aidl",
            "hardware/interfaces/graphics/common/aidl",
            "hardware/interfaces/graphics/common/aidl",
            "hardware/interfaces/keymaster/aidl",
        ],
        ],
    },
    },
    // These are libs from framework-internal-utils that are required (i.e. being referenced)
    // These are libs from framework-internal-utils that are required (i.e. being referenced)
+11 −2
Original line number Original line Diff line number Diff line
@@ -49,6 +49,7 @@ import android.hardware.biometrics.BiometricStateListener;
import android.hardware.biometrics.BiometricTestSession;
import android.hardware.biometrics.BiometricTestSession;
import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
import android.hardware.biometrics.IBiometricServiceLockoutResetCallback;
import android.hardware.biometrics.SensorProperties;
import android.hardware.biometrics.SensorProperties;
import android.hardware.biometrics.fingerprint.PointerContext;
import android.os.Binder;
import android.os.Binder;
import android.os.Build;
import android.os.Build;
import android.os.CancellationSignal;
import android.os.CancellationSignal;
@@ -959,8 +960,14 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
            return;
            return;
        }
        }


        final PointerContext pc = new PointerContext();
        pc.x = (int) x;
        pc.y = (int) y;
        pc.minor = minor;
        pc.major = major;

        try {
        try {
            mService.onPointerDown(requestId, sensorId, x, y, minor, major);
            mService.onPointerDown(requestId, sensorId, pc);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
@@ -976,8 +983,10 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing
            return;
            return;
        }
        }


        final PointerContext pc = new PointerContext();

        try {
        try {
            mService.onPointerUp(requestId, sensorId);
            mService.onPointerUp(requestId, sensorId, pc);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
+3 −2
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ import android.hardware.biometrics.IBiometricStateListener;
import android.hardware.biometrics.IInvalidationCallback;
import android.hardware.biometrics.IInvalidationCallback;
import android.hardware.biometrics.ITestSession;
import android.hardware.biometrics.ITestSession;
import android.hardware.biometrics.ITestSessionCallback;
import android.hardware.biometrics.ITestSessionCallback;
import android.hardware.biometrics.fingerprint.PointerContext;
import android.hardware.fingerprint.IFingerprintClientActiveCallback;
import android.hardware.fingerprint.IFingerprintClientActiveCallback;
import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
import android.hardware.fingerprint.IFingerprintServiceReceiver;
import android.hardware.fingerprint.IFingerprintServiceReceiver;
@@ -184,11 +185,11 @@ interface IFingerprintService {


    // Notifies about a finger touching the sensor area.
    // Notifies about a finger touching the sensor area.
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
    void onPointerDown(long requestId, int sensorId, int x, int y, float minor, float major);
    void onPointerDown(long requestId, int sensorId, in PointerContext pc);


    // Notifies about a finger leaving the sensor area.
    // Notifies about a finger leaving the sensor area.
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
    void onPointerUp(long requestId, int sensorId);
    void onPointerUp(long requestId, int sensorId, in PointerContext pc);


    // Notifies about the fingerprint UI being ready (e.g. HBM illumination is enabled).
    // Notifies about the fingerprint UI being ready (e.g. HBM illumination is enabled).
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
    @EnforcePermission("USE_BIOMETRIC_INTERNAL")
+1 −2
Original line number Original line Diff line number Diff line
@@ -100,7 +100,7 @@ java_library_static {
    name: "services.core.unboosted",
    name: "services.core.unboosted",
    defaults: ["platform_service_defaults"],
    defaults: ["platform_service_defaults"],
    srcs: [
    srcs: [
        ":android.hardware.biometrics.face-V2-java-source",
        ":android.hardware.biometrics.face-V3-java-source",
        ":statslog-art-java-gen",
        ":statslog-art-java-gen",
        ":statslog-contexthub-java-gen",
        ":statslog-contexthub-java-gen",
        ":services.core-sources",
        ":services.core-sources",
@@ -161,7 +161,6 @@ java_library_static {
        "android.hardware.weaver-V1.0-java",
        "android.hardware.weaver-V1.0-java",
        "android.hardware.biometrics.face-V1.0-java",
        "android.hardware.biometrics.face-V1.0-java",
        "android.hardware.biometrics.fingerprint-V2.3-java",
        "android.hardware.biometrics.fingerprint-V2.3-java",
        "android.hardware.biometrics.fingerprint-V2-java",
        "android.hardware.oemlock-V1.0-java",
        "android.hardware.oemlock-V1.0-java",
        "android.hardware.configstore-V1.1-java",
        "android.hardware.configstore-V1.1-java",
        "android.hardware.ir-V1-java",
        "android.hardware.ir-V1-java",
+6 −7
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@ import android.hardware.biometrics.IInvalidationCallback;
import android.hardware.biometrics.ITestSession;
import android.hardware.biometrics.ITestSession;
import android.hardware.biometrics.ITestSessionCallback;
import android.hardware.biometrics.ITestSessionCallback;
import android.hardware.biometrics.fingerprint.IFingerprint;
import android.hardware.biometrics.fingerprint.IFingerprint;
import android.hardware.biometrics.fingerprint.PointerContext;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
@@ -881,29 +882,27 @@ public class FingerprintService extends SystemService {


        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
        @Override
        @Override
        public void onPointerDown(long requestId, int sensorId, int x, int y,
        public void onPointerDown(long requestId, int sensorId, PointerContext pc) {
                float minor, float major) {
            super.onPointerDown_enforcePermission();
            super.onPointerDown_enforcePermission();

            final ServiceProvider provider = mRegistry.getProviderForSensor(sensorId);
            final ServiceProvider provider = mRegistry.getProviderForSensor(sensorId);
            if (provider == null) {
            if (provider == null) {
                Slog.w(TAG, "No matching provider for onFingerDown, sensorId: " + sensorId);
                Slog.w(TAG, "No matching provider for onFingerDown, sensorId: " + sensorId);
                return;
                return;
            }
            }
            provider.onPointerDown(requestId, sensorId, x, y, minor, major);
            provider.onPointerDown(requestId, sensorId, pc);
        }
        }


        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
        @Override
        @Override
        public void onPointerUp(long requestId, int sensorId) {
            super.onPointerUp_enforcePermission();


        public void onPointerUp(long requestId, int sensorId, PointerContext pc) {
            super.onPointerUp_enforcePermission();
            final ServiceProvider provider = mRegistry.getProviderForSensor(sensorId);
            final ServiceProvider provider = mRegistry.getProviderForSensor(sensorId);
            if (provider == null) {
            if (provider == null) {
                Slog.w(TAG, "No matching provider for onFingerUp, sensorId: " + sensorId);
                Slog.w(TAG, "No matching provider for onFingerUp, sensorId: " + sensorId);
                return;
                return;
            }
            }
            provider.onPointerUp(requestId, sensorId);
            provider.onPointerUp(requestId, sensorId, pc);
        }
        }


        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
        @android.annotation.EnforcePermission(android.Manifest.permission.USE_BIOMETRIC_INTERNAL)
Loading