[BugFix][Fingerprint]fix client was canceled by service by mistake am: 16aa67ef5e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12484242

Change-Id: I1228bf95900a21273664485f24171250e59929a8
This commit is contained in:
Kevin Chyn
2020-08-29 00:37:36 +00:00
committed by Automerger Merge Worker
2 changed files with 7 additions and 0 deletions

View File

@@ -221,6 +221,9 @@ public abstract class AuthenticationClient extends ClientMonitor {
}
}
result = lockoutMode != LOCKOUT_NONE; // in a lockout mode
if(result) { // locked out
mAlreadyDone = true;
}
}
} catch (RemoteException e) {
Slog.e(getLogTag(), "Remote exception", e);

View File

@@ -237,6 +237,10 @@ public abstract class ClientMonitor extends LoggableMonitor implements IBinder.D
}
void binderDiedInternal(boolean clearListener) {
if (isAlreadyDone()) {
Slog.w(getLogTag(), "Binder died but client is finished, ignoring");
return;
}
// If the current client dies we should cancel the current operation.
Slog.e(getLogTag(), "Binder died, cancelling client");
stop(false /* initiatedByClient */);