diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java index 8e165fe7d1..3f960c5552 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java @@ -732,7 +732,7 @@ public final class ContactSelectionListFragment extends LoggingFragment @Override public boolean onItemLongClick(ContactSelectionListItem item) { if (onItemLongClickListener != null) { - return onItemLongClickListener.onLongClick(item); + return onItemLongClickListener.onLongClick(item, recyclerView); } else { return false; } @@ -868,7 +868,7 @@ public final class ContactSelectionListFragment extends LoggingFragment } public interface OnItemLongClickListener { - boolean onLongClick(ContactSelectionListItem contactSelectionListItem); + boolean onLongClick(ContactSelectionListItem contactSelectionListItem, RecyclerView recyclerView); } public interface AbstractContactsCursorLoaderFactoryProvider { diff --git a/app/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java index 45391f2955..6fcc100744 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java @@ -29,6 +29,7 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.appcompat.app.AlertDialog; import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; @@ -232,7 +233,7 @@ public class NewConversationActivity extends ContactSelectionActivity } @Override - public boolean onLongClick(ContactSelectionListItem contactSelectionListItem) { + public boolean onLongClick(ContactSelectionListItem contactSelectionListItem, RecyclerView recyclerView) { RecipientId recipientId = contactSelectionListItem.getRecipientId().orElse(null); if (recipientId == null) { return false; @@ -248,8 +249,11 @@ public class NewConversationActivity extends ContactSelectionActivity .preferredHorizontalPosition(SignalContextMenu.HorizontalPosition.START) .offsetX((int) DimensionUnit.DP.toPixels(12)) .offsetY((int) DimensionUnit.DP.toPixels(12)) + .onDismiss(() -> recyclerView.suppressLayout(false)) .show(actions); + recyclerView.suppressLayout(true); + return true; }