From e1b50c86f34f0796253dfa1498ebfa85a965fcb3 Mon Sep 17 00:00:00 2001 From: Sadwhy <99601717+Sadwhy@users.noreply.github.com> Date: Thu, 21 Mar 2024 12:11:16 +0600 Subject: [PATCH 1/5] feet(watch): Fixed one inconsistent switch (#273) * feet(watch): Fixed one inconsistent switch --- app/src/main/res/layout/item_anime_watch.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/layout/item_anime_watch.xml b/app/src/main/res/layout/item_anime_watch.xml index ae95f1d7..9fc4224a 100644 --- a/app/src/main/res/layout/item_anime_watch.xml +++ b/app/src/main/res/layout/item_anime_watch.xml @@ -154,7 +154,7 @@ android:orientation="horizontal" android:visibility="gone"> - + android:scaleX="0.80" + android:scaleY="0.80" + app:useMaterialThemeColors="true"/> @@ -373,3 +375,4 @@ + From 3016792f95525872517b6b7352610bc48cb2b866 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Fri, 22 Mar 2024 11:24:36 +0530 Subject: [PATCH 2/5] fix(activity): blur banner --- app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt | 2 -- app/src/main/res/layout/item_activity.xml | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt b/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt index 980c70c5..e361199d 100644 --- a/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt +++ b/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt @@ -143,8 +143,6 @@ class ProfileFragment : Fragment() { super.onResume() if (this::binding.isInitialized) { binding.root.requestLayout() - setFavPeople() - model.refresh() } } diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml index 03b96d30..816c1732 100644 --- a/app/src/main/res/layout/item_activity.xml +++ b/app/src/main/res/layout/item_activity.xml @@ -113,7 +113,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="start|center_vertical" - android:backgroundTint="?attr/colorSurface" + app:cardBackgroundColor="@color/nav_bg" app:cardCornerRadius="24dp" app:strokeColor="@color/transparent"> @@ -150,7 +150,7 @@ android:layout_height="160dp" android:layout_gravity="center" android:scaleType="centerCrop" - app:srcCompat="@drawable/ic_round_add_circle_24" + tools:srcCompat="@tools:sample/backgrounds/scenic" tools:ignore="ContentDescription,ImageContrastCheck" tools:tint="@color/transparent" /> From 02efc01a10b2218d11fbd83be68fff4701331d37 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Fri, 22 Mar 2024 12:50:04 +0530 Subject: [PATCH 3/5] feat(profile): round chips --- app/src/main/res/layout/activity_profile.xml | 94 +++++++++----------- 1 file changed, 43 insertions(+), 51 deletions(-) diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml index 13870e1e..068e1e41 100644 --- a/app/src/main/res/layout/activity_profile.xml +++ b/app/src/main/res/layout/activity_profile.xml @@ -128,145 +128,137 @@ app:tint="@color/bg_opp" /> + - - - + android:layout_marginStart="8dp" + android:backgroundTint="?attr/colorSurfaceVariant" + app:cardCornerRadius="16dp"> + android:textColor="?attr/colorPrimary" + tools:text="1" /> + - - - - + android:layout_marginStart="8dp" + android:backgroundTint="?attr/colorSurfaceVariant" + app:cardCornerRadius="16dp"> + android:textColor="?attr/colorPrimary" + tools:text="2" /> - + - - + android:layout_marginStart="8dp" + android:backgroundTint="?attr/colorSurfaceVariant" + app:cardCornerRadius="16dp"> + android:textColor="?attr/colorPrimary" + tools:text="3" /> - + - - - + android:layout_marginStart="8dp" + android:backgroundTint="?attr/colorSurfaceVariant" + app:cardCornerRadius="16dp"> + android:textColor="?attr/colorPrimary" + tools:text="4" /> - + - - Date: Fri, 22 Mar 2024 20:38:34 +0530 Subject: [PATCH 4/5] feat: something --- .../download/anime/OfflineAnimeAdapter.kt | 2 +- .../download/manga/OfflineMangaAdapter.kt | 2 +- app/src/main/res/layout/item_activity.xml | 4 ++-- app/src/main/res/layout/item_follower.xml | 21 +++++++++---------- app/src/main/res/layout/item_notification.xml | 4 ++-- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeAdapter.kt b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeAdapter.kt index ef0c4148..63cc384a 100644 --- a/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeAdapter.kt +++ b/app/src/main/java/ani/dantotsu/download/anime/OfflineAnimeAdapter.kt @@ -62,7 +62,7 @@ class OfflineAnimeAdapter( val bannerView = view.findViewById(R.id.itemCompactBanner) // for large view val episodes = view.findViewById(R.id.itemTotal) episodes.text = " Episodes" - bannerView.setImageURI(item.banner) + bannerView.setImageURI(item.banner ?: item.image) totalepisodes.text = item.totalEpisodeList } else if (style == 1) { val watchedEpisodes = diff --git a/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaAdapter.kt b/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaAdapter.kt index 4ef12c03..0bc9ef08 100644 --- a/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaAdapter.kt +++ b/app/src/main/java/ani/dantotsu/download/manga/OfflineMangaAdapter.kt @@ -61,7 +61,7 @@ class OfflineMangaAdapter( val bannerView = view.findViewById(R.id.itemCompactBanner) // for large view val chapters = view.findViewById(R.id.itemTotal) chapters.text = " Chapters" - bannerView.setImageURI(item.banner) + bannerView.setImageURI(item.banner ?: item.image) totalChapter.text = item.totalChapter } else if (style == 1) { val readChapter = diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml index 816c1732..e45d45ca 100644 --- a/app/src/main/res/layout/item_activity.xml +++ b/app/src/main/res/layout/item_activity.xml @@ -109,7 +109,7 @@ android:layout_height="wrap_content" android:layout_marginTop="8dp"> - - + - + app:cardCornerRadius="24dp" + app:strokeColor="@color/transparent"> + tools:ignore="ContentDescription" + tools:srcCompat="@tools:sample/backgrounds/scenic" /> + app:cardCornerRadius="64dp" + app:strokeColor="@color/transparent"> - + android:textSize="18sp" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/item_notification.xml b/app/src/main/res/layout/item_notification.xml index 77868138..b20359ef 100644 --- a/app/src/main/res/layout/item_notification.xml +++ b/app/src/main/res/layout/item_notification.xml @@ -8,7 +8,7 @@ android:layout_margin="8dp" android:orientation="horizontal"> - - + \ No newline at end of file From d1e03b8237a9c389fb144e209c8bb1a29ed67f82 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Fri, 22 Mar 2024 23:44:51 +0530 Subject: [PATCH 5/5] feat(media): fav and popularity count --- .../connections/anilist/AnilistQueries.kt | 5 +- app/src/main/java/ani/dantotsu/media/Media.kt | 4 +- .../ani/dantotsu/media/MediaInfoFragment.kt | 2 + app/src/main/res/layout/activity_profile.xml | 224 +++++++++--------- .../main/res/layout/fragment_media_info.xml | 39 +++ app/src/main/res/values/strings.xml | 2 + 6 files changed, 167 insertions(+), 109 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 c9ff694d..c83fd07f 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt @@ -72,7 +72,7 @@ class AnilistQueries { media.cameFromContinue = false val query = - """{Media(id:${media.id}){id mediaListEntry{id status score(format:POINT_100)progress private notes repeat customLists updatedAt startedAt{year month day}completedAt{year month day}}isFavourite siteUrl idMal nextAiringEpisode{episode airingAt}source countryOfOrigin format duration season seasonYear startDate{year month day}endDate{year month day}genres studios(isMain:true){nodes{id name siteUrl}}description trailer{site id}synonyms tags{name rank isMediaSpoiler}characters(sort:[ROLE,FAVOURITES_DESC],perPage:25,page:1){edges{role node{id image{medium}name{userPreferred}isFavourite}}}relations{edges{relationType(version:2)node{id idMal mediaListEntry{progress private score(format:POINT_100)status}episodes chapters nextAiringEpisode{episode}popularity meanScore isAdult isFavourite format title{english romaji userPreferred}type status(version:2)bannerImage coverImage{large}}}}staffPreview:staff(perPage:8,sort:[RELEVANCE,ID]){edges{role node{id image{large medium}name{userPreferred}}}}recommendations(sort:RATING_DESC){nodes{mediaRecommendation{id idMal mediaListEntry{progress private score(format:POINT_100)status}episodes chapters nextAiringEpisode{episode}meanScore isAdult isFavourite format title{english romaji userPreferred}type status(version:2)bannerImage coverImage{large}}}}externalLinks{url site}}}""" + """{Media(id:${media.id}){id favourites popularity mediaListEntry{id status score(format:POINT_100)progress private notes repeat customLists updatedAt startedAt{year month day}completedAt{year month day}}isFavourite siteUrl idMal nextAiringEpisode{episode airingAt}source countryOfOrigin format duration season seasonYear startDate{year month day}endDate{year month day}genres studios(isMain:true){nodes{id name siteUrl}}description trailer{site id}synonyms tags{name rank isMediaSpoiler}characters(sort:[ROLE,FAVOURITES_DESC],perPage:25,page:1){edges{role node{id image{medium}name{userPreferred}isFavourite}}}relations{edges{relationType(version:2)node{id idMal mediaListEntry{progress private score(format:POINT_100)status}episodes chapters nextAiringEpisode{episode}popularity meanScore isAdult isFavourite format title{english romaji userPreferred}type status(version:2)bannerImage coverImage{large}}}}staffPreview:staff(perPage:8,sort:[RELEVANCE,ID]){edges{role node{id image{large medium}name{userPreferred}}}}recommendations(sort:RATING_DESC){nodes{mediaRecommendation{id idMal mediaListEntry{progress private score(format:POINT_100)status}episodes chapters nextAiringEpisode{episode}meanScore isAdult isFavourite format title{english romaji userPreferred}type status(version:2)bannerImage coverImage{large}}}}externalLinks{url site}}}""" runBlocking { val anilist = async { var response = executeQuery(query, force = true, show = true) @@ -83,7 +83,8 @@ class AnilistQueries { media.source = fetchedMedia.source?.toString() media.countryOfOrigin = fetchedMedia.countryOfOrigin media.format = fetchedMedia.format?.toString() - + media.favourites = fetchedMedia.favourites + media.popularity = fetchedMedia.popularity media.startDate = fetchedMedia.startDate media.endDate = fetchedMedia.endDate diff --git a/app/src/main/java/ani/dantotsu/media/Media.kt b/app/src/main/java/ani/dantotsu/media/Media.kt index d26a5048..c0196218 100644 --- a/app/src/main/java/ani/dantotsu/media/Media.kt +++ b/app/src/main/java/ani/dantotsu/media/Media.kt @@ -25,7 +25,7 @@ data class Media( var cover: String? = null, var banner: String? = null, var relation: String? = null, - var popularity: Int? = null, + var favourites: Int? = null, var isAdult: Boolean, var isFav: Boolean = false, @@ -56,6 +56,7 @@ data class Media( var trailer: String? = null, var startDate: FuzzyDate? = null, var endDate: FuzzyDate? = null, + var popularity: Int? = null, var characters: ArrayList? = null, var staff: ArrayList? = null, @@ -95,6 +96,7 @@ data class Media( meanScore = apiMedia.meanScore, startDate = apiMedia.startDate, endDate = apiMedia.endDate, + favourites = apiMedia.favourites, anime = if (apiMedia.type == MediaType.ANIME) Anime( totalEpisodes = apiMedia.episodes, nextAiringEpisode = apiMedia.nextAiringEpisode?.episode?.minus(1) diff --git a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt index 06fb3aa9..1cec1eb6 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt @@ -97,6 +97,8 @@ class MediaInfoFragment : Fragment() { binding.mediaInfoSource.text = media.source binding.mediaInfoStart.text = media.startDate?.toString() ?: "??" binding.mediaInfoEnd.text = media.endDate?.toString() ?: "??" + binding.mediaInfoPopularity.text = media.popularity.toString() + binding.mediaInfoFavorites.text = media.favourites.toString() if (media.anime != null) { val episodeDuration = media.anime.episodeDuration diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml index 068e1e41..5b61ea3d 100644 --- a/app/src/main/res/layout/activity_profile.xml +++ b/app/src/main/res/layout/activity_profile.xml @@ -129,133 +129,145 @@ - + app:cardCornerRadius="16dp"> - + android:orientation="horizontal" + tools:ignore="HardcodedText"> - + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> - + + + + + + + + - + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> + - + - + + + + + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> - + + + + + + + + + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> - + + - - - - - - - - - - - - - - - - - + + + diff --git a/app/src/main/res/layout/fragment_media_info.xml b/app/src/main/res/layout/fragment_media_info.xml index 0cc14a6a..29ae8ff9 100644 --- a/app/src/main/res/layout/fragment_media_info.xml +++ b/app/src/main/res/layout/fragment_media_info.xml @@ -303,7 +303,46 @@ android:fontFamily="@font/poppins_bold" android:textAlignment="textEnd" /> + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a974ff47..9b0ec0f3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -124,6 +124,8 @@ Characters Relations Staff + Favourites + Popularity Roles Details