Fix crashes when checking if list item is dismissable

This commit is contained in:
Jonas L 2019-03-04 00:00:00 +00:00
parent f0a48232b0
commit 9d32061aa8
2 changed files with 8 additions and 2 deletions

View file

@ -91,7 +91,10 @@ class ManageChildCategoriesFragment : Fragment() {
ItemTouchHelper(object: ItemTouchHelper.Callback() { ItemTouchHelper(object: ItemTouchHelper.Callback() {
override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int { override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
if (adapter.categories!![viewHolder.adapterPosition] == CategoriesIntroductionHeader) { val index = viewHolder.adapterPosition
val item = if (index == RecyclerView.NO_POSITION) null else adapter.categories!![index]
if (item == CategoriesIntroductionHeader) {
return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, ItemTouchHelper.END) or return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, ItemTouchHelper.END) or
makeFlag(ItemTouchHelper.ACTION_STATE_IDLE, ItemTouchHelper.END) makeFlag(ItemTouchHelper.ACTION_STATE_IDLE, ItemTouchHelper.END)
} else { } else {

View file

@ -97,7 +97,10 @@ class OverviewFragment : CoroutineFragment(), CanNotAddDevicesInLocalModeDialogF
ItemTouchHelper( ItemTouchHelper(
object: ItemTouchHelper.Callback() { object: ItemTouchHelper.Callback() {
override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int { override fun getMovementFlags(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
if (adapter.data!![viewHolder.adapterPosition] == OverviewFragmentHeaderIntro) { val index = viewHolder.adapterPosition
val item = if (index == RecyclerView.NO_POSITION) null else adapter.data!![index]
if (item == OverviewFragmentHeaderIntro) {
return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, ItemTouchHelper.END) or return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE, ItemTouchHelper.END) or
makeFlag(ItemTouchHelper.ACTION_STATE_IDLE, ItemTouchHelper.END) makeFlag(ItemTouchHelper.ACTION_STATE_IDLE, ItemTouchHelper.END)
} else { } else {