From a837f86999d868fbbb8b4b44beaceb1dcacfe789 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Tue, 25 Apr 2023 10:36:27 -0300 Subject: [PATCH] Disable scrolling when context menu is open. --- .../securesms/calls/log/CallLogContextMenu.kt | 9 +++++++-- .../thoughtcrime/securesms/calls/log/CallLogFragment.kt | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt index 74a168e687..897c7c706e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogContextMenu.kt @@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.calls.log import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.RecyclerView import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.menu.ActionItem import org.thoughtcrime.securesms.components.menu.SignalContextMenu @@ -18,11 +19,15 @@ class CallLogContextMenu( private val fragment: Fragment, private val callbacks: Callbacks ) { - fun show(anchor: View, call: CallLogRow.Call) { + fun show(recyclerView: RecyclerView, anchor: View, call: CallLogRow.Call) { + recyclerView.suppressLayout(true) anchor.isSelected = true SignalContextMenu.Builder(anchor, anchor.parent as ViewGroup) .preferredVerticalPosition(SignalContextMenu.VerticalPosition.BELOW) - .onDismiss { anchor.isSelected = false } + .onDismiss { + anchor.isSelected = false + recyclerView.suppressLayout(false) + } .show( listOfNotNull( getVideoCallActionItem(call), diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt index 91160b1348..968fce50df 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt @@ -292,7 +292,7 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal } override fun onCallLongClicked(itemView: View, callLogRow: CallLogRow.Call): Boolean { - callLogContextMenu.show(itemView, callLogRow) + callLogContextMenu.show(binding.recycler, itemView, callLogRow) return true }