fix(social): crash when clicking story
This commit is contained in:
parent
7ecdbfd42f
commit
90e611dc4f
4 changed files with 79 additions and 52 deletions
|
@ -13,6 +13,7 @@ import ani.dantotsu.initActivity
|
|||
import ani.dantotsu.others.getSerialized
|
||||
import ani.dantotsu.themes.ThemeManager
|
||||
import ani.dantotsu.home.status.listener.StoriesCallback
|
||||
import ani.dantotsu.media.Media
|
||||
import ani.dantotsu.navBarHeight
|
||||
import ani.dantotsu.profile.User
|
||||
import ani.dantotsu.settings.saving.PrefManager
|
||||
|
@ -32,7 +33,7 @@ class StatusActivity : AppCompatActivity(), StoriesCallback {
|
|||
initActivity(this)
|
||||
binding = ActivityStatusBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
activity = intent.getSerialized("user")!!
|
||||
activity = user
|
||||
position = intent.getIntExtra("position", -1)
|
||||
binding.root.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||
topMargin = statusBarHeight
|
||||
|
@ -85,5 +86,7 @@ class StatusActivity : AppCompatActivity(), StoriesCallback {
|
|||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
var user: ArrayList<User> = arrayListOf()
|
||||
}
|
||||
}
|
|
@ -11,22 +11,21 @@ import ani.dantotsu.profile.ProfileActivity
|
|||
import ani.dantotsu.profile.User
|
||||
import ani.dantotsu.setAnimation
|
||||
import ani.dantotsu.settings.saving.PrefManager
|
||||
import java.io.Serializable
|
||||
|
||||
class UserStatus(private val user: ArrayList<User>) :
|
||||
RecyclerView.Adapter< UserStatus.UsersViewHolder>() {
|
||||
RecyclerView.Adapter<UserStatus.UsersViewHolder>() {
|
||||
|
||||
inner class UsersViewHolder(val binding: ItemUserStatusBinding) :
|
||||
RecyclerView.ViewHolder(binding.root) {
|
||||
init {
|
||||
itemView.setOnClickListener {
|
||||
ContextCompat.startActivity(
|
||||
StatusActivity.user = user
|
||||
ContextCompat.startActivity(
|
||||
itemView.context,
|
||||
Intent(
|
||||
itemView.context,
|
||||
StatusActivity::class.java
|
||||
).putExtra("user", user as Serializable)
|
||||
.putExtra("position", bindingAdapterPosition),
|
||||
).putExtra("position", bindingAdapterPosition),
|
||||
null
|
||||
)
|
||||
}
|
||||
|
@ -61,7 +60,8 @@ class UserStatus(private val user: ArrayList<User>) :
|
|||
b.profileUserAvatar.loadImage(user.pfp)
|
||||
b.profileUserName.text = user.name
|
||||
|
||||
val watchedActivityIds = PrefManager.getCustomVal<Set<Int>>("${user.id}_activities", setOf())
|
||||
val watchedActivityIds =
|
||||
PrefManager.getCustomVal<Set<Int>>("${user.id}_activities", setOf())
|
||||
val activityIdToStatusList = user.activity.map { watchedActivityIds.contains(it.id) }
|
||||
b.profileUserStatusIndicator.setParts(user.activity.size, activityIdToStatusList)
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ import ani.dantotsu.profile.User
|
|||
import ani.dantotsu.profile.UsersDialogFragment
|
||||
import ani.dantotsu.profile.activity.ActivityItemBuilder
|
||||
import ani.dantotsu.settings.saving.PrefManager
|
||||
import ani.dantotsu.settings.saving.PrefName
|
||||
import ani.dantotsu.snackString
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
@ -52,6 +53,7 @@ constructor(
|
|||
private lateinit var rightTouchPanel: FrameLayout
|
||||
private lateinit var statusUserContainer: LinearLayout
|
||||
private lateinit var imageContentView: ImageView
|
||||
private lateinit var imageContentViewKen: ImageView
|
||||
private lateinit var loadingView: ProgressBar
|
||||
private lateinit var activityLikeCount: TextView
|
||||
private lateinit var activityLike: ImageView
|
||||
|
@ -84,6 +86,7 @@ constructor(
|
|||
leftTouchPanel = findViewById(R.id.leftTouchPanel)
|
||||
rightTouchPanel = findViewById(R.id.rightTouchPanel)
|
||||
imageContentView = findViewById(R.id.contentImageView)
|
||||
imageContentViewKen = findViewById(R.id.contentImageViewKen)
|
||||
statusUserContainer = findViewById(R.id.statusUserContainer)
|
||||
loadingView = findViewById(R.id.androidStoriesLoadingView)
|
||||
coverImage = findViewById(R.id.coverImage)
|
||||
|
@ -369,7 +372,9 @@ constructor(
|
|||
private fun loadStory(story: Activity) {
|
||||
loadingView.visibility = View.GONE
|
||||
animation.start()
|
||||
blurImage(imageContentView, story.media?.bannerImage ?: story.media?.coverImage?.extraLarge)
|
||||
val bannerAnimations: Boolean = PrefManager.getVal(PrefName.BannerAnimations)
|
||||
|
||||
blurImage(if (bannerAnimations)imageContentViewKen else imageContentView, story.media?.bannerImage ?: story.media?.coverImage?.extraLarge)
|
||||
userAvatar.loadImage(story.user?.avatar?.large)
|
||||
coverImage.loadImage(story.media?.coverImage?.extraLarge)
|
||||
userName.text = story.user?.name
|
||||
|
@ -381,7 +386,12 @@ constructor(
|
|||
else {
|
||||
it.toString()
|
||||
}
|
||||
}} ${story.progress ?: story.media?.title?.userPreferred}"
|
||||
}} ${story.progress ?: story.media?.title?.userPreferred} " +
|
||||
if (story.status?.contains("Completed") != false) {
|
||||
"of ${story.media?.title?.userPreferred}"
|
||||
}else {
|
||||
""
|
||||
}
|
||||
infoText.text = text
|
||||
|
||||
statusUserContainer.setOnClickListener {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue