From 913d74b2855f7d3f4ada89965e32163ae4221dfd Mon Sep 17 00:00:00 2001 From: rebelonion <87634197+rebelonion@users.noreply.github.com> Date: Sun, 10 Mar 2024 03:59:15 -0500 Subject: [PATCH] feat: message activities --- .../dantotsu/connections/anilist/api/Feed.kt | 4 ++++ .../dantotsu/profile/activity/ActivityItem.kt | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/api/Feed.kt b/app/src/main/java/ani/dantotsu/connections/anilist/api/Feed.kt index b8cc5cc9..8b6e2814 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/api/Feed.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/api/Feed.kt @@ -63,6 +63,10 @@ data class Activity( val createdAt: Int, @SerialName("user") val user: User?, + @SerialName("recipient") + val recipient: User?, + @SerialName("messenger") + val messenger: User?, @SerialName("media") val media: Media?, @SerialName("replies") diff --git a/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt b/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt index c69d5950..1a112de5 100644 --- a/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt +++ b/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt @@ -33,15 +33,15 @@ class ActivityItem( override fun bind(viewBinding: ItemActivityBinding, position: Int) { binding = viewBinding - binding.activityUserName.text = activity.user?.name - binding.activityUserAvatar.loadImage(activity.user?.avatar?.medium) + binding.activityUserName.text = activity.user?.name ?: activity.messenger?.name + binding.activityUserAvatar.loadImage(activity.user?.avatar?.medium ?: activity.messenger?.avatar?.medium) binding.activityTime.text = ActivityItemBuilder.getDateTime(activity.createdAt) val likeColor = ContextCompat.getColor(binding.root.context, R.color.yt_red) val notLikeColor = ContextCompat.getColor(binding.root.context, R.color.bg_opp) binding.activityLike.setColorFilter(if (activity.isLiked == true) likeColor else notLikeColor) binding.commentRepliesContainer.visibility = if (activity.replyCount > 0) View.VISIBLE else View.GONE - binding.activityLikeCount.text = activity.likeCount.toString() + binding.activityLikeCount.text = (activity.likeCount?:0).toString() binding.activityLike.setOnClickListener { val scope = CoroutineScope(Dispatchers.IO + SupervisorJob()) @@ -55,7 +55,7 @@ class ActivityItem( } else { activity.likeCount = activity.likeCount?.plus(1) } - binding.activityLikeCount.text = activity.likeCount.toString() + binding.activityLikeCount.text = (activity.likeCount?:0).toString() activity.isLiked = !activity.isLiked!! binding.activityLike.setColorFilter(if (activity.isLiked == true) likeColor else notLikeColor) @@ -99,6 +99,15 @@ class ActivityItem( markwon.setMarkdown(binding.activityContent, activity.text ?: "") } } + + "MessageActivity" -> { + binding.activityBannerContainer.visibility = View.GONE + binding.activityContent.visibility = View.VISIBLE + if (!(context as android.app.Activity).isDestroyed) { + val markwon = buildMarkwon(context, false) + markwon.setMarkdown(binding.activityContent, activity.message ?: "") + } + } } }