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:
Weilin Xu
2022-10-27 18:24:02 +00:00
committed by Automerger Merge Worker

View File

@@ -160,6 +160,7 @@ public final class ProgramList implements AutoCloseable {
* Disables list updates and releases all resources.
*/
public void close() {
OnCloseListener onCompleteListenersCopied = null;
synchronized (mLock) {
if (mIsClosed) return;
mIsClosed = true;
@@ -167,10 +168,14 @@ public final class ProgramList implements AutoCloseable {
mListCallbacks.clear();
mOnCompleteListeners.clear();
if (mOnCloseListener != null) {
mOnCloseListener.onClose();
onCompleteListenersCopied = mOnCloseListener;
mOnCloseListener = null;
}
}
if (onCompleteListenersCopied != null) {
onCompleteListenersCopied.onClose();
}
}
void apply(Chunk chunk) {