Add additional punctuations to suggestion strip. Bug: 2729632
Change-Id: I5a3d47fee2a09da06b395529c4eccce6d14ecb9dmain
parent
4ee3676cf3
commit
0175d7da21
|
@ -21,9 +21,9 @@
|
|||
<!-- Symbols that are commonly considered word separators in this language -->
|
||||
<string name="word_separators">.\u0009\u0020,;:!?\n()[]*&@{}/<>_+=|\u0022</string>
|
||||
<!-- Symbols that are sentence separators, for purposes of making it hug the last sentence. -->
|
||||
<string name="sentence_separators">.,!?</string>
|
||||
<string name="sentence_separators">.,!?)</string>
|
||||
<!-- Symbols that are suggested between words -->
|
||||
<string name="suggested_punctuations">!?,@_</string>
|
||||
<string name="suggested_punctuations">!?,\u0022\u0027:()-/@_</string>
|
||||
<!-- Accented characters related to "d" -->
|
||||
<string name="alternates_for_d"></string>
|
||||
<!-- Accented characters related to "r" -->
|
||||
|
|
|
@ -221,6 +221,7 @@ public class LatinIME extends InputMethodService
|
|||
|
||||
/* package */ String mWordSeparators;
|
||||
private String mSentenceSeparators;
|
||||
private String mSuggestPuncs;
|
||||
private VoiceInput mVoiceInput;
|
||||
private VoiceResults mVoiceResults = new VoiceResults();
|
||||
private long mSwipeTriggerTimeMillis;
|
||||
|
@ -1116,7 +1117,7 @@ public class LatinIME extends InputMethodService
|
|||
}
|
||||
}
|
||||
if (mKeyboardSwitcher.getInputView().isShifted()) {
|
||||
// TODO: This doesn't work with ß, need to fix it in the next release.
|
||||
// TODO: This doesn't work with [beta], need to fix it in the next release.
|
||||
if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT
|
||||
|| keyCodes[0] > Character.MAX_CODE_POINT) {
|
||||
return;
|
||||
|
@ -1549,7 +1550,8 @@ public class LatinIME extends InputMethodService
|
|||
}
|
||||
|
||||
// If this is a punctuation, apply it through the normal key press
|
||||
if (suggestion.length() == 1 && isWordSeparator(suggestion.charAt(0))) {
|
||||
if (suggestion.length() == 1 && (isWordSeparator(suggestion.charAt(0))
|
||||
|| isSuggestedPunctuation(suggestion.charAt(0)))) {
|
||||
// Word separators are suggested before the user inputs something.
|
||||
// So, LatinImeLogger logs "" as a user's input.
|
||||
LatinImeLogger.logOnClickSuggestion(
|
||||
|
@ -1681,7 +1683,7 @@ public class LatinIME extends InputMethodService
|
|||
return separators.contains(String.valueOf((char)code));
|
||||
}
|
||||
|
||||
public boolean isSentenceSeparator(int code) {
|
||||
private boolean isSentenceSeparator(int code) {
|
||||
return mSentenceSeparators.contains(String.valueOf((char)code));
|
||||
}
|
||||
|
||||
|
@ -1952,14 +1954,18 @@ public class LatinIME extends InputMethodService
|
|||
|
||||
private void initSuggestPuncList() {
|
||||
mSuggestPuncList = new ArrayList<CharSequence>();
|
||||
String suggestPuncs = mResources.getString(R.string.suggested_punctuations);
|
||||
if (suggestPuncs != null) {
|
||||
for (int i = 0; i < suggestPuncs.length(); i++) {
|
||||
mSuggestPuncList.add(suggestPuncs.subSequence(i, i + 1));
|
||||
mSuggestPuncs = mResources.getString(R.string.suggested_punctuations);
|
||||
if (mSuggestPuncs != null) {
|
||||
for (int i = 0; i < mSuggestPuncs.length(); i++) {
|
||||
mSuggestPuncList.add(mSuggestPuncs.subSequence(i, i + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isSuggestedPunctuation(int code) {
|
||||
return mSuggestPuncs.contains(String.valueOf((char)code));
|
||||
}
|
||||
|
||||
private void showOptionsMenu() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setCancelable(true);
|
||||
|
|
Loading…
Reference in New Issue