diff --git a/lawnchair/res/values/strings.xml b/lawnchair/res/values/strings.xml
index d0326db0c2..14907cc6fa 100644
--- a/lawnchair/res/values/strings.xml
+++ b/lawnchair/res/values/strings.xml
@@ -75,9 +75,10 @@
Design & Development
Translate
Product
- Hidden apps
-
- - %1$d app hidden
- - %1$d apps hidden
+ Hidden Apps
+ Hidden Apps (%1$d)
+
+ - %1$d App
+ - %1$d Apps
diff --git a/lawnchair/src/app/lawnchair/ui/preferences/AppDrawerPreferences.kt b/lawnchair/src/app/lawnchair/ui/preferences/AppDrawerPreferences.kt
index 7f51e8765f..490d8e6be3 100644
--- a/lawnchair/src/app/lawnchair/ui/preferences/AppDrawerPreferences.kt
+++ b/lawnchair/src/app/lawnchair/ui/preferences/AppDrawerPreferences.kt
@@ -18,6 +18,7 @@ package app.lawnchair.ui.preferences
import androidx.compose.animation.ExperimentalAnimationApi
import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.navigation.NavGraphBuilder
import app.lawnchair.ui.preferences.components.NavigationActionPreference
@@ -45,12 +46,13 @@ fun NavGraphBuilder.appDrawerGraph(route: String) {
@Composable
fun AppDrawerPreferences() {
val prefs = preferenceManager()
+ val resources = LocalContext.current.resources
pageMeta.provide(Meta(title = stringResource(id = R.string.app_drawer_label)))
PreferenceLayout {
PreferenceGroup(heading = stringResource(id = R.string.general_label), isFirstChild = true) {
NavigationActionPreference(
label = stringResource(id = R.string.hidden_apps_label),
- subtitle = hiddenAppsCount(),
+ subtitle = resources.getQuantityString(R.plurals.apps_count, hiddenAppsCount(), hiddenAppsCount()),
destination = subRoute(name = AppDrawerRoutes.HIDDEN_APPS),
)
SliderPreference(
diff --git a/lawnchair/src/app/lawnchair/ui/preferences/HiddenAppsPreferences.kt b/lawnchair/src/app/lawnchair/ui/preferences/HiddenAppsPreferences.kt
index ec77bfcedc..eb9a9f4958 100644
--- a/lawnchair/src/app/lawnchair/ui/preferences/HiddenAppsPreferences.kt
+++ b/lawnchair/src/app/lawnchair/ui/preferences/HiddenAppsPreferences.kt
@@ -5,6 +5,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
import androidx.navigation.NavGraphBuilder
import app.lawnchair.DefaultAppFilter
import app.lawnchair.ui.preferences.components.*
@@ -27,7 +28,15 @@ fun NavGraphBuilder.hiddenAppsGraph(route: String) {
@ExperimentalAnimationApi
@Composable
fun HiddenAppsPreferences() {
- pageMeta.provide(Meta(title = hiddenAppsCount()))
+ val pageTitle =
+ with (hiddenAppsCount()) {
+ if (this == 0) {
+ stringResource(id = R.string.hidden_apps_label)
+ } else {
+ stringResource(id = R.string.hidden_apps_label_with_count, this)
+ }
+ }
+ pageMeta.provide(Meta(title = pageTitle))
var hiddenApps by preferenceManager().hiddenAppSet.getAdapter()
val optionalApps by appsList(
filter = remember { DefaultAppFilter() },
@@ -54,13 +63,7 @@ fun HiddenAppsPreferences() {
}
@Composable
-fun hiddenAppsCount(): String {
- val resources = LocalContext.current.resources
- val count = preferenceManager().hiddenAppSet.getState().value.size
- return remember(count) {
- resources.getQuantityString(R.plurals.hidden_apps_count, count, count)
- }
-}
+fun hiddenAppsCount(): Int = preferenceManager().hiddenAppSet.getState().value.size
@Composable
fun hiddenAppsComparator(hiddenApps: Set): Comparator {