Merge "Expose pending request to subclasses and ensure clean up" am: a5cb050abb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2222361 Change-Id: I1f84bc5b548ad28c772329100413ea7750ed2fe2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -61,7 +61,7 @@ public abstract class AbstractMultiplePendingRequestsRemoteService<S
|
|||||||
final int size = mPendingRequests.size();
|
final int size = mPendingRequests.size();
|
||||||
if (mVerbose) Slog.v(mTag, "Sending " + size + " pending requests");
|
if (mVerbose) Slog.v(mTag, "Sending " + size + " pending requests");
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
mPendingRequests.get(i).run();
|
handlePendingRequest(mPendingRequests.get(i));
|
||||||
}
|
}
|
||||||
mPendingRequests.clear();
|
mPendingRequests.clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public abstract class AbstractRemoteService<S extends AbstractRemoteService<S, I
|
|||||||
private int mServiceExitSubReason;
|
private int mServiceExitSubReason;
|
||||||
|
|
||||||
/** Requests that have been scheduled, but that are not finished yet */
|
/** 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.
|
* Callback called when the service dies.
|
||||||
@@ -676,6 +676,11 @@ public abstract class AbstractRemoteService<S extends AbstractRemoteService<S, I
|
|||||||
mCancelled = true;
|
mCancelled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
S service = mWeakService.get();
|
||||||
|
if (service != null) {
|
||||||
|
service.finishRequest(this);
|
||||||
|
}
|
||||||
|
|
||||||
onCancel();
|
onCancel();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user