From 5328740bff7a3d26d5d45127eb51055954628d73 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 25 Aug 2023 13:01:08 -0400 Subject: [PATCH] Improves blinking when loading a thread. --- .../amethyst/service/NostrThreadDataSource.kt | 6 ++++-- .../amethyst/ui/screen/loggedIn/ThreadScreen.kt | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt index ec7ade398..2032f551e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt @@ -36,8 +36,10 @@ object NostrThreadDataSource : NostrDataSource("SingleThreadFeed") { } fun loadThread(noteId: String?) { - eventToWatch = noteId + if (eventToWatch != noteId) { + eventToWatch = noteId - invalidateFilters() + invalidateFilters() + } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ThreadScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ThreadScreen.kt index 06ea14cec..a7107e819 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ThreadScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ThreadScreen.kt @@ -26,9 +26,10 @@ fun ThreadScreen(noteId: String?, accountViewModel: AccountViewModel, nav: (Stri factory = NostrThreadFeedViewModel.Factory(noteId) ) + NostrThreadDataSource.loadThread(noteId) + LaunchedEffect(noteId) { - NostrThreadDataSource.loadThread(noteId) - feedViewModel.invalidateData() + feedViewModel.invalidateData(true) } DisposableEffect(accountViewModel) { @@ -37,7 +38,7 @@ fun ThreadScreen(noteId: String?, accountViewModel: AccountViewModel, nav: (Stri println("Thread Start") NostrThreadDataSource.loadThread(noteId) NostrThreadDataSource.start() - feedViewModel.invalidateData() + feedViewModel.invalidateData(true) } if (event == Lifecycle.Event.ON_PAUSE) { println("Thread Stop")