fix ConversationLineItemDecoration (#2677)

* fix ConversationLineItemDecoration

* cleanup code a bit
This commit is contained in:
Konrad Pozniak 2022-08-22 15:17:08 +02:00 committed by GitHub
parent e68e3d1825
commit f094f84b86
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,6 +20,7 @@ import android.graphics.Canvas
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.view.View import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.forEach
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.keylesspalace.tusky.R import com.keylesspalace.tusky.R
@ -31,14 +32,13 @@ class ConversationLineItemDecoration(private val context: Context) : RecyclerVie
val dividerStart = parent.paddingStart + context.resources.getDimensionPixelSize(R.dimen.status_line_margin_start) val dividerStart = parent.paddingStart + context.resources.getDimensionPixelSize(R.dimen.status_line_margin_start)
val dividerEnd = dividerStart + divider.intrinsicWidth val dividerEnd = dividerStart + divider.intrinsicWidth
val childCount = parent.childCount
val avatarMargin = context.resources.getDimensionPixelSize(R.dimen.account_avatar_margin) val avatarMargin = context.resources.getDimensionPixelSize(R.dimen.account_avatar_margin)
for (i in 0 until childCount) { val items = (parent.adapter as ThreadAdapter).currentList
val child = parent.getChildAt(i)
parent.forEach { child ->
val position = parent.getChildAdapterPosition(child) val position = parent.getChildAdapterPosition(child)
val items = (parent.adapter as ThreadAdapter).currentList
val current = items.getOrNull(position) val current = items.getOrNull(position)
@ -50,7 +50,7 @@ class ConversationLineItemDecoration(private val context: Context) : RecyclerVie
child.top + avatarMargin child.top + avatarMargin
} }
val below = items.getOrNull(position + 1) val below = items.getOrNull(position + 1)
val dividerBottom = if (below != null && current.id == below.status.inReplyToId && below.isDetailed) { val dividerBottom = if (below != null && current.id == below.status.inReplyToId && !current.isDetailed) {
child.bottom child.bottom
} else { } else {
child.top + avatarMargin child.top + avatarMargin