diff options
| -rw-r--r-- | services/core/java/com/android/server/biometrics/biometrics.aconfig | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java | 13 |
2 files changed, 22 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/biometrics/biometrics.aconfig b/services/core/java/com/android/server/biometrics/biometrics.aconfig index b2e95aa1cf28..d3da8dd2cfda 100644 --- a/services/core/java/com/android/server/biometrics/biometrics.aconfig +++ b/services/core/java/com/android/server/biometrics/biometrics.aconfig @@ -24,3 +24,13 @@ flag { purpose: PURPOSE_BUGFIX } } + +flag { + name: "set_ignore_speed_up" + namespace: "biometrics_framework" + description: "This flag controls whether setIgnoreDisplayTouches is called directly on session from FingerprintProvider" + bug: "359289274" + metadata { + purpose: PURPOSE_BUGFIX + } +} diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java index 9edaa4e6d818..73baea83dfde 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java @@ -791,7 +791,17 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void setIgnoreDisplayTouches(long requestId, int sensorId, boolean ignoreTouches) { - mFingerprintSensors.get(sensorId).getScheduler().getCurrentClientIfMatches( + if (Flags.setIgnoreSpeedUp()) { + try { + mFingerprintSensors.get( + sensorId).getLazySession().get().getSession().setIgnoreDisplayTouches( + ignoreTouches); + Slog.d(getTag(), "setIgnoreDisplayTouches set to " + ignoreTouches); + } catch (Exception e) { + Slog.w(getTag(), "setIgnore failed", e); + } + } else { + mFingerprintSensors.get(sensorId).getScheduler().getCurrentClientIfMatches( requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), @@ -800,6 +810,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi } ((Udfps) client).setIgnoreDisplayTouches(ignoreTouches); }); + } } @Override |