diff options
author | 2012-02-01 03:28:06 -0800 | |
---|---|---|
committer | 2012-02-01 03:28:06 -0800 | |
commit | 2e5d8312f21151120a97aac7984d96175cf75beb (patch) | |
tree | 75a001822ebd69e251574c48a08a1df08872dd43 /java/src/com/android/inputmethod/latin/SettingsValues.java | |
parent | c5163f91b2841dd2e86c67da18567a910542d1ca (diff) | |
parent | ff858c7ff5e747c17ff6d9d1908e700ad30ded85 (diff) | |
download | latinime-2e5d8312f21151120a97aac7984d96175cf75beb.tar.gz latinime-2e5d8312f21151120a97aac7984d96175cf75beb.tar.xz latinime-2e5d8312f21151120a97aac7984d96175cf75beb.zip |
am ff858c7f: Use MoreKeySpecParser to parse puctuations strip resources
* commit 'ff858c7ff5e747c17ff6d9d1908e700ad30ded85':
Use MoreKeySpecParser to parse puctuations strip resources
Diffstat (limited to '')
-rw-r--r-- | java/src/com/android/inputmethod/latin/SettingsValues.java | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java index e6ef3962e..5f9cb8df6 100644 --- a/java/src/com/android/inputmethod/latin/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/SettingsValues.java @@ -25,6 +25,7 @@ import android.view.inputmethod.EditorInfo; import com.android.inputmethod.compat.InputTypeCompatUtils; import com.android.inputmethod.compat.VibratorCompatWrapper; +import com.android.inputmethod.keyboard.internal.MoreKeySpecParser; import java.util.Arrays; import java.util.Locale; @@ -36,8 +37,9 @@ public class SettingsValues { public final int mDelayUpdateOldSuggestions; public final String mMagicSpaceStrippers; public final String mMagicSpaceSwappers; - public final String mSuggestPuncs; + private final String mSuggestPuncs; public final SuggestedWords mSuggestPuncList; + public final SuggestedWords mSuggestPuncOutputTextList; private final String mSymbolsExcludedFromWordSeparators; public final String mWordSeparators; public final CharSequence mHintToSaveText; @@ -98,9 +100,11 @@ public class SettingsValues { } } } - mSuggestPuncs = res.getString(R.string.suggested_punctuations); - // TODO: it would be nice not to recreate this each time we change the configuration - mSuggestPuncList = createSuggestPuncList(mSuggestPuncs); + final String[] suggestPuncsSpec = Utils.parseCsvString( + res.getString(R.string.suggested_punctuations), res, R.string.english_ime_name); + mSuggestPuncs = createSuggestPuncs(suggestPuncsSpec); + mSuggestPuncList = createSuggestPuncList(suggestPuncsSpec); + mSuggestPuncOutputTextList = createSuggestPuncOutputTextList(suggestPuncsSpec); mSymbolsExcludedFromWordSeparators = res.getString(R.string.symbols_excluded_from_word_separators); mWordSeparators = createWordSeparators(mMagicSpaceStrippers, mMagicSpaceSwappers, @@ -150,11 +154,36 @@ public class SettingsValues { } // Helper functions to create member values. - private static SuggestedWords createSuggestPuncList(final String puncs) { - SuggestedWords.Builder builder = new SuggestedWords.Builder(); + private static String createSuggestPuncs(final String[] puncs) { + final StringBuilder sb = new StringBuilder(); if (puncs != null) { - for (int i = 0; i < puncs.length(); i++) { - builder.addWord(puncs.subSequence(i, i + 1)); + for (final String puncSpec : puncs) { + sb.append(MoreKeySpecParser.getLabel(puncSpec)); + } + } + return sb.toString(); + } + + private static SuggestedWords createSuggestPuncList(final String[] puncs) { + final SuggestedWords.Builder builder = new SuggestedWords.Builder(); + if (puncs != null) { + for (final String puncSpec : puncs) { + builder.addWord(MoreKeySpecParser.getLabel(puncSpec)); + } + } + return builder.setIsPunctuationSuggestions().build(); + } + + private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) { + final SuggestedWords.Builder builder = new SuggestedWords.Builder(); + if (puncs != null) { + for (final String puncSpec : puncs) { + final String outputText = MoreKeySpecParser.getOutputText(puncSpec); + if (outputText != null) { + builder.addWord(outputText); + } else { + builder.addWord(MoreKeySpecParser.getLabel(puncSpec)); + } } } return builder.setIsPunctuationSuggestions().build(); |