From 3af7926d20c6340d31a16bcbb4b35b0e433becd2 Mon Sep 17 00:00:00 2001 From: rebelonion <87634197+rebelonion@users.noreply.github.com> Date: Fri, 8 Mar 2024 22:04:25 -0600 Subject: [PATCH] feat: text activity --- .../dantotsu/profile/activity/ActivityItem.kt | 33 ++++++++---- app/src/main/res/layout/item_activity.xml | 50 +++++++++++++++++-- app/src/main/res/values/strings.xml | 10 +++- 3 files changed, 80 insertions(+), 13 deletions(-) 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 7860d93e..ee7481c6 100644 --- a/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt +++ b/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt @@ -4,6 +4,7 @@ import android.content.Context import android.view.View import androidx.core.content.ContextCompat import ani.dantotsu.R +import ani.dantotsu.buildMarkwon import ani.dantotsu.connections.anilist.api.Activity import ani.dantotsu.databinding.ItemActivityBinding import ani.dantotsu.loadImage @@ -21,21 +22,27 @@ class ActivityItem( private lateinit var binding: ItemActivityBinding override fun bind(viewBinding: ItemActivityBinding, position: Int) { binding = viewBinding + + binding.activityUserName.text = activity.user?.name + binding.activityUserAvatar.loadImage(activity.user?.avatar?.medium) + binding.activityTime.text = ActivityItemBuilder.getDateTime(activity.createdAt) + val color = if (activity.isLiked == true) + ContextCompat.getColor(binding.root.context, R.color.yt_red) + else + ContextCompat.getColor(binding.root.context, R.color.bg_opp) + binding.activityFavorite.setColorFilter(color) + binding.commentRepliesContainer.visibility = if (activity.replyCount > 0) View.VISIBLE else View.GONE + + val context = binding.root.context + when (activity.typename) { "ListActivity" ->{ - binding.activityUserName.text = activity.user?.name - binding.activityUserAvatar.loadImage(activity.user?.avatar?.medium) - binding.activityTime.text = ActivityItemBuilder.getDateTime(activity.createdAt) - val color = if (activity.isLiked == true) - ContextCompat.getColor(binding.root.context, R.color.yt_red) - else - ContextCompat.getColor(binding.root.context, R.color.bg_opp) - binding.activityFavorite.setColorFilter(color) + binding.activityContent.visibility = View.GONE + binding.activityBannerContainer.visibility = View.VISIBLE binding.activityMediaName.text = activity.media?.title?.userPreferred binding.activityText.text = "${activity.user!!.name} ${activity.status} ${activity.media!!.title!!.userPreferred}" binding.activityCover.loadImage(activity.media.coverImage?.medium) - val context = binding.root.context val banner = activity.media.bannerImage if (banner != null) { if (!(context as android.app.Activity).isDestroyed) @@ -48,6 +55,14 @@ class ActivityItem( binding.activityBannerImage.setImageResource(R.drawable.linear_gradient_bg) } } + "TextActivity" -> { + 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.text ?: "") + } + } } } diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml index eb63b17a..2220d60e 100644 --- a/app/src/main/res/layout/item_activity.xml +++ b/app/src/main/res/layout/item_activity.xml @@ -5,6 +5,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" + android:background="?attr/colorSurface" android:orientation="vertical"> + + + tools:ignore="ContentDescription" + tools:srcCompat="@tools:sample/backgrounds/scenic" /> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89cc8d51..5a16848f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -684,5 +684,13 @@ Manga Mean Score About me Follow - + + +Lorem ipsum dolor sit amet. Est consectetur sint qui internos optio nam Quis excepturi qui voluptatem animi. Qui labore quasi vel suscipit deleniti et doloremque omnis in velit suscipit et quasi eaque. Et doloribus recusandae id laudantium Quis qui natus velit in voluptatem voluptatem! + +Et magni quasi vel nemo omnis et voluptate quisquam vel corporis fuga ut consequatur voluptas At quis veniam. At assumenda illum id minus veritatis id consequatur ipsum est quod corrupti quo adipisci sint. Quo explicabo doloribus et excepturi internos est reiciendis laboriosam ut explicabo veniam ut culpa mollitia in ducimus sint aut autem voluptatem! In consectetur laudantium non omnis saepe nam sint fuga. + +Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exercitationem adipisci quo nemo aliquam ea numquam beatae. Eum Quis dolore aut quia accusantium sed vero autem vel quaerat eaque et beatae dicta non delectus galisum non ullam nulla. + +