From 4e2b7ab7d3817447930ffb7d478408a27f782d19 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Wed, 20 Sep 2023 14:46:45 -0700 Subject: [PATCH] Reset last added categories on app relaunch --- .../eu/kanade/tachiyomi/data/database/models/Category.kt | 2 ++ .../kanade/tachiyomi/data/preference/PreferencesHelper.kt | 2 -- .../ui/category/addtolibrary/SetCategoriesSheet.kt | 7 +++---- .../main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt | 6 +++--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt index 125b230a9c..bbc3fa69ac 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt @@ -52,6 +52,8 @@ interface Category : Serializable { } companion object { + var lastCategoriesAddedTo = emptySet() + fun create(name: String): Category = CategoryImpl().apply { this.name = name } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index ae3e2f60f1..af95883de1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -209,8 +209,6 @@ class PreferencesHelper(val context: Context) { fun lastUsedCategory() = flowPrefs.getInt(Keys.lastUsedCategory, 0) - fun lastCategoriesAddedTo() = flowPrefs.getStringSet("last_category_added_to", emptySet()) - fun lastUsedSources() = flowPrefs.getStringSet("last_used_sources", emptySet()) fun lastVersionCode() = flowPrefs.getInt("last_version_code", 0) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/addtolibrary/SetCategoriesSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/addtolibrary/SetCategoriesSheet.kt index a467f02c2e..0b99e1a526 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/addtolibrary/SetCategoriesSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/addtolibrary/SetCategoriesSheet.kt @@ -276,10 +276,9 @@ class SetCategoriesSheet( categories.map { MangaCategory.create(manga, it) } }.flatten() if (addCategories.isNotEmpty() || listManga.size == 1) { - preferences.lastCategoriesAddedTo().set( - addCategories.mapNotNull { it.id?.toString() }.toSet().takeIf { it.isNotEmpty() } - ?: setOf("0"), - ) + Category.lastCategoriesAddedTo = + addCategories.mapNotNull { it.id }.toSet().takeIf { it.isNotEmpty() } + ?: setOf(0) } db.setMangaCategories(mangaCategories, listManga) onMangaAdded() diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt index e22c13901c..5b44ecad0f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt @@ -174,8 +174,8 @@ fun Manga.addOrRemoveToFavorites( val categories = db.getCategories().executeAsBlocking() val defaultCategoryId = preferences.defaultCategory() val defaultCategory = categories.find { it.id == defaultCategoryId } - val lastUsedCategories = preferences.lastCategoriesAddedTo().get().mapNotNull { catId -> - categories.find { it.id == catId.toIntOrNull() } + val lastUsedCategories = Category.lastCategoriesAddedTo.mapNotNull { catId -> + categories.find { it.id == catId } } when { defaultCategory != null -> { @@ -195,7 +195,7 @@ fun Manga.addOrRemoveToFavorites( } defaultCategoryId == -2 && ( lastUsedCategories.isNotEmpty() || - preferences.lastCategoriesAddedTo().get().firstOrNull() == "0" + Category.lastCategoriesAddedTo.firstOrNull() == 0 ) -> { // last used category(s) favorite = true date_added = Date().time