From bc4d3e85c648ff7d6acb631163746efd4143b43c Mon Sep 17 00:00:00 2001 From: Zhe Li Date: Fri, 25 Aug 2023 00:17:09 +0000 Subject: [PATCH] [APS] Add tooltip text and circular highlight for StatusView Demo: https://drive.google.com/file/d/19ZWK0emmShyTWOjdl52mvHrtz-6U1zxT/view?usp=sharing Additional demo to verify long-click: https://drive.google.com/file/d/1AVdyEHtcRnJkVkexk8fjgN7Rmb6dklAF/view?usp=sharing Bug: 1473109 Change-Id: Icd9c1d252c80a1b05ef040547923e26129d546d7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4799113 Reviewed-by: Aishwarya Rajesh Reviewed-by: Theresa Sullivan Code-Coverage: findit-for-me@appspot.gserviceaccount.com Commit-Queue: Zhe Li Reviewed-by: Sirisha Kavuluru Cr-Commit-Position: refs/heads/main@{#1188104} --- chrome/browser/ui/android/omnibox/BUILD.gn | 2 ++ .../status_view_highlight_layer_list.xml | 19 +++++++++++++++++++ .../java/res/drawable/status_view_ripple.xml | 14 ++++++++++++++ .../java/res/layout/location_status.xml | 3 ++- .../omnibox/java/res/values/dimens.xml | 1 + .../browser/omnibox/status/StatusView.java | 9 +++++++++ 6 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 chrome/browser/ui/android/omnibox/java/res/drawable/status_view_highlight_layer_list.xml create mode 100644 chrome/browser/ui/android/omnibox/java/res/drawable/status_view_ripple.xml diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn index f67a3dd5c50d03..0bd5a7a1df21d6 100644 --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn @@ -333,6 +333,8 @@ android_resources("java_resources") { "java/res/drawable/logo_translate_round.xml", "java/res/drawable/omnibox_button_highlight_layer_list.xml", "java/res/drawable/omnibox_button_ripple.xml", + "java/res/drawable/status_view_highlight_layer_list.xml", + "java/res/drawable/status_view_ripple.xml", "java/res/drawable/switch_to_tab.xml", "java/res/drawable/trending_up_black_24dp.xml", "java/res/layout-sw600dp/location_bar.xml", diff --git a/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_highlight_layer_list.xml b/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_highlight_layer_list.xml new file mode 100644 index 00000000000000..b2b06e4f89b8e7 --- /dev/null +++ b/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_highlight_layer_list.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_ripple.xml b/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_ripple.xml new file mode 100644 index 00000000000000..075c34ca38204b --- /dev/null +++ b/chrome/browser/ui/android/omnibox/java/res/drawable/status_view_ripple.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/chrome/browser/ui/android/omnibox/java/res/layout/location_status.xml b/chrome/browser/ui/android/omnibox/java/res/layout/location_status.xml index 4ee57a4d8148d7..90bba91876ad82 100644 --- a/chrome/browser/ui/android/omnibox/java/res/layout/location_status.xml +++ b/chrome/browser/ui/android/omnibox/java/res/layout/location_status.xml @@ -15,7 +15,8 @@ found in the LICENSE file. android:layout_width="wrap_content" android:layout_height="match_parent" android:focusable="true" - android:screenReaderFocusable="true"> + android:screenReaderFocusable="true" + android:background="@drawable/status_view_ripple"> 40dp 40dp 32dp + 32dp 3dp diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/status/StatusView.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/status/StatusView.java index 1e8a52a6b705ee..c4cb56b1ff0932 100644 --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/status/StatusView.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/status/StatusView.java @@ -8,6 +8,8 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.RotateDrawable; +import android.os.Build; +import android.os.Build.VERSION; import android.util.AttributeSet; import android.view.TouchDelegate; import android.view.View; @@ -24,6 +26,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; +import androidx.appcompat.widget.TooltipCompat; import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate; import org.chromium.chrome.browser.omnibox.OmniboxFeatures; @@ -100,6 +103,12 @@ protected void onFinishInflate() { mStatusExtraSpace = findViewById(R.id.location_bar_verbose_status_extra_space); configureAccessibilityDescriptions(); + + // Set tooltip text in StatusView. + if (VERSION.SDK_INT >= Build.VERSION_CODES.O) { + TooltipCompat.setTooltipText((View) this, + mStatusIconView.getContext().getString(R.string.accessibility_menu_info)); + } } /**