Merge "Move close callback outside ProgramList lock" into tm-qpr-dev
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