[go: up one dir, main page]

[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});
 }