From d9a392d2c1f3314e6d7ae277e7f4c09228e846ba Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 29 May 2023 21:40:44 -0400 Subject: [PATCH] BugFix for not loading the security filter screen --- .../ui/screen/loggedIn/HiddenUsersScreen.kt | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HiddenUsersScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HiddenUsersScreen.kt index fa8a42c76..faef3c67e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HiddenUsersScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HiddenUsersScreen.kt @@ -11,12 +11,17 @@ import androidx.compose.material.Tab import androidx.compose.material.TabRow import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.viewmodel.compose.viewModel import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.ui.dal.HiddenAccountsFeedFilter @@ -30,10 +35,34 @@ fun HiddenUsersScreen(accountViewModel: AccountViewModel, nav: (String) -> Unit) val accountState by accountViewModel.accountLiveData.observeAsState() val account = accountState?.account + val lifeCycleOwner = LocalLifecycleOwner.current + val feedViewModel: NostrHiddenAccountsFeedViewModel = viewModel() + if (account != null) { HiddenAccountsFeedFilter.account = account - val feedViewModel: NostrHiddenAccountsFeedViewModel = viewModel() + LaunchedEffect(accountViewModel) { + HiddenAccountsFeedFilter.account = account + feedViewModel.invalidateData() + } + + DisposableEffect(accountViewModel) { + val observer = LifecycleEventObserver { _, event -> + if (event == Lifecycle.Event.ON_RESUME) { + println("Hidden Users Start") + HiddenAccountsFeedFilter.account = account + feedViewModel.invalidateData() + } + if (event == Lifecycle.Event.ON_PAUSE) { + println("Hidden Users Stop") + } + } + + lifeCycleOwner.lifecycle.addObserver(observer) + onDispose { + lifeCycleOwner.lifecycle.removeObserver(observer) + } + } Column(Modifier.fillMaxHeight()) { Column(modifier = Modifier.padding(start = 10.dp, end = 10.dp)) {