Merge "Move close callback outside ProgramList lock" into tm-qpr-dev am: 800f8fa21d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20249929 Change-Id: Ic2e8c5fd3af4c90e7d4c678e32c33484eb06be52 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -160,6 +160,7 @@ public final class ProgramList implements AutoCloseable {
|
|||||||
* Disables list updates and releases all resources.
|
* Disables list updates and releases all resources.
|
||||||
*/
|
*/
|
||||||
public void close() {
|
public void close() {
|
||||||
|
OnCloseListener onCompleteListenersCopied = null;
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (mIsClosed) return;
|
if (mIsClosed) return;
|
||||||
mIsClosed = true;
|
mIsClosed = true;
|
||||||
@@ -167,10 +168,14 @@ public final class ProgramList implements AutoCloseable {
|
|||||||
mListCallbacks.clear();
|
mListCallbacks.clear();
|
||||||
mOnCompleteListeners.clear();
|
mOnCompleteListeners.clear();
|
||||||
if (mOnCloseListener != null) {
|
if (mOnCloseListener != null) {
|
||||||
mOnCloseListener.onClose();
|
onCompleteListenersCopied = mOnCloseListener;
|
||||||
mOnCloseListener = null;
|
mOnCloseListener = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (onCompleteListenersCopied != null) {
|
||||||
|
onCompleteListenersCopied.onClose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply(Chunk chunk) {
|
void apply(Chunk chunk) {
|
||||||
|
|||||||
Reference in New Issue
Block a user