diff options
| -rw-r--r-- | services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/biometrics/sensors/face/Face10.java | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java b/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java index e585b48d49b6..3c9dddd0b905 100644 --- a/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java +++ b/services/core/java/com/android/server/biometrics/sensors/ClientMonitor.java @@ -176,6 +176,9 @@ public abstract class ClientMonitor<T> extends LoggableMonitor implements IBinde // TODO(b/157790417): Move this to the scheduler void binderDiedInternal(boolean clearListener) { + Slog.e(TAG, "Binder died, owner: " + getOwnerString() + + ", operation: " + this.getClass().getName()); + if (isAlreadyDone()) { Slog.w(TAG, "Binder died but client is finished, ignoring"); return; diff --git a/services/core/java/com/android/server/biometrics/sensors/face/Face10.java b/services/core/java/com/android/server/biometrics/sensors/face/Face10.java index c134a3faca4f..d2c35feccc11 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/Face10.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/Face10.java @@ -510,8 +510,15 @@ class Face10 implements IHwBinder.DeathRecipient { if (mCurrentChallengeOwner != null) { Slog.w(TAG, "Current challenge owner: " + mCurrentChallengeOwner + ", interrupted by: " + opPackageName); + final ClientMonitorCallbackConverter listener = + mCurrentChallengeOwner.getListener(); + if (listener == null) { + Slog.w(TAG, "Null listener, skip sending interruption callback"); + return; + } + try { - mCurrentChallengeOwner.getListener().onChallengeInterrupted(mSensorId); + listener.onChallengeInterrupted(mSensorId); } catch (RemoteException e) { Slog.e(TAG, "Unable to notify challenge interrupted", e); } @@ -524,7 +531,7 @@ class Face10 implements IHwBinder.DeathRecipient { @Override public void onClientStarted(@NonNull ClientMonitor<?> clientMonitor) { if (client != clientMonitor) { - Slog.e(TAG, "scheduleGenerateChallenge, mismatched client." + Slog.e(TAG, "scheduleGenerateChallenge onClientStarted, mismatched client." + " Expecting: " + client + ", received: " + clientMonitor); return; } |