summaryrefslogtreecommitdiff
path: root/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
diff options
context:
space:
mode:
authorjyhshiangwang <jyhshiangwang@google.com>2018-04-24 16:05:57 +0800
committerjyhshiangwang <jyhshiangwang@google.com>2018-05-02 11:15:32 +0800
commit4d015b17b308d93b868102c718f02c4bcd53e52a (patch)
treec5505f45d1ebac3e5b9d06fd7bb4e1e57b729e00 /src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
parent7c45f5947855d3ece5325512137ce18279a5e905 (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.java15
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));
}
}