From 1670383619fdebf9be6c4c6ffea97ba93b639dc6 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Thu, 13 Jun 2024 17:53:40 +0530 Subject: [PATCH] feat(home): hive private media --- .../dantotsu/connections/anilist/AnilistQueries.kt | 9 +++++---- .../ani/dantotsu/settings/SettingsCommonActivity.kt | 11 +++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt index a53b2c41..438dc7ad 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt @@ -479,6 +479,7 @@ class AnilistQueries { suspend fun initHomePage(): Map> { val removeList = PrefManager.getCustomVal("removeList", setOf()) + val hidePrivate = PrefManager.getVal(PrefName.HidePrivate) val removedMedia = ArrayList() val toShow: List = PrefManager.getVal(PrefName.HomeLayout) // anime continue, anime fav, anime planned, manga continue, manga fav, manga planned, recommendations @@ -528,7 +529,7 @@ class AnilistQueries { current?.lists?.forEach { li -> li.entries?.reversed()?.forEach { val m = Media(it) - if (m.id !in removeList) { + if (m.id !in removeList && if (hidePrivate) !m.isListPrivate else true) { m.cameFromContinue = true subMap[m.id] = m } else { @@ -540,7 +541,7 @@ class AnilistQueries { repeating?.lists?.forEach { li -> li.entries?.reversed()?.forEach { val m = Media(it) - if (m.id !in removeList) { + if (m.id !in removeList && if (hidePrivate) !m.isListPrivate else true) { m.cameFromContinue = true subMap[m.id] = m } else { @@ -579,7 +580,7 @@ class AnilistQueries { current?.lists?.forEach { li -> li.entries?.reversed()?.forEach { val m = Media(it) - if (m.id !in removeList) { + if (m.id !in removeList && if (hidePrivate) !m.isListPrivate else true) { m.cameFromContinue = true subMap[m.id] = m } else { @@ -612,7 +613,7 @@ class AnilistQueries { apiMediaList?.edges?.forEach { it.node?.let { i -> val m = Media(i).apply { isFav = true } - if (m.id !in removeList) { + if (m.id !in removeList && if (hidePrivate) !m.isListPrivate else true) { returnArray.add(m) } else { removedMedia.add(m) diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsCommonActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsCommonActivity.kt index c8dc29d5..0bcf356d 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsCommonActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsCommonActivity.kt @@ -372,6 +372,17 @@ class SettingsCommonActivity : AppCompatActivity() { PrefManager.setVal(PrefName.ContinueMedia, isChecked) } ), + Settings( + type = 2, + name = getString(R.string.hide_private), + desc = getString(R.string.hide_private_desc), + icon = R.drawable.ic_round_remove_red_eye_24, + isChecked = PrefManager.getVal(PrefName.HidePrivate), + switch = { isChecked, _ -> + PrefManager.setVal(PrefName.HidePrivate, isChecked) + restartApp() + } + ), Settings( type = 2, name = getString(R.string.search_source_list),