From 587e73b4490a6e7ff90f8ee46d25f3871ddb57a6 Mon Sep 17 00:00:00 2001 From: 5ec1cff Date: Wed, 21 May 2025 16:28:24 +0800 Subject: [PATCH] manager: persist show system app settings --- .../main/java/com/sukisu/ultra/ui/screen/SuperUser.kt | 2 +- .../sukisu/ultra/ui/viewmodel/SuperUserViewModel.kt | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt index 4e085760..5077afbb 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt @@ -135,7 +135,7 @@ fun SuperUserScreen(navigator: DestinationsNavigator) { ) }, onClick = { - viewModel.showSystemApps = !viewModel.showSystemApps + viewModel.updateShowSystemApps(!viewModel.showSystemApps) showDropdown = false } ) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/SuperUserViewModel.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/SuperUserViewModel.kt index ea02ff05..34e8af65 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/SuperUserViewModel.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/SuperUserViewModel.kt @@ -1,5 +1,6 @@ package com.sukisu.ultra.ui.viewmodel +import android.content.Context import android.content.pm.ApplicationInfo import android.content.pm.PackageInfo import android.os.Parcelable @@ -24,6 +25,7 @@ import com.dergoogler.mmrl.platform.TIMEOUT_MILLIS import com.sukisu.ultra.ui.webui.getInstalledPackagesAll import kotlinx.coroutines.delay import kotlinx.coroutines.withTimeoutOrNull +import androidx.core.content.edit /** @@ -62,9 +64,11 @@ class SuperUserViewModel : ViewModel() { } } } + private val prefs = ksuApp.getSharedPreferences("settings", Context.MODE_PRIVATE)!! var search by mutableStateOf("") - var showSystemApps by mutableStateOf(false) + var showSystemApps by mutableStateOf(prefs.getBoolean("show_system_apps", false)) + private set var isRefreshing by mutableStateOf(false) private set @@ -74,6 +78,11 @@ class SuperUserViewModel : ViewModel() { var selectedApps by mutableStateOf>(emptySet()) internal set + fun updateShowSystemApps(newValue: Boolean) { + showSystemApps = newValue + prefs.edit { putBoolean("show_system_apps", newValue) } + } + private val sortedList by derivedStateOf { val comparator = compareBy { when {