Move unread chapters badge setting to General section

This commit is contained in:
arkon 2021-10-30 12:42:59 -04:00
parent 90b312a56e
commit 709de81814
9 changed files with 19 additions and 15 deletions

View file

@ -291,7 +291,7 @@ class LibraryUpdateService(
val failedUpdates = CopyOnWriteArrayList<Pair<Manga, String?>>() val failedUpdates = CopyOnWriteArrayList<Pair<Manga, String?>>()
val hasDownloads = AtomicBoolean(false) val hasDownloads = AtomicBoolean(false)
val loggedServices by lazy { trackManager.services.filter { it.isLogged } } val loggedServices by lazy { trackManager.services.filter { it.isLogged } }
val currentUnreadUpdatesCount = preferences.libraryUnreadUpdatesCount().get() val currentUnreadUpdatesCount = preferences.unreadUpdatesCount().get()
withIOContext { withIOContext {
mangaToUpdate.groupBy { it.source } mangaToUpdate.groupBy { it.source }
@ -356,7 +356,7 @@ class LibraryUpdateService(
if (newUpdates.isNotEmpty()) { if (newUpdates.isNotEmpty()) {
notifier.showUpdateNotifications(newUpdates) notifier.showUpdateNotifications(newUpdates)
val newChapterCount = newUpdates.sumOf { it.second.size } val newChapterCount = newUpdates.sumOf { it.second.size }
preferences.libraryUnreadUpdatesCount().set(currentUnreadUpdatesCount + newChapterCount) preferences.unreadUpdatesCount().set(currentUnreadUpdatesCount + newChapterCount)
if (hasDownloads.get()) { if (hasDownloads.get()) {
DownloadService.start(this) DownloadService.start(this)
} }

View file

@ -133,7 +133,7 @@ object PreferenceKeys {
const val libraryUpdateRestriction = "library_update_restriction" const val libraryUpdateRestriction = "library_update_restriction"
const val libraryUpdateShowTabBadge = "library_update_show_tab_badge" const val showUpdatesNavBadge = "library_update_show_tab_badge"
const val libraryUpdateCategories = "library_update_categories" const val libraryUpdateCategories = "library_update_categories"
const val libraryUpdateCategoriesExclude = "library_update_categories_exclude" const val libraryUpdateCategoriesExclude = "library_update_categories_exclude"

View file

@ -238,8 +238,8 @@ class PreferencesHelper(val context: Context) {
fun libraryUpdateRestriction() = flowPrefs.getStringSet(Keys.libraryUpdateRestriction, setOf(ONLY_ON_WIFI)) fun libraryUpdateRestriction() = flowPrefs.getStringSet(Keys.libraryUpdateRestriction, setOf(ONLY_ON_WIFI))
fun libraryUpdateShowTabBadge() = flowPrefs.getBoolean(Keys.libraryUpdateShowTabBadge, true) fun showUpdatesNavBadge() = flowPrefs.getBoolean(Keys.showUpdatesNavBadge, true)
fun libraryUnreadUpdatesCount() = flowPrefs.getInt("library_unread_updates_count", 0) fun unreadUpdatesCount() = flowPrefs.getInt("library_unread_updates_count", 0)
fun libraryUpdateCategories() = flowPrefs.getStringSet(Keys.libraryUpdateCategories, emptySet()) fun libraryUpdateCategories() = flowPrefs.getStringSet(Keys.libraryUpdateCategories, emptySet())
fun libraryUpdateCategoriesExclude() = flowPrefs.getStringSet(Keys.libraryUpdateCategoriesExclude, emptySet()) fun libraryUpdateCategoriesExclude() = flowPrefs.getStringSet(Keys.libraryUpdateCategoriesExclude, emptySet())

View file

@ -228,7 +228,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
} }
} }
merge(preferences.libraryUpdateShowTabBadge().asFlow(), preferences.libraryUnreadUpdatesCount().asFlow()) merge(preferences.showUpdatesNavBadge().asFlow(), preferences.unreadUpdatesCount().asFlow())
.onEach { setUnreadUpdatesBadge() } .onEach { setUnreadUpdatesBadge() }
.launchIn(lifecycleScope) .launchIn(lifecycleScope)
@ -355,7 +355,7 @@ class MainActivity : BaseViewBindingActivity<MainActivityBinding>() {
} }
private fun setUnreadUpdatesBadge() { private fun setUnreadUpdatesBadge() {
val updates = if (preferences.libraryUpdateShowTabBadge().get()) preferences.libraryUnreadUpdatesCount().get() else 0 val updates = if (preferences.showUpdatesNavBadge().get()) preferences.unreadUpdatesCount().get() else 0
if (updates > 0) { if (updates > 0) {
nav.getOrCreateBadge(R.id.nav_updates).number = updates nav.getOrCreateBadge(R.id.nav_updates).number = updates
} else { } else {

View file

@ -107,7 +107,7 @@ class UpdatesPresenter : BasePresenter<UpdatesController>() {
chapters = list chapters = list
// Set unread chapter count for bottom bar badge // Set unread chapter count for bottom bar badge
preferences.libraryUnreadUpdatesCount().set(list.count { !it.read }) preferences.unreadUpdatesCount().set(list.count { !it.read })
} }
} }

View file

@ -32,6 +32,11 @@ class SettingsGeneralController : SettingsController() {
defaultValue = "1" defaultValue = "1"
summary = "%s" summary = "%s"
} }
switchPreference {
key = Keys.showUpdatesNavBadge
titleRes = R.string.pref_library_update_show_tab_badge
defaultValue = true
}
switchPreference { switchPreference {
key = Keys.confirmExit key = Keys.confirmExit
titleRes = R.string.pref_confirm_exit titleRes = R.string.pref_confirm_exit

View file

@ -199,11 +199,6 @@ class SettingsLibraryController : SettingsController() {
titleRes = R.string.pref_update_only_non_completed titleRes = R.string.pref_update_only_non_completed
defaultValue = false defaultValue = false
} }
switchPreference {
key = Keys.libraryUpdateShowTabBadge
titleRes = R.string.pref_library_update_show_tab_badge
defaultValue = true
}
preference { preference {
key = Keys.libraryUpdateCategories key = Keys.libraryUpdateCategories
titleRes = R.string.categories titleRes = R.string.categories

View file

@ -0,0 +1,4 @@
package eu.kanade.tachiyomi.widget.preference
class ButtonToggleGroupPreference {
}

View file

@ -223,7 +223,7 @@
<string name="charging">Charging</string> <string name="charging">Charging</string>
<string name="restrictions">Restrictions: %s</string> <string name="restrictions">Restrictions: %s</string>
<string name="pref_update_only_non_completed">Only update ongoing manga</string> <string name="pref_update_only_non_completed">Only update ongoing manga</string>
<string name="pref_library_update_show_tab_badge">Show update count on bottom bar</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">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_metadata_summary">Check for new cover and details when updating library</string>
<string name="pref_library_update_refresh_trackers">Automatically refresh trackers</string> <string name="pref_library_update_refresh_trackers">Automatically refresh trackers</string>