diff --git a/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java index 8e165fe7d..3f960c555 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 45391f295..6fcc10074 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; }