1
1
package com.woocommerce.android.ui.orders
2
2
3
3
import android.view.MotionEvent
4
+ import android.view.View
4
5
import androidx.recyclerview.selection.ItemDetailsLookup
5
6
import androidx.recyclerview.widget.RecyclerView
6
7
import com.woocommerce.android.ui.orders.list.OrderListAdapter
@@ -10,17 +11,24 @@ class DefaultOrderListItemLookup(private val recyclerView: RecyclerView) : ItemD
10
11
override fun getItemDetails (event : MotionEvent ): ItemDetails <Long >? =
11
12
recyclerView
12
13
.findChildViewUnder(event.x, event.y)
13
- ?.let { view ->
14
- recyclerView.getChildViewHolder(view)?.let { viewHolder ->
15
- val position = viewHolder.bindingAdapterPosition
16
- val item = (recyclerView.adapter as ? OrderListAdapter )?.currentList?.get(position)
17
- if (item is OrderListItemUI ) {
18
- DefaultOrderItemDetailsLookup (position, item.orderId)
19
- } else {
20
- null
21
- }
14
+ ?.let { view -> getDetailsFromView(view) }
15
+
16
+ private fun getDetailsFromView (view : View ): ItemDetails <Long >? {
17
+ val viewHolder = recyclerView.getChildViewHolder(view) ? : return null
18
+ val position = viewHolder.bindingAdapterPosition
19
+
20
+ return when {
21
+ position == RecyclerView .NO_POSITION -> null
22
+ else -> {
23
+ val item = (recyclerView.adapter as ? OrderListAdapter )?.currentList?.get(position)
24
+ if (item is OrderListItemUI ) {
25
+ DefaultOrderItemDetailsLookup (position, item.orderId)
26
+ } else {
27
+ null
22
28
}
23
29
}
30
+ }
31
+ }
24
32
}
25
33
26
34
class DefaultOrderItemDetailsLookup (
0 commit comments