diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/history/domain/HistoryListQuickFilter.kt b/app/src/main/kotlin/org/koitharu/kotatsu/history/domain/HistoryListQuickFilter.kt index d099394e4..e05db894d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/history/domain/HistoryListQuickFilter.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/history/domain/HistoryListQuickFilter.kt @@ -1,6 +1,5 @@ package org.koitharu.kotatsu.history.domain -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.os.NetworkState import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.history.data.HistoryRepository @@ -25,14 +24,7 @@ class HistoryListQuickFilter @Inject constructor( } add(ListFilterOption.Macro.COMPLETED) add(ListFilterOption.Macro.FAVORITE) - add( - ListFilterOption.Inverted( - option = ListFilterOption.Macro.FAVORITE, - iconResId = R.drawable.ic_heart_off, - titleResId = R.string.not_in_favorites, - titleText = null, - ), - ) + add(ListFilterOption.NOT_FAVORITE) if (!settings.isNsfwContentDisabled && !settings.isHistoryExcludeNsfw) { add(ListFilterOption.Macro.NSFW) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ListFilterOption.kt b/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ListFilterOption.kt index 9c0c2f702..83b4107e4 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ListFilterOption.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ListFilterOption.kt @@ -98,4 +98,23 @@ sealed interface ListFilterOption { override val groupKey: String get() = "_inv" + option.groupKey } + + companion object { + + val SFW + get() = Inverted( + option = Macro.NSFW, + iconResId = R.drawable.ic_sfw, + titleResId = R.string.sfw, + titleText = null, + ) + + val NOT_FAVORITE + get() = Inverted( + option = Macro.FAVORITE, + iconResId = R.drawable.ic_heart_off, + titleResId = R.string.not_in_favorites, + titleText = null, + ) + } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/MangaListViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/MangaListViewModel.kt index 320e52046..dae93587b 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/MangaListViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/MangaListViewModel.kt @@ -10,7 +10,6 @@ import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.plus -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.core.prefs.ListMode import org.koitharu.kotatsu.core.prefs.observeAsFlow @@ -67,7 +66,7 @@ abstract class MangaListViewModel( settings.observeAsFlow(AppSettings.KEY_DISABLE_NSFW) { isNsfwContentDisabled }, ) { filters, skipNsfw -> if (skipNsfw) { - filters + ListFilterOption.Inverted(ListFilterOption.Macro.NSFW, R.drawable.ic_sfw, R.string.sfw, null) + filters + ListFilterOption.SFW } else { filters } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/suggestions/domain/SuggestionsListQuickFilter.kt b/app/src/main/kotlin/org/koitharu/kotatsu/suggestions/domain/SuggestionsListQuickFilter.kt index d75cb9520..78b7ea86c 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/suggestions/domain/SuggestionsListQuickFilter.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/suggestions/domain/SuggestionsListQuickFilter.kt @@ -17,14 +17,7 @@ class SuggestionsListQuickFilter @Inject constructor( } if (!settings.isNsfwContentDisabled && !settings.isSuggestionsExcludeNsfw) { add(ListFilterOption.Macro.NSFW) - add( - ListFilterOption.Inverted( - option = ListFilterOption.Macro.NSFW, - iconResId = R.drawable.ic_sfw, - titleResId = R.string.sfw, - titleText = null, - ), - ) + add(ListFilterOption.SFW) } } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/ui/feed/FeedViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/ui/feed/FeedViewModel.kt index 12a97c9e5..598d57455 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/ui/feed/FeedViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/ui/feed/FeedViewModel.kt @@ -164,7 +164,7 @@ class FeedViewModel @Inject constructor( settings.observeAsFlow(AppSettings.KEY_DISABLE_NSFW) { isNsfwContentDisabled }, ) { filters, skipNsfw -> if (skipNsfw) { - filters + ListFilterOption.Inverted(ListFilterOption.Macro.NSFW, R.drawable.ic_sfw, R.string.sfw, null) + filters + ListFilterOption.SFW } else { filters }