WTF: rebel pls fix it
This commit is contained in:
parent
36c64951c7
commit
8da0092561
8 changed files with 170 additions and 16 deletions
|
@ -1254,6 +1254,7 @@ Page(page:$page,perPage:50) {
|
|||
show = true
|
||||
)
|
||||
}
|
||||
|
||||
suspend fun userFavMedia(anime: Boolean, id: Int): ArrayList<Media> {
|
||||
var hasNextPage = true
|
||||
var page = 0
|
||||
|
@ -1280,6 +1281,9 @@ Page(page:$page,perPage:50) {
|
|||
private fun userFavMediaQuery(anime: Boolean, page: Int, id: Int): String {
|
||||
return """User(id:${id}){id favourites{${if (anime) "anime" else "manga"}(page:$page){pageInfo{hasNextPage}edges{favouriteOrder node{id idMal isAdult mediaListEntry{ progress private score(format:POINT_100) status } chapters isFavourite format episodes nextAiringEpisode{episode}meanScore isFavourite format startDate{year month day} title{english romaji userPreferred}type status(version:2)bannerImage coverImage{large}}}}}}"""
|
||||
}
|
||||
suspend fun userFollowing(id: Int): Query.Following?{
|
||||
return executeQuery<Query.Following>("""{Following:Page {following(userId:${id},sort:[USERNAME]){id name avatar{large medium}bannerImage}}}""", force = true)
|
||||
}
|
||||
private suspend fun userBannerImage(type: String,id: Int?): String? {
|
||||
val response =
|
||||
executeQuery<Query.MediaListCollection>("""{ MediaListCollection(userId: ${id}, type: $type, chunk:1,perChunk:25, sort: [SCORE_DESC,UPDATED_TIME_DESC]) { lists { entries{ media { id bannerImage } } } } } """)
|
||||
|
|
|
@ -199,7 +199,17 @@ class Query {
|
|||
val user: UserProfile?
|
||||
)
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class Following(
|
||||
@SerialName("data")
|
||||
val data: Data
|
||||
) {
|
||||
@Serializable
|
||||
data class Data(
|
||||
@SerialName("following")
|
||||
val following: ani.dantotsu.connections.anilist.api.User?
|
||||
)
|
||||
}
|
||||
@Serializable
|
||||
data class UserProfile(
|
||||
@SerialName("id")
|
||||
|
|
32
app/src/main/java/ani/dantotsu/profile/FollowActivity.kt
Normal file
32
app/src/main/java/ani/dantotsu/profile/FollowActivity.kt
Normal file
|
@ -0,0 +1,32 @@
|
|||
package ani.dantotsu.profile
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import ani.dantotsu.connections.anilist.Anilist
|
||||
import ani.dantotsu.databinding.ActivityFollowBinding
|
||||
import ani.dantotsu.initActivity
|
||||
import ani.dantotsu.themes.ThemeManager
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
|
||||
class FollowActivity : AppCompatActivity(){
|
||||
private lateinit var binding: ActivityFollowBinding
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
ThemeManager(this).applyTheme()
|
||||
initActivity(this)
|
||||
binding = ActivityFollowBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
binding.listTitle.text = intent.getStringExtra("title")
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
val respond = Anilist.query.userFollowing(intent.getIntExtra("userId", 0))
|
||||
val user = respond?.data?.following
|
||||
withContext(Dispatchers.Main) {
|
||||
user?.id
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,10 +1,12 @@
|
|||
package ani.dantotsu.profile
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
|
@ -98,14 +100,15 @@ class ProfileActivity : AppCompatActivity() {
|
|||
}
|
||||
binding.profileProgressBar.visibility = View.GONE
|
||||
binding.profileTopContainer.visibility = View.VISIBLE
|
||||
binding.profileBannerImage.loadImage(user.bannerImage)
|
||||
binding.profileBannerImage.setOnLongClickListener {
|
||||
ImageViewDialog.newInstance(
|
||||
this@ProfileActivity,
|
||||
"${user.name}'s [Banner]",
|
||||
user.bannerImage
|
||||
|
||||
binding.temp.setOnClickListener {
|
||||
ContextCompat.startActivity(
|
||||
this@ProfileActivity, Intent(this@ProfileActivity, FollowActivity::class.java)
|
||||
.putExtra("title", "Following")
|
||||
.putExtra("userId", user.id), null
|
||||
)
|
||||
}
|
||||
|
||||
binding.profileUserAvatar.loadImage(user.avatar?.medium)
|
||||
binding.profileUserAvatar.setOnLongClickListener {
|
||||
ImageViewDialog.newInstance(
|
||||
|
@ -114,6 +117,7 @@ class ProfileActivity : AppCompatActivity() {
|
|||
user.avatar?.medium
|
||||
)
|
||||
}
|
||||
|
||||
binding.profileUserName.text = "${user.name} $userLevel"
|
||||
if (!(PrefManager.getVal(PrefName.BannerAnimations) as Boolean)) binding.profileBannerImage.pause()
|
||||
binding.profileBannerImage.loadImage(user.bannerImage)
|
||||
|
@ -125,14 +129,7 @@ class ProfileActivity : AppCompatActivity() {
|
|||
user.bannerImage
|
||||
)
|
||||
}
|
||||
binding.profileUserAvatar.loadImage(user.avatar?.medium)
|
||||
binding.profileUserAvatar.setOnLongClickListener {
|
||||
ImageViewDialog.newInstance(
|
||||
this@ProfileActivity,
|
||||
user.name + " [Avatar]",
|
||||
user.avatar?.medium
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue