diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt index e5d7745ec..d6473826b 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt @@ -36,6 +36,7 @@ import androidx.databinding.ViewDataBinding import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import java.io.File @@ -225,27 +226,32 @@ class DetailChatRoomFragment : MasterFragment? = null ) val iconMargin = 16f @@ -61,7 +62,7 @@ class RecyclerViewSwipeConfiguration { } private class RecyclerViewSwipeUtilsCallback( - direction: Int, + val direction: Int, val configuration: RecyclerViewSwipeConfiguration, val listener: RecyclerViewSwipeListener ) : ItemTouchHelper.SimpleCallback(0, direction) { @@ -234,6 +235,30 @@ private class RecyclerViewSwipeUtilsCallback( } } + override fun getSwipeDirs( + recyclerView: RecyclerView, + viewHolder: RecyclerView.ViewHolder + ): Int { + var dirFlags = direction + if (direction and ItemTouchHelper.RIGHT != 0) { + val classToPrevent = configuration.leftToRightAction.preventFor + if (classToPrevent != null) { + if (classToPrevent.isInstance(viewHolder)) { + dirFlags = dirFlags and ItemTouchHelper.RIGHT.inv() + } + } + } + if (direction or ItemTouchHelper.LEFT != 0) { + val classToPrevent = configuration.rightToLeftAction.preventFor + if (classToPrevent != null) { + if (classToPrevent.isInstance(viewHolder)) { + dirFlags = dirFlags and ItemTouchHelper.LEFT.inv() + } + } + } + return dirFlags + } + override fun onMove( recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, diff --git a/app/src/main/res/drawable-xhdpi/menu_forward_default.png b/app/src/main/res/drawable-xhdpi/menu_forward_default.png index 4212b9df2..9a5b9d85f 100644 Binary files a/app/src/main/res/drawable-xhdpi/menu_forward_default.png and b/app/src/main/res/drawable-xhdpi/menu_forward_default.png differ diff --git a/app/src/main/res/drawable-xhdpi/menu_imdn_info_default.png b/app/src/main/res/drawable-xhdpi/menu_imdn_info_default.png deleted file mode 100644 index 1b83a3b9f..000000000 Binary files a/app/src/main/res/drawable-xhdpi/menu_imdn_info_default.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/menu_reply_default.png b/app/src/main/res/drawable-xhdpi/menu_reply_default.png index 47fc5db73..7f898c47e 100644 Binary files a/app/src/main/res/drawable-xhdpi/menu_reply_default.png and b/app/src/main/res/drawable-xhdpi/menu_reply_default.png differ diff --git a/app/src/main/res/drawable/menu_imdn_info.xml b/app/src/main/res/drawable/menu_imdn_info.xml index dfa734b2d..d15e39140 100644 --- a/app/src/main/res/drawable/menu_imdn_info.xml +++ b/app/src/main/res/drawable/menu_imdn_info.xml @@ -1,7 +1,7 @@ -