[Touchless] Truncate menu titles to 1 line.
(cherry picked from commit 0af9798589baa2069dcde37437af706934e4e1f9)
Bug: 967694
Change-Id: I17f8696a3dd4d8ea60f1c22c85aec626dd824f35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1632589
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Commit-Queue: Sky Malice <skym@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#668858}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1663935
Reviewed-by: Sky Malice <skym@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#407}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessContextMenuManager.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessContextMenuManager.java
index cbbe04a..c15d905 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessContextMenuManager.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessContextMenuManager.java
@@ -189,7 +189,8 @@
.with(TouchlessDialogProperties.ACTION_NAMES, names)
.with(TouchlessDialogProperties.CANCEL_ACTION, (v) -> closeTouchlessContextMenu())
.with(TouchlessDialogProperties.LIST_MODELS, menuItems)
- .with(TouchlessDialogProperties.PRIORITY, TouchlessDialogProperties.Priority.HIGH);
+ .with(TouchlessDialogProperties.PRIORITY, TouchlessDialogProperties.Priority.HIGH)
+ .with(TouchlessDialogProperties.FORCE_SINGLE_LINE_TITLE, true);
if (title != null) {
builder.with(ModalDialogProperties.TITLE, title);
}
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java
index 359947d..e2ad00e 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java
@@ -166,6 +166,11 @@
modelPairs.add(Pair.create(0, models[i]));
}
optionsAdapter.updateModels(modelPairs);
+ } else if (TouchlessDialogProperties.FORCE_SINGLE_LINE_TITLE == propertyKey) {
+ TextView textView = dialogView.findViewById(R.id.touchless_dialog_title);
+ textView.setMaxLines(model.get(TouchlessDialogProperties.FORCE_SINGLE_LINE_TITLE)
+ ? 1
+ : Integer.MAX_VALUE);
}
}
diff --git a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java
index f5ce3e8..77be679 100644
--- a/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java
+++ b/chrome/android/touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java
@@ -124,11 +124,15 @@
/** The priority for this set of properties. */
public static final WritableIntPropertyKey PRIORITY = new WritableIntPropertyKey();
+ /** Force the title to be a single line and truncate with an ellipsis. */
+ public static final WritableBooleanPropertyKey FORCE_SINGLE_LINE_TITLE =
+ new WritableBooleanPropertyKey();
+
public static final PropertyKey[] MINIMAL_DIALOG_KEYS = {
ModalDialogProperties.TITLE, ACTION_NAMES, CANCEL_ACTION, ALT_ACTION, PRIORITY};
public static final PropertyKey[] ALL_DIALOG_KEYS =
PropertyModel.concatKeys(ModalDialogProperties.ALL_KEYS,
new PropertyKey[] {ACTION_NAMES, CANCEL_ACTION, ALT_ACTION, PRIORITY,
- IS_FULLSCREEN, LIST_MODELS});
+ IS_FULLSCREEN, LIST_MODELS, FORCE_SINGLE_LINE_TITLE});
}