From 1417f1f0e76b749b258fccabd578a2bd60bf4a25 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Mon, 25 Feb 2019 11:38:57 -0800 Subject: [PATCH] Adhere to HIDL contract on cancel() method Do not invoke the cancel method multiple times for a single client. This currently can happen if the client cancels, and subsequently crashes. Bug: 126205289 Test: Builds Change-Id: I542ab23298b02928c872a255d0980d6e7e27f6c3 --- .../java/com/android/server/biometrics/ClientMonitor.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/ClientMonitor.java b/services/core/java/com/android/server/biometrics/ClientMonitor.java index e80b39ba9d1ff..89fa2de92c1c6 100644 --- a/services/core/java/com/android/server/biometrics/ClientMonitor.java +++ b/services/core/java/com/android/server/biometrics/ClientMonitor.java @@ -209,11 +209,7 @@ public abstract class ClientMonitor extends LoggableMonitor implements IBinder.D public void binderDied() { // If the current client dies we should cancel the current operation. Slog.e(getLogTag(), "Binder died, cancelling client"); - try { - getDaemonWrapper().cancel(); - } catch (RemoteException e) { - Slog.e(getLogTag(), "Remote exception", e); - } + stop(false /* initiatedByClient */); mToken = null; mListener = null; }