Fix possible data source invalidation loop.

This commit is contained in:
Greyson Parrelli 2020-05-19 15:07:46 -04:00 committed by Alex Hart
parent b80c339c5a
commit 8d3a91f3a4

View file

@ -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;
}
}