Loading services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java +19 −7 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import java.util.Date; import java.util.Deque; import java.util.List; import java.util.Locale; import java.util.function.Consumer; /** * A scheduler for biometric HAL operations. Maintains a queue of {@link BaseClientMonitor} Loading Loading @@ -457,22 +458,33 @@ public class BiometricScheduler { } /** * Get current operation <code>BaseClientMonitor</code> * @deprecated TODO: b/229994966, encapsulate client monitors * @return the current operation */ @Deprecated @Nullable public BaseClientMonitor getCurrentClient() { return mCurrentOperation != null ? mCurrentOperation.getClientMonitor() : null; } /** The current operation if the requestId is set and matches. */ /** * The current operation if the requestId is set and matches. * @deprecated TODO: b/229994966, encapsulate client monitors */ @Deprecated @Nullable public BaseClientMonitor getCurrentClientIfMatches(long requestId) { public void getCurrentClientIfMatches(long requestId, @NonNull Consumer<BaseClientMonitor> clientMonitorConsumer) { mHandler.post(() -> { if (mCurrentOperation != null) { if (mCurrentOperation.isMatchingRequestId(requestId)) { return mCurrentOperation.getClientMonitor(); clientMonitorConsumer.accept(mCurrentOperation.getClientMonitor()); return; } } return null; clientMonitorConsumer.accept(null); }); } public int getCurrentPendingCount() { Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +21 −21 Original line number Diff line number Diff line Loading @@ -582,35 +582,35 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void onPointerDown(long requestId, int sensorId, int x, int y, float minor, float major) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onPointerDown received during client: " + client); return; } ((Udfps) client).onPointerDown(x, y, minor, major); }); } @Override public void onPointerUp(long requestId, int sensorId) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onPointerUp received during client: " + client); return; } ((Udfps) client).onPointerUp(); }); } @Override public void onUiReady(long requestId, int sensorId) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onUiReady received during client: " + client); return; } ((Udfps) client).onUiReady(); }); } @Override Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +21 −18 Original line number Diff line number Diff line Loading @@ -794,32 +794,35 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider @Override public void onPointerDown(long requestId, int sensorId, int x, int y, float minor, float major) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onFingerDown received during client: " + client); return; } ((Udfps) client).onPointerDown(x, y, minor, major); }); } @Override public void onPointerUp(long requestId, int sensorId) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onFingerDown received during client: " + client); return; } ((Udfps) client).onPointerUp(); }); } @Override public void onUiReady(long requestId, int sensorId) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onUiReady received during client: " + client); return; } ((Udfps) client).onUiReady(); }); } @Override Loading Loading
services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java +19 −7 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import java.util.Date; import java.util.Deque; import java.util.List; import java.util.Locale; import java.util.function.Consumer; /** * A scheduler for biometric HAL operations. Maintains a queue of {@link BaseClientMonitor} Loading Loading @@ -457,22 +458,33 @@ public class BiometricScheduler { } /** * Get current operation <code>BaseClientMonitor</code> * @deprecated TODO: b/229994966, encapsulate client monitors * @return the current operation */ @Deprecated @Nullable public BaseClientMonitor getCurrentClient() { return mCurrentOperation != null ? mCurrentOperation.getClientMonitor() : null; } /** The current operation if the requestId is set and matches. */ /** * The current operation if the requestId is set and matches. * @deprecated TODO: b/229994966, encapsulate client monitors */ @Deprecated @Nullable public BaseClientMonitor getCurrentClientIfMatches(long requestId) { public void getCurrentClientIfMatches(long requestId, @NonNull Consumer<BaseClientMonitor> clientMonitorConsumer) { mHandler.post(() -> { if (mCurrentOperation != null) { if (mCurrentOperation.isMatchingRequestId(requestId)) { return mCurrentOperation.getClientMonitor(); clientMonitorConsumer.accept(mCurrentOperation.getClientMonitor()); return; } } return null; clientMonitorConsumer.accept(null); }); } public int getCurrentPendingCount() { Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +21 −21 Original line number Diff line number Diff line Loading @@ -582,35 +582,35 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void onPointerDown(long requestId, int sensorId, int x, int y, float minor, float major) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onPointerDown received during client: " + client); return; } ((Udfps) client).onPointerDown(x, y, minor, major); }); } @Override public void onPointerUp(long requestId, int sensorId) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onPointerUp received during client: " + client); return; } ((Udfps) client).onPointerUp(); }); } @Override public void onUiReady(long requestId, int sensorId) { final BaseClientMonitor client = mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId); mSensors.get(sensorId).getScheduler().getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "onUiReady received during client: " + client); return; } ((Udfps) client).onUiReady(); }); } @Override Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +21 −18 Original line number Diff line number Diff line Loading @@ -794,32 +794,35 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider @Override public void onPointerDown(long requestId, int sensorId, int x, int y, float minor, float major) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onFingerDown received during client: " + client); return; } ((Udfps) client).onPointerDown(x, y, minor, major); }); } @Override public void onPointerUp(long requestId, int sensorId) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onFingerDown received during client: " + client); return; } ((Udfps) client).onPointerUp(); }); } @Override public void onUiReady(long requestId, int sensorId) { final BaseClientMonitor client = mScheduler.getCurrentClientIfMatches(requestId); mScheduler.getCurrentClientIfMatches(requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.w(TAG, "onUiReady received during client: " + client); return; } ((Udfps) client).onUiReady(); }); } @Override Loading