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.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.icu.text.CaseMap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -61,6 +62,7 @@ import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.StringJoiner;
import java.util.stream.Collectors;
@@ -581,7 +583,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
}
if ((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_edit_dialog_title_hardware);
R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle);
}
@@ -590,7 +592,9 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
list.add(softwareTitle);
}
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) {