Quellcode durchsuchen

Add back option to hide Updates count (#8709)

Adds back the option to hide the updates count on the Updates tab
Soitora vor 2 Jahren
Ursprung
Commit
8937e22ce4

+ 1 - 0
app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt

@@ -60,6 +60,7 @@ class LibraryPreferences(
 
     fun languageBadge() = preferenceStore.getBoolean("display_language_badge", false)
 
+    fun newShowUpdatesCount() = preferenceStore.getBoolean("library_show_updates_count", true)
     fun newUpdatesCount() = preferenceStore.getInt("library_unseen_updates_count", 0)
 
     // endregion

+ 7 - 0
app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt

@@ -37,6 +37,13 @@ object SettingsGeneralScreen : SearchableSettings {
         val prefs = remember { Injekt.get<BasePreferences>() }
         val libraryPrefs = remember { Injekt.get<LibraryPreferences>() }
         return mutableListOf<Preference>().apply {
+            add(
+                Preference.PreferenceItem.SwitchPreference(
+                    pref = libraryPrefs.newShowUpdatesCount(),
+                    title = stringResource(R.string.pref_library_update_show_tab_badge),
+                ),
+            )
+
             add(
                 Preference.PreferenceItem.SwitchPreference(
                     pref = prefs.confirmExit(),

+ 6 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt

@@ -53,6 +53,7 @@ import eu.kanade.tachiyomi.ui.more.MoreTab
 import eu.kanade.tachiyomi.ui.updates.UpdatesTab
 import kotlinx.coroutines.channels.Channel
 import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.receiveAsFlow
 import kotlinx.coroutines.launch
 import soup.compose.material.motion.animation.materialFadeThroughIn
@@ -233,8 +234,11 @@ object HomeScreen : Screen {
                 when {
                     tab is UpdatesTab -> {
                         val count by produceState(initialValue = 0) {
-                            Injekt.get<LibraryPreferences>()
-                                .newUpdatesCount().changes()
+                            val pref = Injekt.get<LibraryPreferences>()
+                            combine(
+                                pref.newShowUpdatesCount().changes(),
+                                pref.newUpdatesCount().changes(),
+                            ) { show, count -> if (show) count else 0 }
                                 .collectLatest { value = it }
                         }
                         if (count > 0) {

+ 1 - 0
i18n/src/main/res/values/strings.xml

@@ -254,6 +254,7 @@
     <string name="pref_update_only_completely_read">With unread chapter(s)</string>
     <string name="pref_update_only_non_completed">With \"Completed\" status</string>
     <string name="pref_update_only_started">That haven\'t been started</string>
+    <string name="pref_library_update_show_tab_badge">Show unread count on Updates icon</string>
     <string name="pref_library_update_refresh_metadata">Automatically refresh metadata</string>
     <string name="pref_library_update_refresh_metadata_summary">Check for new cover and details when updating library</string>
     <string name="pref_library_update_refresh_trackers">Automatically refresh trackers</string>