Loading core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl +6 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,12 @@ oneway interface IUdfpsOverlayController { // Hides the overlay. // Hides the overlay. void hideUdfpsOverlay(int sensorId); void hideUdfpsOverlay(int sensorId); // Notifies of enrollment progress changes. void onEnrollmentProgress(int sensorId, int remaining); // Notifies when a non-terminal error occurs (e.g. user moved their finger too fast). void onEnrollmentHelp(int sensorId); // Shows debug messages on the UDFPS overlay. // Shows debug messages on the UDFPS overlay. void setDebugMessage(int sensorId, String message); void setDebugMessage(int sensorId, String message); } } packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationEnroll.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.RectF; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; Loading Loading @@ -85,4 +86,12 @@ public class UdfpsAnimationEnroll extends UdfpsAnimation { public int getOpacity() { public int getOpacity() { return 0; return 0; } } public void onEnrollmentProgress(int remaining) { Log.d(TAG, "Remaining: " + remaining); } public void onEnrollmentHelp() { Log.d(TAG, "onEnrollmentHelp"); } } } packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -130,6 +130,16 @@ class UdfpsController implements DozeReceiver { UdfpsController.this.hideOverlay(); UdfpsController.this.hideOverlay(); } } @Override public void onEnrollmentProgress(int sensorId, int remaining) { mView.onEnrollmentProgress(remaining); } @Override public void onEnrollmentHelp(int sensorId) { mView.onEnrollmentHelp(); } @Override @Override public void setDebugMessage(int sensorId, String message) { public void setDebugMessage(int sensorId, String message) { mView.setDebugMessage(message); mView.setDebugMessage(message); Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,6 @@ public class UdfpsView extends View implements DozeReceiver { @NonNull private final Paint mSensorPaint; @NonNull private final Paint mSensorPaint; private final float mSensorTouchAreaCoefficient; private final float mSensorTouchAreaCoefficient; // Stores rounded up values from mSensorRect. Necessary for APIs that only take Rect (not RecF). // Stores rounded up values from mSensorRect. Necessary for APIs that only take Rect (not RecF). @NonNull private final Rect mTouchableRegion; @NonNull private final Rect mTouchableRegion; // mInsetsListener is used to set the touchable region for our window. Our window covers the // mInsetsListener is used to set the touchable region for our window. Our window covers the Loading Loading @@ -281,4 +280,16 @@ public class UdfpsView extends View implements DozeReceiver { mShowScrimAndDot = false; mShowScrimAndDot = false; invalidate(); invalidate(); } } void onEnrollmentProgress(int remaining) { if (mUdfpsAnimation instanceof UdfpsAnimationEnroll) { ((UdfpsAnimationEnroll) mUdfpsAnimation).onEnrollmentProgress(remaining); } } void onEnrollmentHelp() { if (mUdfpsAnimation instanceof UdfpsAnimationEnroll) { ((UdfpsAnimationEnroll) mUdfpsAnimation).onEnrollmentHelp(); } } } } services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java +32 −0 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.server.biometrics.sensors.fingerprint; package com.android.server.biometrics.sensors.fingerprint; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.content.Context; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IUdfpsOverlayController; import android.hardware.fingerprint.IUdfpsOverlayController; import android.os.RemoteException; import android.os.RemoteException; import android.util.Slog; import android.util.Slog; Loading Loading @@ -85,4 +88,33 @@ public class UdfpsHelper { Slog.e(TAG, "Remote exception when hiding the UDFPS overlay", e); Slog.e(TAG, "Remote exception when hiding the UDFPS overlay", e); } } } } public static void onEnrollmentProgress(int sensorId, int remaining, @Nullable IUdfpsOverlayController udfpsOverlayController) { if (udfpsOverlayController == null) { return; } try { udfpsOverlayController.onEnrollmentProgress(sensorId, remaining); } catch (RemoteException e) { Slog.e(TAG, "Remote exception when sending onEnrollmentProgress", e); } } public static void onEnrollmentHelp(int sensorId, @Nullable IUdfpsOverlayController udfpsOverlayController) { if (udfpsOverlayController == null) { return; } try { udfpsOverlayController.onEnrollmentHelp(sensorId); } catch (RemoteException e) { Slog.e(TAG, "Remote exception when sending onEnrollmentHelp", e); } } public static boolean isValidAcquisitionMessage(@NonNull Context context, int acquireInfo, int vendorCode) { return FingerprintManager.getAcquiredString(context, acquireInfo, vendorCode) != null; } } } Loading
core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl +6 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,12 @@ oneway interface IUdfpsOverlayController { // Hides the overlay. // Hides the overlay. void hideUdfpsOverlay(int sensorId); void hideUdfpsOverlay(int sensorId); // Notifies of enrollment progress changes. void onEnrollmentProgress(int sensorId, int remaining); // Notifies when a non-terminal error occurs (e.g. user moved their finger too fast). void onEnrollmentHelp(int sensorId); // Shows debug messages on the UDFPS overlay. // Shows debug messages on the UDFPS overlay. void setDebugMessage(int sensorId, String message); void setDebugMessage(int sensorId, String message); } }
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsAnimationEnroll.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Paint; import android.graphics.RectF; import android.graphics.RectF; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; Loading Loading @@ -85,4 +86,12 @@ public class UdfpsAnimationEnroll extends UdfpsAnimation { public int getOpacity() { public int getOpacity() { return 0; return 0; } } public void onEnrollmentProgress(int remaining) { Log.d(TAG, "Remaining: " + remaining); } public void onEnrollmentHelp() { Log.d(TAG, "onEnrollmentHelp"); } } }
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -130,6 +130,16 @@ class UdfpsController implements DozeReceiver { UdfpsController.this.hideOverlay(); UdfpsController.this.hideOverlay(); } } @Override public void onEnrollmentProgress(int sensorId, int remaining) { mView.onEnrollmentProgress(remaining); } @Override public void onEnrollmentHelp(int sensorId) { mView.onEnrollmentHelp(); } @Override @Override public void setDebugMessage(int sensorId, String message) { public void setDebugMessage(int sensorId, String message) { mView.setDebugMessage(message); mView.setDebugMessage(message); Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,6 @@ public class UdfpsView extends View implements DozeReceiver { @NonNull private final Paint mSensorPaint; @NonNull private final Paint mSensorPaint; private final float mSensorTouchAreaCoefficient; private final float mSensorTouchAreaCoefficient; // Stores rounded up values from mSensorRect. Necessary for APIs that only take Rect (not RecF). // Stores rounded up values from mSensorRect. Necessary for APIs that only take Rect (not RecF). @NonNull private final Rect mTouchableRegion; @NonNull private final Rect mTouchableRegion; // mInsetsListener is used to set the touchable region for our window. Our window covers the // mInsetsListener is used to set the touchable region for our window. Our window covers the Loading Loading @@ -281,4 +280,16 @@ public class UdfpsView extends View implements DozeReceiver { mShowScrimAndDot = false; mShowScrimAndDot = false; invalidate(); invalidate(); } } void onEnrollmentProgress(int remaining) { if (mUdfpsAnimation instanceof UdfpsAnimationEnroll) { ((UdfpsAnimationEnroll) mUdfpsAnimation).onEnrollmentProgress(remaining); } } void onEnrollmentHelp() { if (mUdfpsAnimation instanceof UdfpsAnimationEnroll) { ((UdfpsAnimationEnroll) mUdfpsAnimation).onEnrollmentHelp(); } } } }
services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java +32 −0 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.server.biometrics.sensors.fingerprint; package com.android.server.biometrics.sensors.fingerprint; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.content.Context; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IUdfpsOverlayController; import android.hardware.fingerprint.IUdfpsOverlayController; import android.os.RemoteException; import android.os.RemoteException; import android.util.Slog; import android.util.Slog; Loading Loading @@ -85,4 +88,33 @@ public class UdfpsHelper { Slog.e(TAG, "Remote exception when hiding the UDFPS overlay", e); Slog.e(TAG, "Remote exception when hiding the UDFPS overlay", e); } } } } public static void onEnrollmentProgress(int sensorId, int remaining, @Nullable IUdfpsOverlayController udfpsOverlayController) { if (udfpsOverlayController == null) { return; } try { udfpsOverlayController.onEnrollmentProgress(sensorId, remaining); } catch (RemoteException e) { Slog.e(TAG, "Remote exception when sending onEnrollmentProgress", e); } } public static void onEnrollmentHelp(int sensorId, @Nullable IUdfpsOverlayController udfpsOverlayController) { if (udfpsOverlayController == null) { return; } try { udfpsOverlayController.onEnrollmentHelp(sensorId); } catch (RemoteException e) { Slog.e(TAG, "Remote exception when sending onEnrollmentHelp", e); } } public static boolean isValidAcquisitionMessage(@NonNull Context context, int acquireInfo, int vendorCode) { return FingerprintManager.getAcquiredString(context, acquireInfo, vendorCode) != null; } } }