diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Loaders.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Loaders.kt index 570c04cb0..076e62093 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Loaders.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/Loaders.kt @@ -129,14 +129,13 @@ fun LoadOts( val noteStatus by observeNoteOts(note, accountViewModel) LaunchedEffect(key1 = noteStatus) { - accountViewModel.findOtsEventsForNote(noteStatus?.note ?: note) { newOts -> - earliestDate = - if (newOts == null) { - GenericLoadable.Empty() - } else { - GenericLoadable.Loaded(newOts) - } - } + val newOts = accountViewModel.findOtsEventsForNote(noteStatus?.note ?: note) + earliestDate = + if (newOts == null) { + GenericLoadable.Empty() + } else { + GenericLoadable.Loaded(newOts) + } } (earliestDate as? GenericLoadable.Loaded)?.let { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt index 13f4c542f..54de45d75 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt @@ -1230,19 +1230,18 @@ fun observeEdits( LaunchedEffect(key1 = updatedNote) { updatedNote?.note?.let { - accountViewModel.findModificationEventsForNote(it) { newModifications -> - if (newModifications.isEmpty()) { - if (editState.value !is GenericLoadable.Empty) { - editState.value = GenericLoadable.Empty() - } + val newModifications = accountViewModel.findModificationEventsForNote(it) + if (newModifications.isEmpty()) { + if (editState.value !is GenericLoadable.Empty) { + editState.value = GenericLoadable.Empty() + } + } else { + if (editState.value is GenericLoadable.Loaded) { + (editState.value as? GenericLoadable.Loaded)?.loaded?.updateModifications(newModifications) } else { - if (editState.value is GenericLoadable.Loaded) { - (editState.value as? GenericLoadable.Loaded)?.loaded?.updateModifications(newModifications) - } else { - val state = EditState() - state.updateModifications(newModifications) - editState.value = GenericLoadable.Loaded(state) - } + val state = EditState() + state.updateModifications(newModifications) + editState.value = GenericLoadable.Loaded(state) } } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 100ef3ca7..90a93c8b7 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -1026,38 +1026,22 @@ class AccountViewModel( fun getAddressableNoteIfExists(key: Address): AddressableNote? = LocalCache.getAddressableNoteIfExists(key) - suspend fun findStatusesForUser( - myUser: User, - onResult: (ImmutableList) -> Unit, - ) { + suspend fun findStatusesForUser(myUser: User) = withContext(Dispatchers.IO) { - onResult(LocalCache.findStatusesForUser(myUser)) + LocalCache.findStatusesForUser(myUser) } - } - suspend fun findOtsEventsForNote( - note: Note, - onResult: (Long?) -> Unit, - ) { - onResult( - withContext(Dispatchers.Default) { - LocalCache.findEarliestOtsForNote(note, account.otsResolverBuilder) - }, - ) - } + suspend fun findOtsEventsForNote(note: Note) = + withContext(Dispatchers.Default) { + LocalCache.findEarliestOtsForNote(note, account.otsResolverBuilder) + } fun cachedModificationEventsForNote(note: Note) = LocalCache.cachedModificationEventsForNote(note) - suspend fun findModificationEventsForNote( - note: Note, - onResult: (List) -> Unit, - ) { - onResult( - withContext(Dispatchers.Default) { - LocalCache.findLatestModificationForNote(note) - }, - ) - } + suspend fun findModificationEventsForNote(note: Note): List = + withContext(Dispatchers.Default) { + LocalCache.findLatestModificationForNote(note) + } fun checkGetOrCreatePublicChatChannel(key: HexKey): PublicChatChannel? = LocalCache.getOrCreatePublicChatChannel(key)