diff --git a/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt b/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
index 6af32ef6e464c2d589bf4896594c2a15913a49dc..8b02dd37656cbfc3eb3266628057ffbde9285343 100644
--- a/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
@@ -66,13 +66,7 @@ class AccountEditionFragment : BaseSupportFragment<AccountEditionPresenter, Acco
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
-
-        //presenter.init(requireArguments().getString(ACCOUNT_ID_KEY)!!)
         initViewPager(requireArguments().getString(ACCOUNT_ID_KEY)!!)
-
-        mBinding?.fragmentContainer?.viewTreeObserver?.addOnScrollChangedListener {
-            setupElevation()
-        }
     }
 
     override fun initViewPager(accountId: String) {
@@ -127,17 +121,6 @@ class AccountEditionFragment : BaseSupportFragment<AccountEditionPresenter, Acco
         }
     }
 
-    private fun setupElevation() {
-        val binding = mBinding ?: return
-        val ll = binding.pager.getChildAt(binding.pager.currentItem) as? LinearLayout ?: return
-        val rv = (ll.getChildAt(0) as FrameLayout).getChildAt(0) as RecyclerView
-        if (rv.canScrollVertically(SCROLL_DIRECTION_UP)) {
-            binding.slidingTabs.elevation = binding.slidingTabs.resources.getDimension(R.dimen.toolbar_elevation)
-        } else {
-            binding.slidingTabs.elevation = 0f
-        }
-    }
-
     companion object {
         val TAG = AccountEditionFragment::class.simpleName!!
         val ACCOUNT_ID_KEY = AccountEditionFragment::class.qualifiedName + "accountId"
diff --git a/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt b/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt
index 7c09656b75f112937b6b05849b1256c5571c4f07..54a58d33ab46a89902711b4d7e9f82202496ad0e 100644
--- a/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt
+++ b/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt
@@ -32,7 +32,6 @@ import android.text.format.DateUtils
 import android.text.format.Formatter
 import android.util.TypedValue
 import android.view.*
-import android.view.ContextMenu.ContextMenuInfo
 import android.view.TextureView.SurfaceTextureListener
 import android.view.ViewGroup.MarginLayoutParams
 import android.widget.FrameLayout
@@ -89,7 +88,6 @@ import java.util.*
 import java.util.concurrent.TimeUnit
 import kotlin.math.max
 
-
 class ConversationAdapter(
     private val conversationFragment: ConversationFragment,
     private val presenter: ConversationPresenter,
@@ -99,11 +97,18 @@ class ConversationAdapter(
     private val res = conversationFragment.resources
     private val mPictureMaxSize =
         TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200f, res.displayMetrics).toInt()
-    private var mCurrentLongItem: RecyclerViewContextMenuInfo? = null
+
     @ColorInt
-    private var convColor = 0
+    var convColor = 0
+        set(value) {
+            field = value
+            convColorTint = MaterialColors.compositeARGBWithAlpha(value, (MaterialColors.ALPHA_LOW * 255).toInt())
+            notifyDataSetChanged()
+        }
+
     @ColorInt
     private var convColorTint = 0
+
     private val formatter = Formatter(StringBuilder(64), Locale.getDefault())
 
     private val callPadding = Padding(
@@ -113,7 +118,6 @@ class ConversationAdapter(
         res.getDimensionPixelSize(R.dimen.padding_call_vertical)
     )
 
-    private var lastDeliveredPosition = -1
     private val timestampUpdateTimer: Observable<Long> =
         Observable.interval(10, TimeUnit.SECONDS, DeviceUtils.uiScheduler).startWithItem(0L)
     private var lastMsgPos = -1
@@ -194,13 +198,10 @@ class ConversationAdapter(
     }
 
     fun update(editedInteraction: Interaction) {
-        if (!editedInteraction.isIncoming && editedInteraction.status == InteractionStatus.SUCCESS)
-            notifyItemChanged(lastDeliveredPosition)
-
-        mInteractions.indexOfLast { it.messageId == editedInteraction.messageId }.let {
-            if (it == -1) return
-            mInteractions[it] = editedInteraction
-            notifyItemChanged(it)
+        mInteractions.indexOfLast { it.messageId == editedInteraction.messageId }.let { position ->
+            if (position == -1) return
+            mInteractions[position] = editedInteraction
+            notifyItemChanged(position)
         }
     }
 
@@ -264,27 +265,31 @@ class ConversationAdapter(
     }
 
     override fun getItemViewType(position: Int): Int {
-        // This function will be called for each item in the list, to know which layout to use.
 
         // Composing indicator
         if (isComposing && position == mInteractions.size)
             return MessageType.COMPOSING_INDICATION.ordinal
 
-        val interaction = mInteractions[position] // Get the interaction
+        val interaction = mInteractions[position]
         return when (interaction.type) {
             Interaction.InteractionType.CONTACT -> MessageType.CONTACT_EVENT.ordinal
-            Interaction.InteractionType.CALL ->
+
+            Interaction.InteractionType.CALL -> {
                 if ((interaction as Call).isGroupCall) {
                     MessageType.ONGOING_GROUP_CALL.ordinal
                 } else if (interaction.isIncoming) {
                     MessageType.INCOMING_CALL_INFORMATION.ordinal
                 } else MessageType.OUTGOING_CALL_INFORMATION.ordinal
-            Interaction.InteractionType.TEXT ->
+            }
+
+            Interaction.InteractionType.TEXT -> {
                 if (interaction.isIncoming) {
                     MessageType.INCOMING_TEXT_MESSAGE.ordinal
                 } else {
                     MessageType.OUTGOING_TEXT_MESSAGE.ordinal
                 }
+            }
+
             Interaction.InteractionType.DATA_TRANSFER -> {
                 val file = interaction as DataTransfer
                 val out = if (interaction.isIncoming) 0 else 4
@@ -297,6 +302,7 @@ class ConversationAdapter(
                 }
                 out
             }
+
             Interaction.InteractionType.INVALID -> MessageType.INVALID.ordinal
         }
     }
@@ -634,15 +640,6 @@ class ConversationAdapter(
         holder.compositeDisposable.clear()
     }
 
-    fun setPrimaryColor(@ColorInt color: Int) {
-        convColor = color
-        convColorTint =
-            MaterialColors.compositeARGBWithAlpha(color, (MaterialColors.ALPHA_LOW * 255).toInt())
-        notifyDataSetChanged()
-    }
-
-    fun getPrimaryColor() = convColor
-
     fun setComposingStatus(composingStatus: ComposingStatus) {
         val composing = composingStatus == ComposingStatus.Active
         if (isComposing != composing) {
@@ -653,16 +650,11 @@ class ConversationAdapter(
         }
     }
 
-    private class RecyclerViewContextMenuInfo(
-        val position: Int,
-        val id: Long
-    ) : ContextMenuInfo
-
     private fun addToClipboard(text: String?) {
         if (text.isNullOrEmpty()) return
         val clipboard = conversationFragment.requireActivity()
-            .getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
-        clipboard.setPrimaryClip(ClipData.newPlainText("Copied Message", text))
+            .getSystemService(Context.CLIPBOARD_SERVICE) as? ClipboardManager
+        clipboard?.setPrimaryClip(ClipData.newPlainText("Copied Message", text))
     }
 
     private fun configureImage(
@@ -853,19 +845,16 @@ class ConversationAdapter(
     /**
      * Display and manage the popup that allows user to react/reply/share/edit/delete message ...
      */
-    private fun openItemMenu(
-        conversationViewHolder: ConversationViewHolder, view: View, interaction: Interaction
-    ) {
-
-        // Inflate design from XML.
+    private fun openItemMenu(viewHolder: ConversationViewHolder, view: View, interaction: Interaction) {
         MenuConversationBinding.inflate(LayoutInflater.from(view.context)).apply {
             val history = interaction.historyObservable.blockingFirst()
             val lastElement = history.last()
             val isDeleted = lastElement is TextMessage && lastElement.body.isNullOrEmpty()
 
             // Configure what should be displayed
-            convActionOpenText.isVisible = interaction is DataTransfer && interaction.isComplete
-            convActionDownloadText.isVisible = interaction is DataTransfer && interaction.isComplete
+            convActionFileOpen.isVisible = interaction is DataTransfer && interaction.isComplete
+            convActionFileSave.isVisible = interaction is DataTransfer && interaction.isComplete
+            convActionFileDelete.isVisible = false //interaction is DataTransfer && interaction.isComplete
             convActionCopyText.isVisible = !isDeleted && interaction !is DataTransfer
             convActionEdit.isVisible = !isDeleted && !interaction.isIncoming && interaction !is DataTransfer
             convActionDelete.isVisible = !isDeleted && !interaction.isIncoming
@@ -901,17 +890,17 @@ class ConversationAdapter(
                     }
                     popupWindow.update()
                 }
-            conversationViewHolder.compositeDisposable.add(disposable)
+            viewHolder.compositeDisposable.add(disposable)
 
             popupWindow.setOnDismissListener {
-                val type = conversationViewHolder.type.transferType
+                val type = viewHolder.type.transferType
                 if (convColor != 0 && (interaction.type == Interaction.InteractionType.TEXT
                             || type == MessageType.TransferType.FILE
                             || type == MessageType.TransferType.AUDIO ) && !interaction.isIncoming
                 ) view.background?.setTint(convColor)
                 else view.background?.setTintList(null)
                 // Remove disposable.
-                conversationViewHolder.compositeDisposable.remove(disposable)
+                viewHolder.compositeDisposable.remove(disposable)
             }
 
             // Callback executed when emoji is clicked.
@@ -919,7 +908,7 @@ class ConversationAdapter(
             // If set we want to remove, else we want to append.
             val emojiCallback = View.OnClickListener { view ->
                 // Subscribe to know which are the current reactions.
-                conversationViewHolder.compositeDisposable.add(interaction.reactionObservable
+                viewHolder.compositeDisposable.add(interaction.reactionObservable
                     .observeOn(DeviceUtils.uiScheduler)
                     .firstOrError()
                     .subscribe { reactions ->
@@ -961,12 +950,12 @@ class ConversationAdapter(
             }
 
             // Open file
-            convActionOpenText.setOnClickListener {
+            convActionFileOpen.setOnClickListener {
                 presenter.openFile(interaction)
             }
 
             // Save file
-            convActionDownloadText.setOnClickListener {
+            convActionFileSave.setOnClickListener {
                 presenter.saveFile(interaction)
             }
 
@@ -993,11 +982,11 @@ class ConversationAdapter(
                             .setAction(Intent.ACTION_EDIT)
                             .putExtra(
                                 Intent.EXTRA_TEXT,
-                                conversationViewHolder.mMessageBubble!!.getText().toString()
+                                viewHolder.mMessageBubble!!.getText().toString()
                             )
                         val options = ActivityOptionsCompat.makeSceneTransitionAnimation(
                             conversationFragment.requireActivity(),
-                            conversationViewHolder.mMessageBubble!!,
+                            viewHolder.mMessageBubble!!,
                             "messageEdit"
                         )
                         conversationFragment.startActivityForResult(
@@ -1021,6 +1010,10 @@ class ConversationAdapter(
                 convActionDelete.setOnClickListener(null)
             }
 
+//            convActionFileDelete.setOnClickListener {
+//                TODO()
+//            }
+
             // Share
             convActionShare.setOnClickListener {
                 if (interaction is DataTransfer)
@@ -1033,7 +1026,7 @@ class ConversationAdapter(
             // Message history
             if (convActionHistory.isVisible)
                 convActionHistory.setOnClickListener {
-                    conversationViewHolder.compositeDisposable.add(
+                    viewHolder.compositeDisposable.add(
                         interaction.historyObservable.firstOrError().subscribe { c ->
                             Log.w(TAG, "Message history ${c.size}")
                             c.forEach {
@@ -1053,7 +1046,6 @@ class ConversationAdapter(
         }
     }
 
-    @SuppressLint("RestrictedApi", "ClickableViewAccessibility")
     private fun configureForFileInfo(
         viewHolder: ConversationViewHolder,
         interaction: Interaction,
@@ -1072,9 +1064,7 @@ class ConversationAdapter(
                     Formatter.formatFileSize(context, file.totalSize),
                     TextUtils.getReadableFileTransferStatus(context, status)
                 )
-                else -> String.format(
-                    Formatter.formatFileSize(context, file.totalSize)
-                )
+                else -> String.format(Formatter.formatFileSize(context, file.totalSize))
             }
         })
         val isDateShown = hasPermanentDateString(file, position)
@@ -1115,12 +1105,13 @@ class ConversationAdapter(
             MessageType.TransferType.AUDIO -> viewHolder.mAudioInfoLayout
             else -> viewHolder.mFileInfoLayout
         } ?: return
+
         if (type == MessageType.TransferType.AUDIO || type == MessageType.TransferType.FILE) {
             longPressView.background?.setTintList(null)
         }
+
         longPressView.setOnLongClickListener { v: View ->
             if (type == MessageType.TransferType.AUDIO || type == MessageType.TransferType.FILE) {
-                conversationFragment.updatePosition(viewHolder.bindingAdapterPosition)
                 if (file.isIncoming) {
                     longPressView.background.setTint(context.getColor(R.color.grey_500))
                 } else {
@@ -1128,8 +1119,6 @@ class ConversationAdapter(
                 }
             }
             openItemMenu(viewHolder, v, file)
-            mCurrentLongItem =
-                RecyclerViewContextMenuInfo(viewHolder.bindingAdapterPosition, v.id.toLong())
             true
         }
 
@@ -1163,13 +1152,12 @@ class ConversationAdapter(
                     viewHolder.mAudioInfoLayout?.background?.setTint(convColor)
                 } else {
                     viewHolder.mAudioInfoLayout?.background?.setTint(
-                        viewHolder.itemView.context.getColor
-                            (R.color.conversation_secondary_background)
+                        viewHolder.itemView.context.getColor(R.color.conversation_secondary_background)
                     )
                 }
                 configureAudio(viewHolder, path)
             }
-            else -> {
+            MessageType.TransferType.FILE -> {
                 // Add margin if message need to be separated.
                 viewHolder.mLayout?.updateLayoutParams<MarginLayoutParams> {
                     topMargin = if (!isMessageSeparationNeeded) 0 else context.resources
@@ -1200,9 +1188,7 @@ class ConversationAdapter(
                         viewHolder.mFileDownloadButton?.visibility = View.GONE
                         if (status == InteractionStatus.TRANSFER_ONGOING) {
                             viewHolder.progress?.max = (file.totalSize / 1024).toInt()
-                            viewHolder.progress?.setProgress(
-                                (file.bytesProgress / 1024).toInt(), true
-                            )
+                            viewHolder.progress?.setProgress((file.bytesProgress / 1024).toInt(), true)
                             viewHolder.progress?.show()
                         } else {
                             viewHolder.progress?.hide()
@@ -1243,8 +1229,7 @@ class ConversationAdapter(
             )
         } else {
             layoutParams.setMargins(
-                res.getDimensionPixelSize(R.dimen.conditional_left_conversation_margin), 0,
-                0, 0
+                res.getDimensionPixelSize(R.dimen.conditional_left_conversation_margin), 0, 0, 0
             )
         }
         viewHolder.mTypingIndicatorLayout?.layoutParams = layoutParams
@@ -1385,16 +1370,11 @@ class ConversationAdapter(
         // Manage long press.
         messageBubble.setOnLongClickListener { v: View ->
             openItemMenu(convViewHolder, v, interaction)
-            conversationFragment.updatePosition(convViewHolder.bindingAdapterPosition)
             if (textMessage.isIncoming) {
                 messageBubble.background?.setTint(context.getColor(R.color.grey_500))
             } else {
                 messageBubble.background?.setTint(convColorTint)
             }
-            mCurrentLongItem = RecyclerViewContextMenuInfo(
-                convViewHolder.bindingAdapterPosition,
-                v.id.toLong()
-            )
             true
         }
 
@@ -1585,7 +1565,6 @@ class ConversationAdapter(
         interaction: Interaction,
         position: Int
     ) {
-        val recycle: StringBuilder = StringBuilder()
         val context = convViewHolder.itemView.context
         // Reset the scale of the icon
         convViewHolder.mIcon?.scaleX = 1f
@@ -1594,26 +1573,12 @@ class ConversationAdapter(
         if (!interaction.isSwarm) {
             convViewHolder.mCallInfoLayout?.apply {
                 background?.setTintList(null) // Remove the tint
-                // Define Context Menu, call when long pressed (see definition below)
-                setOnCreateContextMenuListener { menu: ContextMenu, v: View, menuInfo:
-                ContextMenuInfo? ->
-                    conversationFragment.onCreateContextMenu(menu, v, menuInfo)
-                    // Inflate the view and set it up
-                    val inflater = conversationFragment.requireActivity().menuInflater
-                    inflater.inflate(R.menu.conversation_item_actions_messages, menu)
-                    menu.findItem(R.id.conv_action_delete).setTitle(R.string.menu_delete)
-                    menu.removeItem(R.id.conv_action_cancel_message)
-                    menu.removeItem(R.id.conv_action_copy_text)
-                }
-                // When long clicked...
-                setOnLongClickListener { v: View ->
-                    background?.setTint(context.getColor(R.color.grey_500))
-                    // Open Context Menu
-                    conversationFragment.updatePosition(convViewHolder.adapterPosition)
-                    mCurrentLongItem =
-                        RecyclerViewContextMenuInfo(convViewHolder.adapterPosition, v.id.toLong())
-                    false
-                }
+
+                TODO("define popup menu to invoke in onLongClickListener")
+//                setOnLongClickListener {
+//                    background?.setTint(context.getColor(R.color.grey_500))
+//                    false
+//                }
             }
         }
 
@@ -1789,27 +1754,21 @@ class ConversationAdapter(
                 callInfoLayout.background.setTintList(null)
             }
             // Add the call duration if not null.
-            detailCall.text =
-                if (call.duration != 0L) {
-                    String.format(
+            detailCall.text = if (call.duration != 0L) {
+                String.format(
                         context.getString(R.string.call_duration),
-                        DateUtils.formatElapsedTime(
-                            recycle, call.duration!! / 1000
-                        )
-                    ).let { " - $it" }
-                } else null
+                        DateUtils.formatElapsedTime(null, call.duration!! / 1000)
+                ).let { " - $it" }
+            } else null
 
             // After a call, a message is displayed with call information.
             // Manage the call message layout.
             if (call.isIncoming) {
                 // Set the color of the time duration.
-                detailCall.setTextColor(
-                    context.getColor(R.color.colorOnSurface)
-                )
+                detailCall.setTextColor(context.getColor(R.color.colorOnSurface))
+
                 // Set the call message color.
-                typeCall.setTextColor(
-                    context.getColor(R.color.colorOnSurface)
-                )
+                typeCall.setTextColor(context.getColor(R.color.colorOnSurface))
 
                 if (call.isMissed) { // Call incoming missed.
                     callIcon.setImageResource(R.drawable.baseline_missed_call_16)
diff --git a/jami-android/app/src/main/java/cx/ring/client/ConversationActivity.kt b/jami-android/app/src/main/java/cx/ring/client/ConversationActivity.kt
index 2f876ab5e1709399d5561eac50faafa1f509f09a..004427e33d15e0b46da61fdfdeb25b19d46fe727 100644
--- a/jami-android/app/src/main/java/cx/ring/client/ConversationActivity.kt
+++ b/jami-android/app/src/main/java/cx/ring/client/ConversationActivity.kt
@@ -20,7 +20,6 @@ import android.content.Intent
 import android.content.res.Configuration
 import android.os.Bundle
 import android.view.KeyEvent
-import android.view.Menu
 import androidx.appcompat.app.AppCompatActivity
 import androidx.core.view.WindowCompat
 import cx.ring.R
@@ -82,11 +81,6 @@ class ConversationActivity : AppCompatActivity() {
         super.onConfigurationChanged(newConfig)
     }
 
-    override fun onContextMenuClosed(menu: Menu) {
-        mConversationFragment?.updateAdapterItem()
-        super.onContextMenuClosed(menu)
-    }
-
     override fun onStart() {
         super.onStart()
         mPendingIntent?.let { pendingIntent ->
diff --git a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
index 287dc561048946391c3edd4cfdecb385ca3c0b41..c9346f75def19df6f1d0dd6427df0618dcaeab62 100644
--- a/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/fragments/ConversationFragment.kt
@@ -19,7 +19,6 @@ package cx.ring.fragments
 import android.Manifest
 import android.animation.LayoutTransition
 import android.animation.ValueAnimator
-import android.annotation.SuppressLint
 import android.app.Activity
 import android.app.ActivityOptions
 import android.content.*
@@ -40,8 +39,6 @@ import android.widget.*
 import androidx.activity.result.PickVisualMediaRequest
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.annotation.ColorInt
-import androidx.appcompat.view.menu.MenuBuilder
-import androidx.appcompat.view.menu.MenuPopupHelper
 import androidx.appcompat.widget.PopupMenu
 import androidx.appcompat.widget.SearchView
 import androidx.core.view.*
@@ -97,7 +94,6 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
     private var mCurrentPhoto: File? = null
     private var mCurrentFileAbsolutePath: String? = null
     private val mCompositeDisposable = CompositeDisposable()
-    private var mSelectedPosition = 0
     private var replyingTo: Interaction? = null
     private var mIsBubble = false
     private val mParticipantAvatars: MutableMap<String, AvatarDrawable> = HashMap()
@@ -310,15 +306,14 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
             }
 
             histList.addOnScrollListener(object : RecyclerView.OnScrollListener() {
-                // The minimum amount of items to have below current scroll position
-                // before loading more.
+                // The minimum amount of items to have below current scroll position before loading more.
                 val visibleLoadThreshold = 3
                 // The amount of items to have below the current scroll position to display
                 // the scroll to latest button.
                 val visibleLatestThreshold = 8
                 override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {}
                 override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
-                    val layoutManager = recyclerView.layoutManager as LinearLayoutManager? ?: return
+                    val layoutManager = recyclerView.layoutManager as? LinearLayoutManager ?: return
                     if (!loading && histList.adapter != mSearchAdapter
                         && layoutManager.findFirstVisibleItemPosition() < visibleLoadThreshold
                     ) {
@@ -344,7 +339,7 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
     }
 
     override fun setConversationColor(@ColorInt color: Int) {
-        mAdapter?.setPrimaryColor(getConversationColor(requireContext(), color))
+        mAdapter?.convColor = getConversationColor(requireContext(), color)
     }
 
     override fun setConversationSymbol(symbol: CharSequence) {
@@ -367,13 +362,6 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
         binding = null
     }
 
-    fun updateAdapterItem() {
-        if (mSelectedPosition != -1) {
-            mAdapter?.notifyItemChanged(mSelectedPosition)
-            mSelectedPosition = -1
-        }
-    }
-
     private fun clearReply() {
         if (replyingTo != null) {
             replyingTo = null
@@ -394,10 +382,8 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
         clearReply()
     }
 
-    @SuppressLint("RestrictedApi")
-    fun expandMenu(v: View) {
-        val context = requireContext()
-        val popup = PopupMenu(context, v)
+    private fun expandMenu(v: View) {
+        val popup = PopupMenu(requireContext(), v)
         popup.inflate(R.menu.conversation_share_actions)
         popup.setOnMenuItemClickListener { item: MenuItem ->
             when (item.itemId) {
@@ -411,9 +397,8 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
             false
         }
         popup.menu.findItem(R.id.chat_plugins).isVisible = JamiService.getPluginsEnabled() && !JamiService.getChatHandlers().isEmpty()
-        val menuHelper = MenuPopupHelper(context, (popup.menu as MenuBuilder), v)
-        menuHelper.setForceShowIcon(true)
-        menuHelper.show()
+        popup.setForceShowIcon(true)
+        popup.show()
     }
 
     override fun showPluginListHandlers(accountId: String, contactId: String) {
@@ -480,13 +465,6 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
         showMap(accountId, conversationId, true)
     }
 
-    /**
-     * Used to update with the past adapter position when a long click was registered
-     */
-    fun updatePosition(position: Int) {
-        mSelectedPosition = position
-    }
-
     override fun showMap(accountId: String, contactId: String, open: Boolean) {
         if (binding!!.mapCard.visibility == View.GONE) {
             Log.w(TAG, "showMap $accountId $contactId")
@@ -777,34 +755,32 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
             val searchMenuItem = menu.findItem(R.id.conv_search)
             searchMenuItem.setOnActionExpandListener(object : MenuItem.OnActionExpandListener {
                 override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
-                    val binding = binding ?: return false
+                    val convList = binding?.histList ?: return false
                     presenter.stopSearch()
-                    binding.histList.adapter = mAdapter
+                    convList.adapter = mAdapter
                     currentBottomView?.isVisible = true
                     if (animation.isStarted) animation.cancel()
-                    animation.setIntValues(
-                        binding.histList.paddingBottom,
-                        (currentBottomView?.height ?: 0) + marginPxTotal
+                    animation.setIntValues(convList.paddingBottom,
+                            (currentBottomView?.height ?: 0) + marginPxTotal
                     )
                     animation.start()
                     return true
                 }
 
                 override fun onMenuItemActionExpand(item: MenuItem): Boolean {
-                    val binding = binding ?: return false
-                    mSearchAdapter = ConversationAdapter(this@ConversationFragment, presenter, true).apply {
-                        setPrimaryColor(getPrimaryColor())
-                    }
+                    val convList = binding?.histList ?: return false
+                    mSearchAdapter = ConversationAdapter(this@ConversationFragment, presenter, true)
                     presenter.startSearch()
                     currentBottomView?.isVisible = false
-                    binding.histList.adapter = mSearchAdapter
+                    convList.adapter = mSearchAdapter
                     if (animation.isStarted) animation.cancel()
-                    animation.setIntValues(binding.histList.paddingBottom, marginPxTotal)
+                    animation.setIntValues(convList.paddingBottom, marginPxTotal)
                     animation.start()
                     return true
                 }
             })
-            (searchMenuItem.actionView as SearchView).let {
+
+            (searchMenuItem.actionView as? SearchView)?.let {
                 it.setOnQueryTextListener(this@ConversationFragment)
                 it.queryHint = getString(R.string.conversation_search_hint)
             }
@@ -930,7 +906,6 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
 
     override fun displayNumberSpinner(conversation: Conversation, number: net.jami.model.Uri) {
         binding!!.numberSelector.visibility = View.VISIBLE
-        //binding.numberSelector.setAdapter(new NumberAdapter(getActivity(), conversation.getContact(), false));
         binding!!.numberSelector.setSelection(getIndex(binding!!.numberSelector, number))
     }
 
@@ -944,11 +919,12 @@ class ConversationFragment : BaseSupportFragment<ConversationPresenter, Conversa
     }
 
     override fun goToHome() {
-        if (activity is ConversationActivity) {
-            requireActivity().finish()
+        val hostActivity = activity
+        if (hostActivity is ConversationActivity) {
+            hostActivity.finish()
         } else {
             // Post because we might be currently executing a fragment transaction
-            view?.post { activity?.onBackPressedDispatcher?.onBackPressed() }
+            view?.post { hostActivity?.onBackPressedDispatcher?.onBackPressed() }
         }
     }
 
diff --git a/jami-android/app/src/main/res/drawable/baseline_content_copy_16.xml b/jami-android/app/src/main/res/drawable/baseline_content_copy_16.xml
new file mode 100644
index 0000000000000000000000000000000000000000..005c6d1d9d5ed07964df8bfcb9ab0260ea6b98b0
--- /dev/null
+++ b/jami-android/app/src/main/res/drawable/baseline_content_copy_16.xml
@@ -0,0 +1,8 @@
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:width="16dp"
+        android:height="16dp"
+        android:drawable="@drawable/baseline_content_copy_28" />
+
+</layer-list>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_copyright_24.xml b/jami-android/app/src/main/res/drawable/baseline_copyright_24.xml
old mode 100755
new mode 100644
index ea10b49dacaf383f687ca5514852351b63e2a180..d740276f12a48af5675bca442be6004e64feade9
--- a/jami-android/app/src/main/res/drawable/baseline_copyright_24.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_copyright_24.xml
@@ -1,14 +1,12 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:autoMirrored="true"
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
     android:viewportHeight="24"
     android:tint="?attr/colorControlNormal">
-  <group>
-    <clip-path android:pathData="M24,0v24H0V0h24z M 0,0"/>
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M10.08,10.86c0.05,-0.33 0.16,-0.62 0.3,-0.87s0.34,-0.46 0.59,-0.62c0.24,-0.15 0.54,-0.22 0.91,-0.23 0.23,0.01 0.44,0.05 0.63,0.13 0.2,0.09 0.38,0.21 0.52,0.36s0.25,0.33 0.34,0.53 0.13,0.42 0.14,0.64h1.79c-0.02,-0.47 -0.11,-0.9 -0.28,-1.29s-0.4,-0.73 -0.7,-1.01 -0.66,-0.5 -1.08,-0.66 -0.88,-0.23 -1.39,-0.23c-0.65,0 -1.22,0.11 -1.7,0.34s-0.88,0.53 -1.2,0.92 -0.56,0.84 -0.71,1.36S8,11.29 8,11.87v0.27c0,0.58 0.08,1.12 0.23,1.64s0.39,0.97 0.71,1.35 0.72,0.69 1.2,0.91 1.05,0.34 1.7,0.34c0.47,0 0.91,-0.08 1.32,-0.23s0.77,-0.36 1.08,-0.63 0.56,-0.58 0.74,-0.94 0.29,-0.74 0.3,-1.15h-1.79c-0.01,0.21 -0.06,0.4 -0.15,0.58s-0.21,0.33 -0.36,0.46 -0.32,0.23 -0.52,0.3c-0.19,0.07 -0.39,0.09 -0.6,0.1 -0.36,-0.01 -0.66,-0.08 -0.89,-0.23 -0.25,-0.16 -0.45,-0.37 -0.59,-0.62s-0.25,-0.55 -0.3,-0.88 -0.08,-0.67 -0.08,-1v-0.27c0,-0.35 0.03,-0.68 0.08,-1.01zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
-  </group>
-</vector>
-
+      
+    <path android:fillColor="@android:color/white"
+        android:pathData="M11.88,9.14c1.28,0.06 1.61,1.15 1.63,1.66h1.79c-0.08,-1.98 -1.49,-3.19 -3.45,-3.19C9.64,7.61 8,9 8,12.14c0,1.94 0.93,4.24 3.84,4.24c2.22,0 3.41,-1.65 3.44,-2.95h-1.79c-0.03,0.59 -0.45,1.38 -1.63,1.44C10.55,14.83 10,13.81 10,12.14C10,9.25 11.28,9.16 11.88,9.14zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8s8,3.59 8,8S16.41,20 12,20z"/>
+    
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_delete_16.xml b/jami-android/app/src/main/res/drawable/baseline_delete_16.xml
index 020e337ccd67e0198538e019a7de9dca94b4a9fe..a3a7b7ba2cf9ce28d667eb7fc422ea38884a6db2 100755
--- a/jami-android/app/src/main/res/drawable/baseline_delete_16.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_delete_16.xml
@@ -3,7 +3,7 @@
 
     <item
         android:drawable="@drawable/baseline_delete_24"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
+        android:width="16dp"
+        android:height="16dp" />
 
-</layer-list >
+</layer-list >
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_edit_16.xml b/jami-android/app/src/main/res/drawable/baseline_edit_16.xml
old mode 100755
new mode 100644
index 420c93c55ab535256c1392564842b5ff1e498474..ce71ac2ad2ccb7b2f934c585beb539d17eb32ca1
--- a/jami-android/app/src/main/res/drawable/baseline_edit_16.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_edit_16.xml
@@ -1,9 +1,12 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <item
-        android:drawable="@drawable/baseline_edit_24"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
-
-</layer-list >
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:autoMirrored="true"
+    android:height="16dp"
+    android:width="16dp"
+    android:tint="?attr/colorControlNormal"
+    android:viewportHeight="24"
+    android:viewportWidth="24">
+      
+    <path android:fillColor="@android:color/white"
+        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
+    
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_edit_24.xml b/jami-android/app/src/main/res/drawable/baseline_edit_24.xml
deleted file mode 100755
index 250655a75a6444c2a91e4106d1c988cc0f9f61e4..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/drawable/baseline_edit_24.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
-        android:tint="?attr/colorControlNormal">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
-</vector>
diff --git a/jami-android/app/src/main/res/drawable/baseline_file_download_16.xml b/jami-android/app/src/main/res/drawable/baseline_file_download_16.xml
index fbaae35160571f421a3f4e8211dec1145011da91..c7838a7a045d581751a704230e1d97cf4cec111e 100644
--- a/jami-android/app/src/main/res/drawable/baseline_file_download_16.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_file_download_16.xml
@@ -3,7 +3,7 @@
 
     <item
         android:drawable="@drawable/baseline_file_download_24"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
+        android:width="16dp"
+        android:height="16dp" />
 
-</layer-list >
+</layer-list >
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_history_16.xml b/jami-android/app/src/main/res/drawable/baseline_history_16.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f234d41f323f999b8738f24d7e734edfa5a84875
--- /dev/null
+++ b/jami-android/app/src/main/res/drawable/baseline_history_16.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:autoMirrored="true"
+    android:height="16dp"
+    android:width="16dp"
+    android:tint="?attr/colorControlNormal"
+    android:viewportHeight="24"
+    android:viewportWidth="24">
+      
+    <path android:fillColor="@android:color/white"
+        android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/>
+    
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_open_in_new_16.xml b/jami-android/app/src/main/res/drawable/baseline_open_in_new_16.xml
index 20a80b0ea759255c3ef63c4813c82f8e7ba57d7c..6c83175f30530be6b8ec3747492d4140e7397601 100755
--- a/jami-android/app/src/main/res/drawable/baseline_open_in_new_16.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_open_in_new_16.xml
@@ -3,7 +3,7 @@
 
     <item
         android:drawable="@drawable/baseline_open_in_new_24"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
+        android:width="16dp"
+        android:height="16dp" />
 
-</layer-list >
+</layer-list >
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_open_in_new_24.xml b/jami-android/app/src/main/res/drawable/baseline_open_in_new_24.xml
index 7dfe555f6ec7b9d581aa0fdbecfe4718fa953cb1..a2ec578cbe157efd0fb2dcfa47ee52bfbb1a18ac 100755
--- a/jami-android/app/src/main/res/drawable/baseline_open_in_new_24.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_open_in_new_24.xml
@@ -1,10 +1,12 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
-        android:tint="?attr/colorControlNormal">
+    android:autoMirrored="true"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+
     <path
         android:fillColor="@android:color/white"
         android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"/>
-</vector>
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_reply_24.xml b/jami-android/app/src/main/res/drawable/baseline_reply_24.xml
index 73e5f034084d9db1c1d0dd9e8dc2f58860e22ac5..89238ecd3eb6e5a7fe4b799478387cd14ae01aaa 100755
--- a/jami-android/app/src/main/res/drawable/baseline_reply_24.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_reply_24.xml
@@ -1,10 +1,12 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
-        android:tint="?attr/colorControlNormal">
+    android:autoMirrored="true"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?attr/colorControlNormal">
+
     <path
         android:fillColor="@android:color/white"
         android:pathData="M10,9V5l-7,7 7,7v-4.1c5,0 8.5,1.6 11,5.1 -1,-5 -4,-10 -11,-11z"/>
-</vector>
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_share_twoton_16dp.xml b/jami-android/app/src/main/res/drawable/baseline_share_twoton_16dp.xml
index ba2ac86c1ee1cfeeb3d7a785d545dc50ab9fe073..70298980d48668a42b88517b020babd5aea5e787 100644
--- a/jami-android/app/src/main/res/drawable/baseline_share_twoton_16dp.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_share_twoton_16dp.xml
@@ -3,7 +3,7 @@
 
     <item
         android:drawable="@drawable/baseline_share_twoton_24dp"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
+        android:width="16dp"
+        android:height="16dp" />
 
-</layer-list >
+</layer-list >
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/baseline_share_twoton_24dp.xml b/jami-android/app/src/main/res/drawable/baseline_share_twoton_24dp.xml
index a3245855f1b19e671fc31e58084d6bc4161124de..0fb68b93cfcc5657b28e76acfae814e8f37aa895 100644
--- a/jami-android/app/src/main/res/drawable/baseline_share_twoton_24dp.xml
+++ b/jami-android/app/src/main/res/drawable/baseline_share_twoton_24dp.xml
@@ -1,4 +1,5 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:autoMirrored="true"
     android:width="24dp"
     android:height="24dp"
     android:tint="?attr/colorControlNormal"
@@ -22,4 +23,4 @@
   <path
       android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92c0,-1.61 -1.31,-2.92 -2.92,-2.92zM18,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM6,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM18,20.02c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z"
       android:fillColor="@color/button_border"/>
-</vector>
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/drawable/outline_file_copy_16.xml b/jami-android/app/src/main/res/drawable/outline_file_copy_16.xml
deleted file mode 100644
index fe7cbfc7e8c1e7c191cff1dc81beb60f19f1b567..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/drawable/outline_file_copy_16.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
-    <item
-        android:drawable="@drawable/outline_file_copy_24"
-        android:width="@dimen/menu_icon_size"
-        android:height="@dimen/menu_icon_size" />
-
-</layer-list >
diff --git a/jami-android/app/src/main/res/drawable/outline_file_copy_24.xml b/jami-android/app/src/main/res/drawable/outline_file_copy_24.xml
deleted file mode 100755
index 71a37180777770a7126945b03a97609674d62d53..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/drawable/outline_file_copy_24.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24"
-    android:tint="?attr/colorControlNormal">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5L8,5c-1.1,0 -1.99,0.9 -1.99,2L6,21c0,1.1 0.89,2 1.99,2L19,23c1.1,0 2,-0.9 2,-2L21,11l-6,-6zM8,21L8,7h6v5h5v9L8,21z"/>
-</vector>
diff --git a/jami-android/app/src/main/res/drawable/outline_history_16.xml b/jami-android/app/src/main/res/drawable/outline_history_16.xml
deleted file mode 100644
index 503da2496a469d8842f70979491816d1dbbfbf1e..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/drawable/outline_history_16.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
-  <item
-      android:drawable="@drawable/outline_history_24"
-      android:width="@dimen/menu_icon_size"
-      android:height="@dimen/menu_icon_size" />
-
-</layer-list >
diff --git a/jami-android/app/src/main/res/drawable/outline_history_24.xml b/jami-android/app/src/main/res/drawable/outline_history_24.xml
deleted file mode 100644
index 7ba632578a62453c3b733787f93a3061cc258a60..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/drawable/outline_history_24.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24"
-    android:tint="?attr/colorControlNormal">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.25,2.52 0.77,-1.28 -3.52,-2.09L13.5,8z"/>
-</vector>
diff --git a/jami-android/app/src/main/res/drawable/outline_scan_delete_16.xml b/jami-android/app/src/main/res/drawable/outline_scan_delete_16.xml
new file mode 100644
index 0000000000000000000000000000000000000000..466fc17e9eac058852acc2ec993e82f47a697ff6
--- /dev/null
+++ b/jami-android/app/src/main/res/drawable/outline_scan_delete_16.xml
@@ -0,0 +1,13 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="16dp"
+    android:height="16dp"
+    android:autoMirrored="true"
+    android:tint="?attr/colorControlNormal"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,160L240,160L240,360L240,360L240,160L240,360L240,360L240,800Q240,800 240,800Q240,800 240,800Q240,800 240,800Q240,800 240,800Q240,800 240,790.5Q240,781 240,800L240,800Q240,800 240,800Q240,800 240,800L240,160Q240,160 240,160Q240,160 240,160ZM240,880Q207,880 183.5,856.5Q160,833 160,800L160,160Q160,127 183.5,103.5Q207,80 240,80L560,80L800,320L800,494Q781,487 761,483.5Q741,480 720,480L720,360L520,360L520,160L240,160Q240,160 240,160Q240,160 240,160L240,800Q240,800 240,800Q240,800 240,800L494,800Q502,823 514,843Q526,863 542,880L240,880ZM636,860L580,804L664,720L580,636L636,580L720,664L804,580L860,636L777,720L860,804L804,860L720,777L636,860Z" />
+
+</vector>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/layout/menu_conversation.xml b/jami-android/app/src/main/res/layout/menu_conversation.xml
index 7f5affc3c0da358fe5cc421822eb24ce76880a27..367b7cc0893b4655c49a307adeaace4cc7ab6839 100644
--- a/jami-android/app/src/main/res/layout/menu_conversation.xml
+++ b/jami-android/app/src/main/res/layout/menu_conversation.xml
@@ -15,16 +15,16 @@
         android:padding="8dp">
 
         <include layout="@layout/item_reaction_chip_18"
-            android:id="@+id/conv_action_emoji1"/>
+            android:id="@+id/conv_action_emoji1" />
 
         <include layout="@layout/item_reaction_chip_18"
-            android:id="@+id/conv_action_emoji2"/>
+            android:id="@+id/conv_action_emoji2" />
 
         <include layout="@layout/item_reaction_chip_18"
-            android:id="@+id/conv_action_emoji3"/>
+            android:id="@+id/conv_action_emoji3" />
 
         <include layout="@layout/item_reaction_chip_18"
-            android:id="@+id/conv_action_emoji4"/>
+            android:id="@+id/conv_action_emoji4" />
 
         <ImageView
             android:id="@+id/conv_action_more"
@@ -73,7 +73,7 @@
         tools:visibility="visible">
 
         <TextView
-            android:id="@+id/conv_action_open_text"
+            android:id="@+id/conv_action_file_open"
             style="@style/TextAppearance.Material3.LabelMedium"
             android:layout_width="match_parent"
             android:layout_height="@dimen/conversation_menu_item_height"
@@ -88,7 +88,7 @@
             app:drawableStartCompat="@drawable/baseline_open_in_new_16" />
 
         <TextView
-            android:id="@+id/conv_action_download_text"
+            android:id="@+id/conv_action_file_save"
             style="@style/TextAppearance.Material3.LabelMedium"
             android:layout_width="match_parent"
             android:layout_height="@dimen/conversation_menu_item_height"
@@ -115,7 +115,7 @@
             android:paddingHorizontal="16dp"
             android:text="@android:string/copy"
             android:textColor="@color/text_color"
-            app:drawableStartCompat="@drawable/outline_file_copy_16" />
+            app:drawableStartCompat="@drawable/baseline_content_copy_16" />
 
         <TextView
             android:id="@+id/conv_action_share"
@@ -130,7 +130,7 @@
             android:paddingHorizontal="16dp"
             android:text="@string/share_label"
             android:textColor="@color/text_color"
-            app:drawableStartCompat="@drawable/baseline_share_twoton_16dp"/>
+            app:drawableStartCompat="@drawable/baseline_share_twoton_16dp" />
 
         <TextView
             android:id="@+id/conv_action_edit"
@@ -160,7 +160,22 @@
             android:paddingHorizontal="16dp"
             android:text="Message history"
             android:textColor="@color/text_color"
-            app:drawableStartCompat="@drawable/outline_history_16" />
+            app:drawableStartCompat="@drawable/baseline_history_16" />
+
+        <TextView
+            android:id="@+id/conv_action_file_delete"
+            style="@style/TextAppearance.Material3.LabelMedium"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/conversation_menu_item_height"
+            android:background="?selectableItemBackground"
+            android:clickable="true"
+            android:drawablePadding="16dp"
+            android:focusable="true"
+            android:gravity="center_vertical"
+            android:paddingHorizontal="16dp"
+            android:text="@string/menu_file_delete"
+            android:textColor="@color/text_color"
+            app:drawableStartCompat="@drawable/outline_scan_delete_16" />
 
         <TextView
             android:id="@+id/conv_action_delete"
@@ -178,5 +193,4 @@
             app:drawableStartCompat="@drawable/baseline_delete_16" />
 
     </LinearLayout>
-
-</LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/menu/conversation_item_actions_messages.xml b/jami-android/app/src/main/res/menu/conversation_item_actions_messages.xml
deleted file mode 100644
index 11c8e89da179a96e1f8b0b4ce8a5fe76ef85ee71..0000000000000000000000000000000000000000
--- a/jami-android/app/src/main/res/menu/conversation_item_actions_messages.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <item
-        android:id="@+id/conv_action_reply"
-        android:icon="@drawable/baseline_reply_24"
-        android:title="@string/menu_message_reply"
-        app:showAsAction="always" />
-
-    <item
-        android:id="@+id/conv_action_copy_text"
-        android:icon="@drawable/baseline_delete_24"
-        android:title="@string/menu_message_copy"
-        app:showAsAction="always" />
-
-    <item
-        android:id="@+id/conv_action_cancel_message"
-        android:icon="@drawable/baseline_delete_24"
-        android:title="@string/menu_message_cancel"
-        app:showAsAction="always" />
-
-    <item
-        android:id="@+id/conv_action_delete"
-        android:icon="@drawable/baseline_delete_24"
-        android:title="@string/menu_message_delete"
-        app:showAsAction="always" />
-
-</menu>
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/values/dimens.xml b/jami-android/app/src/main/res/values/dimens.xml
index 55acf66d3b7baa170373bc5265e6946513ad80fa..8943d93da0f9d161be2eb7d34883e470cada2edd 100644
--- a/jami-android/app/src/main/res/values/dimens.xml
+++ b/jami-android/app/src/main/res/values/dimens.xml
@@ -46,11 +46,6 @@ along with this program; if not, write to the Free Software
     <dimen name="action_button_lpadding">16dp</dimen>
     <dimen name="action_button_bpadding">-20dp</dimen>
 
-    <dimen name="alert_dialog_side_padding_list_view">16dp</dimen>
-
-    <dimen name="toolbar_content_inset">72dp</dimen>
-    <dimen name="toolbar_elevation">4dp</dimen>
-
     <dimen name="default_image_card_width">110dp</dimen>
     <dimen name="default_image_card_height">100dp</dimen>
 
@@ -114,7 +109,6 @@ along with this program; if not, write to the Free Software
     <dimen name="bottom_sheet_radius">16dp</dimen>
     <dimen name="edit_text_radius">12dp</dimen>
     <dimen name="dialog_radius">@dimen/bottom_sheet_radius</dimen>
-    <dimen name="menu_icon_size">16dp</dimen>
 
     <!--  JamiId  -->
     <dimen name="jami_id_small_font_size">14sp</dimen>