Update PasteActionModeCallback delegate to controller [3/x].
Make [PasteActionModeCallback] use [SelectionPopupControllerImpl] as the delegate to create the menu instead of a new [SelectionActionMenuDelegate] created on the fly. [SelectionPopupControllerImpl] already implements [SelectionActionMenuDelegate]. Bug: 320643289 Change-Id: I9f4f445125e1a336038cdf66645f96afe8fbcd9c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5526597 Commit-Queue: Zakarie Yaris <yaris@google.com> Reviewed-by: Peter Conn <peconn@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Cr-Commit-Position: refs/heads/main@{#1299188}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
94088e52d7
commit
e23b1a0d01
content/public/android/java/src/org/chromium/content/browser/selection
58
content/public/android/java/src/org/chromium/content/browser/selection/PasteActionModeCallback.java
58
content/public/android/java/src/org/chromium/content/browser/selection/PasteActionModeCallback.java
@@ -14,7 +14,6 @@ import android.view.View;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import org.chromium.content.R;
|
import org.chromium.content.R;
|
||||||
import org.chromium.content.browser.selection.SelectActionMenuHelper.SelectActionMenuDelegate;
|
|
||||||
import org.chromium.content_public.browser.SelectionMenuGroup;
|
import org.chromium.content_public.browser.SelectionMenuGroup;
|
||||||
import org.chromium.content_public.browser.selection.SelectionActionMenuDelegate;
|
import org.chromium.content_public.browser.selection.SelectionActionMenuDelegate;
|
||||||
import org.chromium.ui.base.DeviceFormFactor;
|
import org.chromium.ui.base.DeviceFormFactor;
|
||||||
@@ -49,64 +48,23 @@ public class PasteActionModeCallback extends ActionMode.Callback2 {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
||||||
createPasteMenu(mode, menu);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void createPasteMenu(ActionMode mode, Menu menu) {
|
|
||||||
mode.setTitle(
|
mode.setTitle(
|
||||||
DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)
|
DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)
|
||||||
? mContext.getString(R.string.actionbar_textselection_title)
|
? mContext.getString(R.string.actionbar_textselection_title)
|
||||||
: null);
|
: null);
|
||||||
mode.setSubtitle(null);
|
mode.setSubtitle(null);
|
||||||
SelectActionMenuDelegate actionMenuDelegate =
|
return true;
|
||||||
new SelectActionMenuDelegate() {
|
|
||||||
@Override
|
|
||||||
public boolean canCut() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canCopy() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canPaste() {
|
|
||||||
return mDelegate.canPaste();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canShare() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canSelectAll() {
|
|
||||||
return mDelegate.canSelectAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canWebSearch() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canPasteAsPlainText() {
|
|
||||||
return mDelegate.canPasteAsPlainText();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
SortedSet<SelectionMenuGroup> nonSelectionMenuItems =
|
|
||||||
SelectActionMenuHelper.getNonSelectionMenuItems(
|
|
||||||
mContext, actionMenuDelegate, mSelectionActionMenuDelegate);
|
|
||||||
mCustomMenuItemClickListeners.clear();
|
|
||||||
SelectionPopupControllerImpl.initializeActionMenu(
|
|
||||||
mContext, nonSelectionMenuItems, menu, mCustomMenuItemClickListeners, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
||||||
return false;
|
SortedSet<SelectionMenuGroup> nonSelectionMenuItems =
|
||||||
|
SelectionPopupControllerImpl.getNonSelectionMenuItems(
|
||||||
|
mContext, mDelegate, mSelectionActionMenuDelegate);
|
||||||
|
mCustomMenuItemClickListeners.clear();
|
||||||
|
SelectionPopupControllerImpl.initializeActionMenu(
|
||||||
|
mContext, nonSelectionMenuItems, menu, mCustomMenuItemClickListeners, null);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -1063,7 +1063,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
|
|||||||
return mSelectionMenuCachedResult.getResult();
|
return mSelectionMenuCachedResult.getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SortedSet<SelectionMenuGroup> getNonSelectionMenuItems(
|
static SortedSet<SelectionMenuGroup> getNonSelectionMenuItems(
|
||||||
@Nullable Context context,
|
@Nullable Context context,
|
||||||
SelectActionMenuDelegate delegate,
|
SelectActionMenuDelegate delegate,
|
||||||
@Nullable SelectionActionMenuDelegate selectionActionMenuDelegate) {
|
@Nullable SelectionActionMenuDelegate selectionActionMenuDelegate) {
|
||||||
|
Reference in New Issue
Block a user