diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/SuperUser.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/SuperUser.kt index 736e3993..bdfc7798 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/SuperUser.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/SuperUser.kt @@ -56,6 +56,13 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { } } + LaunchedEffect(Unit) { + if (viewModel.refreshOnReturn) { + viewModel.fetchAppList() + viewModel.refreshOnReturn = false + } + } + Scaffold( topBar = { SearchAppBar( @@ -120,6 +127,7 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { ) { items(viewModel.appList, key = { it.packageName + it.uid }) { app -> AppItem(app) { + viewModel.refreshOnReturn = true navigator.navigate(AppProfileScreenDestination(app)) } } diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/viewmodel/SuperUserViewModel.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/viewmodel/SuperUserViewModel.kt index 76a630e6..f2ce58ce 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/viewmodel/SuperUserViewModel.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/viewmodel/SuperUserViewModel.kt @@ -31,6 +31,9 @@ import kotlin.coroutines.suspendCoroutine class SuperUserViewModel : ViewModel() { + var refreshOnReturn by mutableStateOf(false) + public set + companion object { private const val TAG = "SuperUserViewModel" private var apps by mutableStateOf>(emptyList())