Fix possible data source invalidation loop.
This commit is contained in:
parent
b80c339c5a
commit
8d3a91f3a4
1 changed files with 1 additions and 8 deletions
|
@ -130,23 +130,16 @@ class ConversationDataSource extends PositionalDataSource<MessageRecord> {
|
|||
}
|
||||
|
||||
static class Invalidator {
|
||||
private boolean invalidated;
|
||||
private Runnable callback;
|
||||
|
||||
synchronized void invalidate() {
|
||||
invalidated = true;
|
||||
|
||||
if (callback != null) {
|
||||
callback.run();
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized void observe(@NonNull Runnable callback) {
|
||||
if (invalidated) {
|
||||
callback.run();
|
||||
} else {
|
||||
this.callback = callback;
|
||||
}
|
||||
this.callback = callback;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue