Merge "Move close callback outside ProgramList lock"
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user