diff options
author | jyhshiangwang <jyhshiangwang@google.com> | 2018-04-24 16:05:57 +0800 |
---|---|---|
committer | jyhshiangwang <jyhshiangwang@google.com> | 2018-05-02 11:15:32 +0800 |
commit | 4d015b17b308d93b868102c718f02c4bcd53e52a (patch) | |
tree | c5505f45d1ebac3e5b9d06fd7bb4e1e57b729e00 /src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java | |
parent | 7c45f5947855d3ece5325512137ce18279a5e905 (diff) |
Use ListFormatter to join strings
Currently in Settings we are using R.string.join_many_items_first, R.string.join_many_items_middle and R.string.join_many_items_last to manually join strings. The join code is messy and the joined string is incorrect in some languages, so we migrate all string join to just use ListFormatter.getInstance().format().
Bug: b/78248791
Test: robotests
Change-Id: I898339978e6e2027587e28994b0280fa46821fd6
Diffstat (limited to 'src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java')
-rw-r--r-- | src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java index 4a046469d9..61e6a42464 100644 --- a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java +++ b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java @@ -19,11 +19,13 @@ package com.android.settings.inputmethod; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.pm.PackageManager; -import androidx.preference.Preference; +import android.icu.text.ListFormatter; import android.text.BidiFormatter; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; +import androidx.preference.Preference; + import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; @@ -81,15 +83,10 @@ public class VirtualKeyboardPreferenceController extends AbstractPreferenceContr final BidiFormatter bidiFormatter = BidiFormatter.getInstance(); - String summary = null; + final List<String> summaries = new ArrayList<>(); for (String label : labels) { - if (summary == null) { - summary = bidiFormatter.unicodeWrap(label); - } else { - summary = mContext.getString(R.string.join_many_items_middle, summary, - bidiFormatter.unicodeWrap(label)); - } + summaries.add(bidiFormatter.unicodeWrap(label)); } - preference.setSummary(summary); + preference.setSummary(ListFormatter.getInstance().format(summaries)); } } |