summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoran Zhang <haoranzhang@google.com>2023-10-23 17:18:04 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-10-26 00:10:56 +0000
commitf4da8c82de1f40da57ad63ccd17e3e232d37431b (patch)
tree1c0d79c4dc271b90b9489fbca4991d86425ff2f9
parent494381c87555c1dbeef5ed0d2cc7e496816ff84b (diff)
downloadbase-f4da8c82de1f40da57ad63ccd17e3e232d37431b.tar.gz
Revert "Resolve session linger caused by RemoteFillService."
This reverts commit 58e1c93cda4749de5509c2718d82e5558c8c9501. Reason for revert: b/306964891. (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:29d48b546d4118caec3cbce0eee528ad6cb5a6ed) Merged-In: I09f6c9d3570aed0f94385b46f7103e836693e502 Change-Id: I09f6c9d3570aed0f94385b46f7103e836693e502
-rw-r--r--services/autofill/java/com/android/server/autofill/RemoteFillService.java17
1 files changed, 2 insertions, 15 deletions
diff --git a/services/autofill/java/com/android/server/autofill/RemoteFillService.java b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
index 423b85f9305f..4688658bf1c3 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteFillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
@@ -56,7 +56,7 @@ final class RemoteFillService extends ServiceConnector.Impl<IAutoFillService> {
private static final long TIMEOUT_IDLE_BIND_MILLIS = 5 * DateUtils.SECOND_IN_MILLIS;
private static final long TIMEOUT_REMOTE_REQUEST_MILLIS = 5 * DateUtils.SECOND_IN_MILLIS;
- private FillServiceCallbacks mCallbacks;
+ private final FillServiceCallbacks mCallbacks;
private final Object mLock = new Object();
private CompletableFuture<FillResponse> mPendingFillRequest;
private int mPendingFillRequestId = INVALID_REQUEST_ID;
@@ -128,12 +128,9 @@ final class RemoteFillService extends ServiceConnector.Impl<IAutoFillService> {
*/
public int cancelCurrentRequest() {
synchronized (mLock) {
- int canceledRequestId = mPendingFillRequest != null && mPendingFillRequest.cancel(false)
+ return mPendingFillRequest != null && mPendingFillRequest.cancel(false)
? mPendingFillRequestId
: INVALID_REQUEST_ID;
- mPendingFillRequest = null;
- mPendingFillRequestId = INVALID_REQUEST_ID;
- return canceledRequestId;
}
}
@@ -187,10 +184,6 @@ final class RemoteFillService extends ServiceConnector.Impl<IAutoFillService> {
mPendingFillRequest = null;
mPendingFillRequestId = INVALID_REQUEST_ID;
}
- if (mCallbacks == null) {
- Slog.w(TAG, "Error calling RemoteFillService - service already unbound");
- return;
- }
if (err == null) {
mCallbacks.onFillRequestSuccess(request.getId(), res,
mComponentName.getPackageName(), request.getFlags());
@@ -227,10 +220,6 @@ final class RemoteFillService extends ServiceConnector.Impl<IAutoFillService> {
return save;
}).orTimeout(TIMEOUT_REMOTE_REQUEST_MILLIS, TimeUnit.MILLISECONDS)
.whenComplete((res, err) -> Handler.getMain().post(() -> {
- if (mCallbacks == null) {
- Slog.w(TAG, "Error calling RemoteFillService - service already unbound");
- return;
- }
if (err == null) {
mCallbacks.onSaveRequestSuccess(mComponentName.getPackageName(), res);
} else {
@@ -245,8 +234,6 @@ final class RemoteFillService extends ServiceConnector.Impl<IAutoFillService> {
}
public void destroy() {
- cancelCurrentRequest();
unbind();
- mCallbacks = null;
}
}