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 07090cc9..919da868 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt @@ -1293,7 +1293,7 @@ Page(page:$page,perPage:50) { suspend fun getUserProfile(id: Int): Query.UserProfileResponse? { return executeQuery( - """{user:User(id:$id){id,name,about(asHtml:true)avatar{medium,large},bannerImage,isFollowing,isFollower,isBlocked,favourites{anime{nodes{id,coverImage{extraLarge,large,medium,color}}}manga{nodes{id,coverImage{extraLarge,large,medium,color}}}characters{nodes{id,name{first,middle,last,full,native,alternative,userPreferred},image{large,medium}}}staff{nodes{id,name{first,middle,last,full,native,alternative,userPreferred},image{large,medium}}}studios{nodes{id,name}}}statistics{anime{count,meanScore,standardDeviation,minutesWatched,episodesWatched,chaptersRead,volumesRead}manga{count,meanScore,standardDeviation,minutesWatched,episodesWatched,chaptersRead,volumesRead}}siteUrl}}""", + """{followerPage:Page{followers(userId:$id){id}pageInfo{total}}followingPage:Page{following(userId:$id){id}pageInfo{total}}user:User(id:$id){id,name,about(asHtml:true)avatar{medium,large},bannerImage,isFollowing,isFollower,isBlocked,favourites{anime{nodes{id,coverImage{extraLarge,large,medium,color}}}manga{nodes{id,coverImage{extraLarge,large,medium,color}}}characters{nodes{id,name{first,middle,last,full,native,alternative,userPreferred},image{large,medium}}}staff{nodes{id,name{first,middle,last,full,native,alternative,userPreferred},image{large,medium}}}studios{nodes{id,name}}}statistics{anime{count,meanScore,standardDeviation,minutesWatched,episodesWatched,chaptersRead,volumesRead}manga{count,meanScore,standardDeviation,minutesWatched,episodesWatched,chaptersRead,volumesRead}}siteUrl}}""", force = true ) } diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/api/Data.kt b/app/src/main/java/ani/dantotsu/connections/anilist/api/Data.kt index 5240c575..f7cc0be2 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/api/Data.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/api/Data.kt @@ -208,10 +208,21 @@ class Query { ) : java.io.Serializable { @Serializable data class Data( + @SerialName("followerPage") + val followerPage: UserProfilePage?, + @SerialName("followingPage") + val followingPage: UserProfilePage?, @SerialName("user") val user: UserProfile? ) : java.io.Serializable } + + @Serializable + data class UserProfilePage( + @SerialName("pageInfo") + val pageInfo: PageInfo, + ) : java.io.Serializable + @Serializable data class Following( @SerialName("data") diff --git a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt index ded6a1f0..9ea5b747 100644 --- a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt +++ b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt @@ -75,8 +75,8 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene finish() return@launch } - val following = Anilist.query.userFollowers(userid)?.data?.page?.followers - val followers = Anilist.query.userFollowing(userid)?.data?.page?.following + val following = respond.data.followingPage?.pageInfo?.total?:0 + val followers = respond.data.followerPage?.pageInfo?.total?:0 withContext(Dispatchers.Main) { binding.profileViewPager.updateLayoutParams { bottomMargin = navBarHeight @@ -185,9 +185,8 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene mMaxScrollSize = binding.profileAppBar.totalScrollRange binding.profileAppBar.addOnOffsetChangedListener(this@ProfileActivity) - followers?.count()?.let { - binding.profileFollowerCount.text = it.toString() - } + + binding.profileFollowerCount.text = followers.toString() binding.profileFollowerCountContainer.setOnClickListener { ContextCompat.startActivity( this@ProfileActivity, @@ -198,9 +197,7 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene ) } - following?.count()?.let { - binding.profileFollowingCount.text = it.toString() - } + binding.profileFollowingCount.text = following.toString() binding.profileFollowingCountContainer.setOnClickListener { ContextCompat.startActivity( this@ProfileActivity,