From afac44ca43eb9401e55e33a6e1205cd063b9376d Mon Sep 17 00:00:00 2001 From: Tlaster Date: Mon, 1 Mar 2021 17:13:16 +0800 Subject: [PATCH] fix crash at status details adapter --- .../twidere/adapter/StatusDetailsAdapter.kt | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/StatusDetailsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/StatusDetailsAdapter.kt index 4250604f5..e8671932c 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/StatusDetailsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/StatusDetailsAdapter.kt @@ -124,26 +124,25 @@ class StatusDetailsAdapter( } override fun getStatus(position: Int, raw: Boolean): ParcelableStatus { - data?.let { data -> - when (getItemCountIndex(position, raw)) { - ITEM_IDX_CONVERSATION -> { + when (getItemCountIndex(position, raw)) { + ITEM_IDX_CONVERSATION -> { + data?.let { data -> var idx = position - getIndexStart(ITEM_IDX_CONVERSATION) - if (data.getOrNull(idx)?.is_filtered == true) idx++ + if (data[idx].is_filtered) idx++ return data[idx] } - ITEM_IDX_REPLY -> { + } + ITEM_IDX_REPLY -> { + data?.let { data -> var idx = position - getIndexStart(ITEM_IDX_CONVERSATION) - getTypeCount(ITEM_IDX_CONVERSATION) - getTypeCount(ITEM_IDX_STATUS) + replyStart - if (data.getOrNull(idx)?.is_filtered == true) idx++ + if (data[idx].is_filtered) idx++ return data[idx] } - ITEM_IDX_STATUS -> { - return status!! - } - else -> { - - } + } + ITEM_IDX_STATUS -> { + return status!! } } throw IndexOutOfBoundsException("index: $position")