Fixed canceling fill request caused removal current session
A quick switch focus causes the fill request to be canceled and the
current session is deleted when it is considered to be a failure.
The new fill request will not work after that. To prevent this issue,
this change is to avoid cancelng request is treated as a failure.
Fixes: 135486325
Test: atest CtsAutoFillServiceTestCases
Change-Id: I213f79da5b248e46f5be1a940ceebb7ee99e00f3
diff --git a/services/autofill/java/com/android/server/autofill/RemoteFillService.java b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
index 44f19ff..5a9320f 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteFillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
@@ -187,10 +187,9 @@
if (err instanceof TimeoutException) {
dispatchCancellationSignal(cancellationSink.get());
mCallbacks.onFillRequestTimeout(request.getId());
+ } else if (err instanceof CancellationException) {
+ dispatchCancellationSignal(cancellationSink.get());
} else {
- if (err instanceof CancellationException) {
- dispatchCancellationSignal(cancellationSink.get());
- }
mCallbacks.onFillRequestFailure(request.getId(), err.getMessage());
}
}