From 40ee50d52886700af50242ff6edddbd549291f86 Mon Sep 17 00:00:00 2001 From: sneazy-ibo <41344259+sneazy-ibo@users.noreply.github.com> Date: Thu, 28 Mar 2024 00:58:46 +0100 Subject: [PATCH] feat(sortBy): added new releases item --- .../dantotsu/connections/anilist/Anilist.kt | 1 + .../connections/anilist/AnilistQueries.kt | 4 ++-- .../java/ani/dantotsu/media/SearchAdapter.kt | 19 +++++++++++++------ .../media/SearchFilterBottomDialog.kt | 19 +++++++++++++------ app/src/main/res/menu/sortby_filter_menu.xml | 3 +++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 33 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt b/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt index 9c08f3a5..2727b61d 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt @@ -40,6 +40,7 @@ object Anilist { "SCORE_DESC", "POPULARITY_DESC", "TRENDING_DESC", + "START_DATE_DESC", "TITLE_ENGLISH", "TITLE_ENGLISH_DESC", "SCORE" 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 4323087d..01ded9e8 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt @@ -889,14 +889,14 @@ class AnilistQueries { onList: Boolean? = null, excludedGenres: MutableList? = null, excludedTags: MutableList? = null, - startYear: Int? =null, + startYear: Int? = null, seasonYear: Int? = null, season: String? = null, id: Int? = null, hd: Boolean = false, ): SearchResults? { val query = """ -query (${"$"}page: Int = 1, ${"$"}id: Int, ${"$"}type: MediaType, ${"$"}isAdult: Boolean = false, ${"$"}search: String, ${"$"}format: [MediaFormat], ${"$"}status: MediaStatus, ${"$"}countryOfOrigin: CountryCode, ${"$"}source: MediaSource, ${"$"}season: MediaSeason, ${"$"}seasonYear: Int, ${"$"}year: String, ${"$"}onList: Boolean, ${"$"}yearLesser: FuzzyDateInt, ${"$"}yearGreater: FuzzyDateInt, ${"$"}episodeLesser: Int, ${"$"}episodeGreater: Int, ${"$"}durationLesser: Int, ${"$"}durationGreater: Int, ${"$"}chapterLesser: Int, ${"$"}chapterGreater: Int, ${"$"}volumeLesser: Int, ${"$"}volumeGreater: Int, ${"$"}licensedBy: [String], ${"$"}isLicensed: Boolean, ${"$"}genres: [String], ${"$"}excludedGenres: [String], ${"$"}tags: [String], ${"$"}excludedTags: [String], ${"$"}minimumTagRank: Int, ${"$"}sort: [MediaSort] = [POPULARITY_DESC, SCORE_DESC]) { +query (${"$"}page: Int = 1, ${"$"}id: Int, ${"$"}type: MediaType, ${"$"}isAdult: Boolean = false, ${"$"}search: String, ${"$"}format: [MediaFormat], ${"$"}status: MediaStatus, ${"$"}countryOfOrigin: CountryCode, ${"$"}source: MediaSource, ${"$"}season: MediaSeason, ${"$"}seasonYear: Int, ${"$"}year: String, ${"$"}onList: Boolean, ${"$"}yearLesser: FuzzyDateInt, ${"$"}yearGreater: FuzzyDateInt, ${"$"}episodeLesser: Int, ${"$"}episodeGreater: Int, ${"$"}durationLesser: Int, ${"$"}durationGreater: Int, ${"$"}chapterLesser: Int, ${"$"}chapterGreater: Int, ${"$"}volumeLesser: Int, ${"$"}volumeGreater: Int, ${"$"}licensedBy: [String], ${"$"}isLicensed: Boolean, ${"$"}genres: [String], ${"$"}excludedGenres: [String], ${"$"}tags: [String], ${"$"}excludedTags: [String], ${"$"}minimumTagRank: Int, ${"$"}sort: [MediaSort] = [POPULARITY_DESC, SCORE_DESC, START_DATE_DESC]) { Page(page: ${"$"}page, perPage: ${perPage ?: 50}) { pageInfo { total diff --git a/app/src/main/java/ani/dantotsu/media/SearchAdapter.kt b/app/src/main/java/ani/dantotsu/media/SearchAdapter.kt index 0588887d..3ac1d4d9 100644 --- a/app/src/main/java/ani/dantotsu/media/SearchAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/SearchAdapter.kt @@ -50,9 +50,10 @@ class SearchAdapter(private val activity: SearchActivity, private val type: Stri Anilist.sortBy[0] -> R.drawable.ic_round_area_chart_24 Anilist.sortBy[1] -> R.drawable.ic_round_filter_peak_24 Anilist.sortBy[2] -> R.drawable.ic_round_star_graph_24 - Anilist.sortBy[3] -> R.drawable.ic_round_filter_list_24 - Anilist.sortBy[4] -> R.drawable.ic_round_filter_list_24_reverse - Anilist.sortBy[5] -> R.drawable.ic_round_assist_walker_24 + Anilist.sortBy[3] -> R.drawable.ic_round_new_releases_24 + Anilist.sortBy[4] -> R.drawable.ic_round_filter_list_24 + Anilist.sortBy[5] -> R.drawable.ic_round_filter_list_24_reverse + Anilist.sortBy[6] -> R.drawable.ic_round_assist_walker_24 else -> R.drawable.ic_round_filter_alt_24 } binding.filterTextView.setCompoundDrawablesWithIntrinsicBounds(filterDrawable, 0, 0, 0) @@ -138,24 +139,30 @@ class SearchAdapter(private val activity: SearchActivity, private val type: Stri activity.search() updateFilterTextViewDrawable() } - R.id.sort_by_a_z -> { + R.id.sort_by_recent -> { activity.result.sort = Anilist.sortBy[3] activity.updateChips.invoke() activity.search() updateFilterTextViewDrawable() } - R.id.sort_by_z_a -> { + R.id.sort_by_a_z -> { activity.result.sort = Anilist.sortBy[4] activity.updateChips.invoke() activity.search() updateFilterTextViewDrawable() } - R.id.sort_by_pure_pain -> { + R.id.sort_by_z_a -> { activity.result.sort = Anilist.sortBy[5] activity.updateChips.invoke() activity.search() updateFilterTextViewDrawable() } + R.id.sort_by_pure_pain -> { + activity.result.sort = Anilist.sortBy[6] + activity.updateChips.invoke() + activity.search() + updateFilterTextViewDrawable() + } } true } diff --git a/app/src/main/java/ani/dantotsu/media/SearchFilterBottomDialog.kt b/app/src/main/java/ani/dantotsu/media/SearchFilterBottomDialog.kt index ac5e87ba..53ee263f 100644 --- a/app/src/main/java/ani/dantotsu/media/SearchFilterBottomDialog.kt +++ b/app/src/main/java/ani/dantotsu/media/SearchFilterBottomDialog.kt @@ -61,9 +61,10 @@ class SearchFilterBottomDialog : BottomSheetDialogFragment() { Anilist.sortBy[0] -> R.drawable.ic_round_area_chart_24 Anilist.sortBy[1] -> R.drawable.ic_round_filter_peak_24 Anilist.sortBy[2] -> R.drawable.ic_round_star_graph_24 - Anilist.sortBy[3] -> R.drawable.ic_round_filter_list_24 - Anilist.sortBy[4] -> R.drawable.ic_round_filter_list_24_reverse - Anilist.sortBy[5] -> R.drawable.ic_round_assist_walker_24 + Anilist.sortBy[3] -> R.drawable.ic_round_new_releases_24 + Anilist.sortBy[4] -> R.drawable.ic_round_filter_list_24 + Anilist.sortBy[5] -> R.drawable.ic_round_filter_list_24_reverse + Anilist.sortBy[6] -> R.drawable.ic_round_assist_walker_24 else -> R.drawable.ic_round_filter_alt_24 } binding.sortByFilter.setImageResource(filterDrawable) @@ -167,20 +168,26 @@ class SearchFilterBottomDialog : BottomSheetDialogFragment() { startBounceZoomAnimation() } - R.id.sort_by_a_z -> { + R.id.sort_by_recent -> { activity.result.sort = Anilist.sortBy[3] + binding.sortByFilter.setImageResource(R.drawable.ic_round_new_releases_24) + startBounceZoomAnimation() + } + + R.id.sort_by_a_z -> { + activity.result.sort = Anilist.sortBy[4] binding.sortByFilter.setImageResource(R.drawable.ic_round_filter_list_24) startBounceZoomAnimation() } R.id.sort_by_z_a -> { - activity.result.sort = Anilist.sortBy[4] + activity.result.sort = Anilist.sortBy[5] binding.sortByFilter.setImageResource(R.drawable.ic_round_filter_list_24_reverse) startBounceZoomAnimation() } R.id.sort_by_pure_pain -> { - activity.result.sort = Anilist.sortBy[5] + activity.result.sort = Anilist.sortBy[6] binding.sortByFilter.setImageResource(R.drawable.ic_round_assist_walker_24) startBounceZoomAnimation() } diff --git a/app/src/main/res/menu/sortby_filter_menu.xml b/app/src/main/res/menu/sortby_filter_menu.xml index e10752d7..bac9d24d 100644 --- a/app/src/main/res/menu/sortby_filter_menu.xml +++ b/app/src/main/res/menu/sortby_filter_menu.xml @@ -9,6 +9,9 @@ + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 690fd307..2b321973 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -462,6 +462,7 @@ Score Popular Trending + New Releases A-Z Z-A Pure pain