From 2c20460388ca4be350cc369f2cc7fc8ffe9ede27 Mon Sep 17 00:00:00 2001 From: Naveen Date: Fri, 12 Apr 2024 14:16:01 +0530 Subject: [PATCH] Remove drag handles when action mode is destroyed --- .../notes/adapters/ChecklistAdapter.kt | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/org/fossify/notes/adapters/ChecklistAdapter.kt b/app/src/main/kotlin/org/fossify/notes/adapters/ChecklistAdapter.kt index cc6c50af..561a35a5 100644 --- a/app/src/main/kotlin/org/fossify/notes/adapters/ChecklistAdapter.kt +++ b/app/src/main/kotlin/org/fossify/notes/adapters/ChecklistAdapter.kt @@ -1,5 +1,6 @@ package org.fossify.notes.adapters +import android.annotation.SuppressLint import android.graphics.Paint import android.graphics.drawable.Drawable import android.util.TypedValue @@ -31,10 +32,13 @@ import org.fossify.notes.models.ChecklistItem import java.util.Collections class ChecklistAdapter( - activity: BaseSimpleActivity, var items: MutableList, val listener: ChecklistItemsListener?, - recyclerView: MyRecyclerView, val showIcons: Boolean, itemClick: (Any) -> Unit -) : - MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract { + activity: BaseSimpleActivity, + var items: MutableList, + val listener: ChecklistItemsListener?, + recyclerView: MyRecyclerView, + val showIcons: Boolean, + itemClick: (Any) -> Unit, +) : MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract { private lateinit var crossDrawable: Drawable private lateinit var checkDrawable: Drawable @@ -78,9 +82,15 @@ class ChecklistAdapter( override fun getItemKeyPosition(key: Int) = items.indexOfFirst { it.id == key } - override fun onActionModeCreated() {} + @SuppressLint("NotifyDataSetChanged") + override fun onActionModeCreated() { + notifyDataSetChanged() + } - override fun onActionModeDestroyed() {} + @SuppressLint("NotifyDataSetChanged") + override fun onActionModeDestroyed() { + notifyDataSetChanged() + } override fun prepareActionMode(menu: Menu) { val selectedItems = getSelectedItems() @@ -97,9 +107,10 @@ class ChecklistAdapter( override fun onBindViewHolder(holder: ViewHolder, position: Int) { val item = items[position] - holder.bindView(item, true, true) { itemView, layoutPosition -> + holder.bindView(item, allowSingleClick = true, allowLongClick = true) { itemView, _ -> setupView(itemView, item, holder) } + bindViewHolder(holder) }