Change to use CaseMap.toTitle in shortcut type summary to handle different locale.

Bug: 153850193
Test: manual test
Change-Id: I6b4583d0b42a0019dfae9442536f6ed752ccc409
This commit is contained in:
jasonwshsu
2020-05-08 16:05:04 +08:00
parent 6a36ffb786
commit b137e7a6e5
2 changed files with 13 additions and 5 deletions

View File

@@ -28,6 +28,7 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.icu.text.CaseMap;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@@ -61,6 +62,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Set; import java.util.Set;
import java.util.StringJoiner; import java.util.StringJoiner;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -581,7 +583,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
} }
if ((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) { if ((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
final CharSequence hardwareTitle = context.getText( final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_edit_dialog_title_hardware); R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle); list.add(hardwareTitle);
} }
@@ -590,7 +592,9 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
list.add(softwareTitle); list.add(softwareTitle);
} }
final String joinStrings = TextUtils.join(/* delimiter= */", ", list); final String joinStrings = TextUtils.join(/* delimiter= */", ", list);
return AccessibilityUtil.capitalize(joinStrings);
return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */
null, joinStrings);
} }
protected int getUserShortcutTypes(Context context, @UserShortcutType int defaultValue) { protected int getUserShortcutTypes(Context context, @UserShortcutType int defaultValue) {

View File

@@ -25,6 +25,7 @@ import android.app.settings.SettingsEnums;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.icu.text.CaseMap;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
@@ -46,6 +47,7 @@ import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Set; import java.util.Set;
import java.util.StringJoiner; import java.util.StringJoiner;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -258,13 +260,13 @@ public class ToggleScreenMagnificationPreferenceFragment extends
} }
if ((shortcutType & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) { if ((shortcutType & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
final CharSequence hardwareTitle = context.getText( final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_edit_dialog_title_hardware); R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle); list.add(hardwareTitle);
} }
if ((shortcutType & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP) { if ((shortcutType & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP) {
final CharSequence tripleTapTitle = context.getText( final CharSequence tripleTapTitle = context.getText(
R.string.accessibility_shortcut_edit_dialog_title_triple_tap); R.string.accessibility_shortcut_triple_tap_keyword);
list.add(tripleTapTitle); list.add(tripleTapTitle);
} }
@@ -273,7 +275,9 @@ public class ToggleScreenMagnificationPreferenceFragment extends
list.add(softwareTitle); list.add(softwareTitle);
} }
final String joinStrings = TextUtils.join(/* delimiter= */", ", list); final String joinStrings = TextUtils.join(/* delimiter= */", ", list);
return AccessibilityUtil.capitalize(joinStrings);
return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */
null, joinStrings);
} }
@Override @Override