diff options
| author | 2023-03-07 03:09:06 +0000 | |
|---|---|---|
| committer | 2023-03-07 03:09:06 +0000 | |
| commit | b7d1ff47e6db85a49340fb93bc0355e7bcea35bd (patch) | |
| tree | 3a3cb3d5445ef4b847890e7f2da83337d4c1c69d | |
| parent | 1a889f945c6c77ecddcb3a246d7ec10250dd43df (diff) | |
| parent | 490add2ee949cea8a7f615b7e247805e2fb66947 (diff) | |
Merge "Expose pending request to subclasses and ensure clean up" am: a5cb050abb am: 729033b51c am: 490add2ee9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2222361
Change-Id: I9dd7af56afa185942eeef9600ba74601f8965ef4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/infra/AbstractRemoteService.java | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java b/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java index 6c01780dac76..2a9025d35339 100644 --- a/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java +++ b/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java @@ -61,7 +61,7 @@ public abstract class AbstractMultiplePendingRequestsRemoteService<S final int size = mPendingRequests.size(); if (mVerbose) Slog.v(mTag, "Sending " + size + " pending requests"); for (int i = 0; i < size; i++) { - mPendingRequests.get(i).run(); + handlePendingRequest(mPendingRequests.get(i)); } mPendingRequests.clear(); } diff --git a/core/java/com/android/internal/infra/AbstractRemoteService.java b/core/java/com/android/internal/infra/AbstractRemoteService.java index d5f7ba57a694..18414cf93bc8 100644 --- a/core/java/com/android/internal/infra/AbstractRemoteService.java +++ b/core/java/com/android/internal/infra/AbstractRemoteService.java @@ -107,7 +107,7 @@ public abstract class AbstractRemoteService<S extends AbstractRemoteService<S, I private int mServiceExitSubReason; /** Requests that have been scheduled, but that are not finished yet */ - private final ArrayList<BasePendingRequest<S, I>> mUnfinishedRequests = new ArrayList<>(); + protected final ArrayList<BasePendingRequest<S, I>> mUnfinishedRequests = new ArrayList<>(); /** * Callback called when the service dies. @@ -673,6 +673,11 @@ public abstract class AbstractRemoteService<S extends AbstractRemoteService<S, I mCancelled = true; } + S service = mWeakService.get(); + if (service != null) { + service.finishRequest(this); + } + onCancel(); return true; } |