diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListViewModel.java index 06100d6363785813463ddf9aeda0dfdc2821be0f..5ea8f0f43161527f0461ac60e8013b025b24df47 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListViewModel.java @@ -197,6 +197,10 @@ public abstract class ThreadListViewModel<I extends ThreadItem> */ @UiThread protected void addItem(I item, boolean scrollToItem) { + // If items haven't loaded, we need to wait until they have. + // Since this was a R/W DB transaction, the load will pick up this item. + if (items.getValue() == null) return; + messageTree.add(item); if (scrollToItem) this.scrollToItem.set(item.getId()); items.setValue(new LiveResult<>(messageTree.depthFirstOrder()));