Disable scrolling in contact list while context menu is shown.
Fixes #12530 Closes #12531
This commit is contained in:
parent
741eb55562
commit
0daed8f7d7
2 changed files with 7 additions and 3 deletions
|
@ -732,7 +732,7 @@ public final class ContactSelectionListFragment extends LoggingFragment
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemLongClick(ContactSelectionListItem item) {
|
public boolean onItemLongClick(ContactSelectionListItem item) {
|
||||||
if (onItemLongClickListener != null) {
|
if (onItemLongClickListener != null) {
|
||||||
return onItemLongClickListener.onLongClick(item);
|
return onItemLongClickListener.onLongClick(item, recyclerView);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -868,7 +868,7 @@ public final class ContactSelectionListFragment extends LoggingFragment
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface OnItemLongClickListener {
|
public interface OnItemLongClickListener {
|
||||||
boolean onLongClick(ContactSelectionListItem contactSelectionListItem);
|
boolean onLongClick(ContactSelectionListItem contactSelectionListItem, RecyclerView recyclerView);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface AbstractContactsCursorLoaderFactoryProvider {
|
public interface AbstractContactsCursorLoaderFactoryProvider {
|
||||||
|
|
|
@ -29,6 +29,7 @@ import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
@ -232,7 +233,7 @@ public class NewConversationActivity extends ContactSelectionActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onLongClick(ContactSelectionListItem contactSelectionListItem) {
|
public boolean onLongClick(ContactSelectionListItem contactSelectionListItem, RecyclerView recyclerView) {
|
||||||
RecipientId recipientId = contactSelectionListItem.getRecipientId().orElse(null);
|
RecipientId recipientId = contactSelectionListItem.getRecipientId().orElse(null);
|
||||||
if (recipientId == null) {
|
if (recipientId == null) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -248,8 +249,11 @@ public class NewConversationActivity extends ContactSelectionActivity
|
||||||
.preferredHorizontalPosition(SignalContextMenu.HorizontalPosition.START)
|
.preferredHorizontalPosition(SignalContextMenu.HorizontalPosition.START)
|
||||||
.offsetX((int) DimensionUnit.DP.toPixels(12))
|
.offsetX((int) DimensionUnit.DP.toPixels(12))
|
||||||
.offsetY((int) DimensionUnit.DP.toPixels(12))
|
.offsetY((int) DimensionUnit.DP.toPixels(12))
|
||||||
|
.onDismiss(() -> recyclerView.suppressLayout(false))
|
||||||
.show(actions);
|
.show(actions);
|
||||||
|
|
||||||
|
recyclerView.suppressLayout(true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue