Add a sanity check

Check if any character is both a magic space swapper and
a magic space stripper for the current language, and throw
an exception if found. Since this is expensive, it's done
only in debug mode.

Change-Id: Ibd166db87c91495b76878ea0e4f420a62c7bb276
main
Jean Chalard 2012-01-12 12:00:01 +09:00
parent 8c111043b8
commit 852630ba34
1 changed files with 8 additions and 0 deletions

View File

@ -91,6 +91,14 @@ public class SettingsValues {
mDelayUpdateOldSuggestions = res.getInteger(R.integer.config_delay_update_old_suggestions); mDelayUpdateOldSuggestions = res.getInteger(R.integer.config_delay_update_old_suggestions);
mMagicSpaceStrippers = res.getString(R.string.magic_space_stripping_symbols); mMagicSpaceStrippers = res.getString(R.string.magic_space_stripping_symbols);
mMagicSpaceSwappers = res.getString(R.string.magic_space_swapping_symbols); mMagicSpaceSwappers = res.getString(R.string.magic_space_swapping_symbols);
if (LatinImeLogger.sDBG) {
for (int i = 0; i < mMagicSpaceStrippers.length(); ++i) {
if (isMagicSpaceSwapper(mMagicSpaceStrippers.codePointAt(i))) {
throw new RuntimeException("Char code " + mMagicSpaceStrippers.codePointAt(i)
+ " is both a magic space swapper and stripper.");
}
}
}
mSuggestPuncs = res.getString(R.string.suggested_punctuations); mSuggestPuncs = res.getString(R.string.suggested_punctuations);
// TODO: it would be nice not to recreate this each time we change the configuration // TODO: it would be nice not to recreate this each time we change the configuration
mSuggestPuncList = createSuggestPuncList(mSuggestPuncs); mSuggestPuncList = createSuggestPuncList(mSuggestPuncs);