From e9d233861f1bf5f372df7a466e6ea226cf29e92e Mon Sep 17 00:00:00 2001 From: rushiiMachine <33725716+rushiiMachine@users.noreply.github.com> Date: Sun, 9 Feb 2025 15:19:00 -0800 Subject: [PATCH] feat(PatchOptsScreen): change title if is update --- .../com/aliucord/manager/ui/screens/home/HomeModel.kt | 1 + .../manager/ui/screens/patchopts/PatchOptionsScreen.kt | 6 +++--- .../ui/screens/patchopts/components/PatchOptionsAppBar.kt | 6 ++++-- app/src/main/res/values/strings.xml | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/screens/home/HomeModel.kt b/app/src/main/kotlin/com/aliucord/manager/ui/screens/home/HomeModel.kt index f5c6298..fba8e6f 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/screens/home/HomeModel.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/screens/home/HomeModel.kt @@ -176,6 +176,7 @@ class HomeModel( } private fun isInstallationUpToDate(pkg: PackageInfo): Boolean { + // Assume up-to-date when remote data hasn't been fetched yet val remoteBuildData = remoteDataJson ?: return true // `longVersionCode` is unnecessary since Discord doesn't use `versionCodeMajor` diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/PatchOptionsScreen.kt b/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/PatchOptionsScreen.kt index 80043b7..301344d 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/PatchOptionsScreen.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/PatchOptionsScreen.kt @@ -37,7 +37,7 @@ import org.koin.core.parameter.parametersOf @Parcelize class PatchOptionsScreen( - private val prefilledOptions: PatchOptions = PatchOptions.Default, + private val prefilledOptions: PatchOptions? = null, private val supportedVersion: DiscordVersion = DiscordVersion.None, ) : Screen, Parcelable { @IgnoredOnParcel @@ -47,7 +47,7 @@ class PatchOptionsScreen( override fun Content() { val context = LocalContext.current val navigator = LocalNavigator.currentOrThrow - val model = getScreenModel() { parametersOf(prefilledOptions) } + val model = getScreenModel() { parametersOf(prefilledOptions ?: PatchOptions.Default) } LaunchedEffect(Unit) { // Ensure that when popping this screen off the stack that permission requests don't get triggered @@ -72,7 +72,7 @@ class PatchOptionsScreen( } Scaffold( - topBar = { PatchOptionsAppBar() }, + topBar = { PatchOptionsAppBar(isUpdate = prefilledOptions != null) }, ) { paddingValues -> Column( verticalArrangement = Arrangement.spacedByLastAtBottom(20.dp), diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/components/PatchOptionsAppBar.kt b/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/components/PatchOptionsAppBar.kt index 3aaa9c0..2b7d9ed 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/components/PatchOptionsAppBar.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/screens/patchopts/components/PatchOptionsAppBar.kt @@ -11,10 +11,12 @@ import com.aliucord.manager.ui.components.BackButton import com.aliucord.manager.ui.screens.settings.SettingsScreen @Composable -fun PatchOptionsAppBar() { +fun PatchOptionsAppBar( + isUpdate: Boolean = false, +) { TopAppBar( navigationIcon = { BackButton() }, - title = { Text(stringResource(R.string.action_add_install)) }, + title = { Text(stringResource(if (!isUpdate) R.string.action_add_install else R.string.action_update_install)) }, actions = { val navigator = LocalNavigator.currentOrThrow diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 83cb39a..5cdafcc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -16,6 +16,7 @@ Install Uninstall New Aliucord Installation + Update Aliucord Installation Update Clear Launch