From 54ded4cb5e717051b070eeaf177cb941e30e97a7 Mon Sep 17 00:00:00 2001 From: menghanli Date: Wed, 21 Apr 2021 13:10:14 +0800 Subject: [PATCH] [FAB] Improve the shortcut dialog ux after change accessibility button mode Problem: The "Customize accessibility button" link only exists when the user selects the FAB location, which may confuse and disorient the user Solution: It is hard to back to floating menu mode if we turns to navigation bar from "Customize accessibility button" setting. Added the link in the "navigation bar mode" can help on this problem. Fix: 183342563 Test: manual test Change-Id: Ife572b0962f3a57c34af56cd930a487c9d813c0c --- .../accessibility/AccessibilityEditDialogUtils.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java index 5402a9bc9e9..26c23137729 100644 --- a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java +++ b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java @@ -26,6 +26,7 @@ import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.text.Spannable; import android.text.SpannableString; +import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ImageSpan; @@ -320,8 +321,13 @@ public class AccessibilityEditDialogUtils { } private static CharSequence retrieveSummary(Context context, int lineHeight) { - return AccessibilityUtil.isFloatingMenuEnabled(context) - ? getSummaryStringWithLink(context) : getSummaryStringWithIcon(context, lineHeight); + final SpannableStringBuilder sb = new SpannableStringBuilder(); + if (!AccessibilityUtil.isFloatingMenuEnabled(context)) { + sb.append(getSummaryStringWithIcon(context, lineHeight)); + sb.append("\n\n"); + } + sb.append(getCustomizeAccessibilityButtonLink(context)); + return sb; } private static int retrieveSoftwareShortcutImageResId(Context context) { @@ -330,7 +336,7 @@ public class AccessibilityEditDialogUtils { : R.drawable.accessibility_shortcut_type_software; } - private static CharSequence getSummaryStringWithLink(Context context) { + private static CharSequence getCustomizeAccessibilityButtonLink(Context context) { final View.OnClickListener linkListener = v -> new SubSettingLauncher(context) .setDestination(AccessibilityButtonFragment.class.getName()) .setSourceMetricsCategory(