Loading src/com/android/settings/accessibility/AccessibilityDialogUtils.java +36 −9 Original line number Diff line number Diff line Loading @@ -344,12 +344,11 @@ public class AccessibilityDialogUtils { private static void initSoftwareShortcut(Context context, View view) { final View dialogView = view.findViewById(R.id.software_shortcut); final CharSequence title = context.getText( R.string.accessibility_shortcut_edit_dialog_title_software); final TextView summary = dialogView.findViewById(R.id.summary); final int lineHeight = summary.getLineHeight(); setupShortcutWidget(dialogView, title, setupShortcutWidget(dialogView, retrieveTitle(context), retrieveSoftwareShortcutSummary(context, lineHeight), retrieveSoftwareShortcutImageResId(context)); } Loading Loading @@ -398,20 +397,49 @@ public class AccessibilityDialogUtils { return sb; } private static CharSequence retrieveTitle(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_dialog_title_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture; } else { resId = R.string.accessibility_shortcut_edit_dialog_title_software; } return context.getText(resId); } private static CharSequence retrieveSoftwareShortcutSummary(Context context, int lineHeight) { final SpannableStringBuilder sb = new SpannableStringBuilder(); if (!AccessibilityUtil.isFloatingMenuEnabled(context)) { if (AccessibilityUtil.isFloatingMenuEnabled(context)) { sb.append(getCustomizeAccessibilityButtonLink(context)); } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { final int resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback : R.string.accessibility_shortcut_edit_dialog_summary_software_gesture; sb.append(context.getText(resId)); sb.append("\n\n"); sb.append(getCustomizeAccessibilityButtonLink(context)); } else { sb.append(getSummaryStringWithIcon(context, lineHeight)); sb.append("\n\n"); } sb.append(getCustomizeAccessibilityButtonLink(context)); } return sb; } private static int retrieveSoftwareShortcutImageResId(Context context) { return AccessibilityUtil.isFloatingMenuEnabled(context) ? R.drawable.accessibility_shortcut_type_software_floating : R.drawable.accessibility_shortcut_type_software; int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.drawable.accessibility_shortcut_type_software_floating; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.drawable.accessibility_shortcut_type_software_gesture_talkback : R.drawable.accessibility_shortcut_type_software_gesture; } else { resId = R.drawable.accessibility_shortcut_type_software; } return resId; } private static CharSequence getCustomizeAccessibilityButtonLink(Context context) { Loading @@ -422,7 +450,6 @@ public class AccessibilityDialogUtils { .launch(); final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo( AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, linkListener); return AnnotationSpan.linkify(context.getText( R.string.accessibility_shortcut_edit_dialog_summary_software_floating), linkInfo); } Loading src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java +38 −10 Original line number Diff line number Diff line Loading @@ -27,6 +27,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.style.ImageSpan; import android.view.Gravity; import android.view.LayoutInflater; Loading Loading @@ -323,8 +324,7 @@ public final class AccessibilityGestureNavigationTutorial { } private static TutorialPage createSoftwareTutorialPage(@NonNull Context context) { final CharSequence title = context.getText( R.string.accessibility_tutorial_dialog_title_button); final CharSequence title = getSoftwareTitle(context); final ImageView image = createSoftwareImage(context); final CharSequence instruction = getSoftwareInstruction(context); final ImageView indicatorIcon = Loading Loading @@ -382,18 +382,46 @@ public final class AccessibilityGestureNavigationTutorial { } private static ImageView createSoftwareImage(Context context) { final int resId = AccessibilityUtil.isFloatingMenuEnabled(context) ? R.drawable.accessibility_shortcut_type_software_floating : R.drawable.accessibility_shortcut_type_software; int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.drawable.accessibility_shortcut_type_software_floating; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.drawable.accessibility_shortcut_type_software_gesture_talkback : R.drawable.accessibility_shortcut_type_software_gesture; } else { resId = R.drawable.accessibility_shortcut_type_software; } return createImageView(context, resId); } private static CharSequence getSoftwareTitle(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_tutorial_dialog_title_button; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_tutorial_dialog_title_gesture; } else { resId = R.string.accessibility_tutorial_dialog_title_button; } return context.getText(resId); } private static CharSequence getSoftwareInstruction(Context context) { return AccessibilityUtil.isFloatingMenuEnabled(context) ? context.getText(R.string.accessibility_tutorial_dialog_message_floating_button) : getSoftwareInstructionWithIcon(context, context.getText(R.string.accessibility_tutorial_dialog_message_button)); final SpannableStringBuilder sb = new SpannableStringBuilder(); if (AccessibilityUtil.isFloatingMenuEnabled(context)) { final int resId = R.string.accessibility_tutorial_dialog_message_floating_button; sb.append(context.getText(resId)); } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { final int resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.string.accessibility_tutorial_dialog_message_gesture_talkback : R.string.accessibility_tutorial_dialog_message_gesture; sb.append(context.getText(resId)); } else { final int resId = R.string.accessibility_tutorial_dialog_message_button; sb.append(getSoftwareInstructionWithIcon(context, context.getText(resId))); } return sb; } private static CharSequence getSoftwareInstructionWithIcon(Context context, CharSequence text) { Loading src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +14 −5 Original line number Diff line number Diff line Loading @@ -584,6 +584,18 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference return value; } private static CharSequence getSoftwareShortcutTypeSummary(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software_gesture; } else { resId = R.string.accessibility_shortcut_edit_summary_software; } return context.getText(resId); } protected CharSequence getShortcutTypeSummary(Context context) { if (!mShortcutPreference.isSettingsEditable()) { return context.getText(R.string.accessibility_shortcut_edit_dialog_title_hardware); Loading @@ -597,11 +609,8 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference mComponentName.flattenToString(), UserShortcutType.SOFTWARE); final List<CharSequence> list = new ArrayList<>(); final CharSequence softwareTitle = context.getText( R.string.accessibility_shortcut_edit_summary_software); if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) { final CharSequence hardwareTitle = context.getText( Loading @@ -611,7 +620,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference // Show software shortcut if first time to use. if (list.isEmpty()) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */ Loading src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +14 −6 Original line number Diff line number Diff line Loading @@ -265,6 +265,18 @@ public class ToggleScreenMagnificationPreferenceFragment extends return (value & type) == type; } private static CharSequence getSoftwareShortcutTypeSummary(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software_gesture; } else { resId = R.string.accessibility_shortcut_edit_summary_software; } return context.getText(resId); } @Override protected CharSequence getShortcutTypeSummary(Context context) { if (!mShortcutPreference.isChecked()) { Loading @@ -275,18 +287,14 @@ public class ToggleScreenMagnificationPreferenceFragment extends MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE); final List<CharSequence> list = new ArrayList<>(); final CharSequence softwareTitle = context.getText( R.string.accessibility_shortcut_edit_summary_software); if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) { final CharSequence hardwareTitle = context.getText( R.string.accessibility_shortcut_hardware_keyword); list.add(hardwareTitle); } if (hasShortcutType(shortcutTypes, UserShortcutType.TRIPLETAP)) { final CharSequence tripleTapTitle = context.getText( R.string.accessibility_shortcut_triple_tap_keyword); Loading @@ -295,7 +303,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends // Show software shortcut if first time to use. if (list.isEmpty()) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */ Loading Loading
src/com/android/settings/accessibility/AccessibilityDialogUtils.java +36 −9 Original line number Diff line number Diff line Loading @@ -344,12 +344,11 @@ public class AccessibilityDialogUtils { private static void initSoftwareShortcut(Context context, View view) { final View dialogView = view.findViewById(R.id.software_shortcut); final CharSequence title = context.getText( R.string.accessibility_shortcut_edit_dialog_title_software); final TextView summary = dialogView.findViewById(R.id.summary); final int lineHeight = summary.getLineHeight(); setupShortcutWidget(dialogView, title, setupShortcutWidget(dialogView, retrieveTitle(context), retrieveSoftwareShortcutSummary(context, lineHeight), retrieveSoftwareShortcutImageResId(context)); } Loading Loading @@ -398,20 +397,49 @@ public class AccessibilityDialogUtils { return sb; } private static CharSequence retrieveTitle(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_dialog_title_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture; } else { resId = R.string.accessibility_shortcut_edit_dialog_title_software; } return context.getText(resId); } private static CharSequence retrieveSoftwareShortcutSummary(Context context, int lineHeight) { final SpannableStringBuilder sb = new SpannableStringBuilder(); if (!AccessibilityUtil.isFloatingMenuEnabled(context)) { if (AccessibilityUtil.isFloatingMenuEnabled(context)) { sb.append(getCustomizeAccessibilityButtonLink(context)); } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { final int resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback : R.string.accessibility_shortcut_edit_dialog_summary_software_gesture; sb.append(context.getText(resId)); sb.append("\n\n"); sb.append(getCustomizeAccessibilityButtonLink(context)); } else { sb.append(getSummaryStringWithIcon(context, lineHeight)); sb.append("\n\n"); } sb.append(getCustomizeAccessibilityButtonLink(context)); } return sb; } private static int retrieveSoftwareShortcutImageResId(Context context) { return AccessibilityUtil.isFloatingMenuEnabled(context) ? R.drawable.accessibility_shortcut_type_software_floating : R.drawable.accessibility_shortcut_type_software; int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.drawable.accessibility_shortcut_type_software_floating; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.drawable.accessibility_shortcut_type_software_gesture_talkback : R.drawable.accessibility_shortcut_type_software_gesture; } else { resId = R.drawable.accessibility_shortcut_type_software; } return resId; } private static CharSequence getCustomizeAccessibilityButtonLink(Context context) { Loading @@ -422,7 +450,6 @@ public class AccessibilityDialogUtils { .launch(); final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo( AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, linkListener); return AnnotationSpan.linkify(context.getText( R.string.accessibility_shortcut_edit_dialog_summary_software_floating), linkInfo); } Loading
src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java +38 −10 Original line number Diff line number Diff line Loading @@ -27,6 +27,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.style.ImageSpan; import android.view.Gravity; import android.view.LayoutInflater; Loading Loading @@ -323,8 +324,7 @@ public final class AccessibilityGestureNavigationTutorial { } private static TutorialPage createSoftwareTutorialPage(@NonNull Context context) { final CharSequence title = context.getText( R.string.accessibility_tutorial_dialog_title_button); final CharSequence title = getSoftwareTitle(context); final ImageView image = createSoftwareImage(context); final CharSequence instruction = getSoftwareInstruction(context); final ImageView indicatorIcon = Loading Loading @@ -382,18 +382,46 @@ public final class AccessibilityGestureNavigationTutorial { } private static ImageView createSoftwareImage(Context context) { final int resId = AccessibilityUtil.isFloatingMenuEnabled(context) ? R.drawable.accessibility_shortcut_type_software_floating : R.drawable.accessibility_shortcut_type_software; int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.drawable.accessibility_shortcut_type_software_floating; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.drawable.accessibility_shortcut_type_software_gesture_talkback : R.drawable.accessibility_shortcut_type_software_gesture; } else { resId = R.drawable.accessibility_shortcut_type_software; } return createImageView(context, resId); } private static CharSequence getSoftwareTitle(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_tutorial_dialog_title_button; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_tutorial_dialog_title_gesture; } else { resId = R.string.accessibility_tutorial_dialog_title_button; } return context.getText(resId); } private static CharSequence getSoftwareInstruction(Context context) { return AccessibilityUtil.isFloatingMenuEnabled(context) ? context.getText(R.string.accessibility_tutorial_dialog_message_floating_button) : getSoftwareInstructionWithIcon(context, context.getText(R.string.accessibility_tutorial_dialog_message_button)); final SpannableStringBuilder sb = new SpannableStringBuilder(); if (AccessibilityUtil.isFloatingMenuEnabled(context)) { final int resId = R.string.accessibility_tutorial_dialog_message_floating_button; sb.append(context.getText(resId)); } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { final int resId = AccessibilityUtil.isTouchExploreEnabled(context) ? R.string.accessibility_tutorial_dialog_message_gesture_talkback : R.string.accessibility_tutorial_dialog_message_gesture; sb.append(context.getText(resId)); } else { final int resId = R.string.accessibility_tutorial_dialog_message_button; sb.append(getSoftwareInstructionWithIcon(context, context.getText(resId))); } return sb; } private static CharSequence getSoftwareInstructionWithIcon(Context context, CharSequence text) { Loading
src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +14 −5 Original line number Diff line number Diff line Loading @@ -584,6 +584,18 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference return value; } private static CharSequence getSoftwareShortcutTypeSummary(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software_gesture; } else { resId = R.string.accessibility_shortcut_edit_summary_software; } return context.getText(resId); } protected CharSequence getShortcutTypeSummary(Context context) { if (!mShortcutPreference.isSettingsEditable()) { return context.getText(R.string.accessibility_shortcut_edit_dialog_title_hardware); Loading @@ -597,11 +609,8 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference mComponentName.flattenToString(), UserShortcutType.SOFTWARE); final List<CharSequence> list = new ArrayList<>(); final CharSequence softwareTitle = context.getText( R.string.accessibility_shortcut_edit_summary_software); if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) { final CharSequence hardwareTitle = context.getText( Loading @@ -611,7 +620,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference // Show software shortcut if first time to use. if (list.isEmpty()) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */ Loading
src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +14 −6 Original line number Diff line number Diff line Loading @@ -265,6 +265,18 @@ public class ToggleScreenMagnificationPreferenceFragment extends return (value & type) == type; } private static CharSequence getSoftwareShortcutTypeSummary(Context context) { int resId; if (AccessibilityUtil.isFloatingMenuEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software; } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) { resId = R.string.accessibility_shortcut_edit_summary_software_gesture; } else { resId = R.string.accessibility_shortcut_edit_summary_software; } return context.getText(resId); } @Override protected CharSequence getShortcutTypeSummary(Context context) { if (!mShortcutPreference.isChecked()) { Loading @@ -275,18 +287,14 @@ public class ToggleScreenMagnificationPreferenceFragment extends MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE); final List<CharSequence> list = new ArrayList<>(); final CharSequence softwareTitle = context.getText( R.string.accessibility_shortcut_edit_summary_software); if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) { final CharSequence hardwareTitle = context.getText( R.string.accessibility_shortcut_hardware_keyword); list.add(hardwareTitle); } if (hasShortcutType(shortcutTypes, UserShortcutType.TRIPLETAP)) { final CharSequence tripleTapTitle = context.getText( R.string.accessibility_shortcut_triple_tap_keyword); Loading @@ -295,7 +303,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends // Show software shortcut if first time to use. if (list.isEmpty()) { list.add(softwareTitle); list.add(getSoftwareShortcutTypeSummary(context)); } return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */ Loading