Loading java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java +0 −1 Original line number Diff line number Diff line Loading @@ -192,7 +192,6 @@ public class Recorrection implements SharedPreferences.OnSharedPreferenceChangeL new int[] { touching.mWord.charAt(i) }, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); } foundWord.setFirstCharCapitalized(Character.isUpperCase(touching.mWord.charAt(0))); } // Found a match, show suggestions if (foundWord != null || alternatives != null) { Loading java/src/com/android/inputmethod/latin/LatinIME.java +0 −4 Original line number Diff line number Diff line Loading @@ -1408,10 +1408,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } } if (mHasUncommittedTypedChars) { if (mComposingStringBuilder.length() == 0 && switcher.isAlphabetMode() && switcher.isShiftedOrShiftLocked()) { mWordComposer.setFirstCharCapitalized(true); } mComposingStringBuilder.append((char) code); mWordComposer.add(code, keyCodes, x, y); final InputConnection ic = getCurrentInputConnection(); Loading java/src/com/android/inputmethod/latin/WordComposer.java +27 −52 Original line number Diff line number Diff line Loading @@ -33,15 +33,9 @@ public class WordComposer { */ private ArrayList<int[]> mCodes; private int mTypedLength; private int[] mXCoordinates; private int[] mYCoordinates; /** * The word chosen from the candidate list, until it is committed. */ private String mPreferredWord; private StringBuilder mTypedWord; private int mCapsCount; Loading @@ -57,7 +51,6 @@ public class WordComposer { final int N = BinaryDictionary.MAX_WORD_LENGTH; mCodes = new ArrayList<int[]>(N); mTypedWord = new StringBuilder(N); mTypedLength = 0; mXCoordinates = new int[N]; mYCoordinates = new int[N]; } Loading @@ -68,14 +61,12 @@ public class WordComposer { public void init(WordComposer source) { mCodes = new ArrayList<int[]>(source.mCodes); mPreferredWord = source.mPreferredWord; mTypedWord = new StringBuilder(source.mTypedWord); mCapsCount = source.mCapsCount; mAutoCapitalized = source.mAutoCapitalized; mIsFirstCharCapitalized = source.mIsFirstCharCapitalized; mTypedLength = source.mTypedLength; mXCoordinates = source.mXCoordinates; mYCoordinates = source.mYCoordinates; mCapsCount = source.mCapsCount; mIsFirstCharCapitalized = source.mIsFirstCharCapitalized; mAutoCapitalized = source.mAutoCapitalized; } /** Loading @@ -83,19 +74,17 @@ public class WordComposer { */ public void reset() { mCodes.clear(); mTypedLength = 0; mIsFirstCharCapitalized = false; mPreferredWord = null; mTypedWord.setLength(0); mCapsCount = 0; mIsFirstCharCapitalized = false; } /** * Number of keystrokes in the composing word. * @return the number of keystrokes */ public int size() { return mCodes.size(); public final int size() { return mTypedWord.length(); } /** Loading @@ -115,21 +104,28 @@ public class WordComposer { return mYCoordinates; } private static boolean isFirstCharCapitalized(int index, int codePoint, boolean previous) { if (index == 0) return Character.isUpperCase(codePoint); return previous && Character.isLowerCase(codePoint); } /** * Add a new keystroke, with codes[0] containing the pressed key's unicode and the rest of * the array containing unicode for adjacent keys, sorted by reducing probability/proximity. * @param codes the array of unicode values */ public void add(int primaryCode, int[] codes, int x, int y) { final int newIndex = size(); mTypedWord.append((char) primaryCode); correctPrimaryJuxtapos(primaryCode, codes); mCodes.add(codes); if (mTypedLength < BinaryDictionary.MAX_WORD_LENGTH) { mXCoordinates[mTypedLength] = x; mYCoordinates[mTypedLength] = y; if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) { mXCoordinates[newIndex] = x; mYCoordinates[newIndex] = y; } ++mTypedLength; if (Character.isUpperCase((char) primaryCode)) mCapsCount++; mIsFirstCharCapitalized = isFirstCharCapitalized( newIndex, primaryCode, mIsFirstCharCapitalized); if (Character.isUpperCase(primaryCode)) mCapsCount++; } /** Loading @@ -151,16 +147,16 @@ public class WordComposer { * Delete the last keystroke as a result of hitting backspace. */ public void deleteLast() { final int codesSize = mCodes.size(); if (codesSize > 0) { mCodes.remove(codesSize - 1); final int lastPos = mTypedWord.length() - 1; char last = mTypedWord.charAt(lastPos); final int size = size(); if (size > 0) { final int lastPos = size - 1; char lastChar = mTypedWord.charAt(lastPos); mCodes.remove(lastPos); mTypedWord.deleteCharAt(lastPos); if (Character.isUpperCase(last)) mCapsCount--; if (Character.isUpperCase(lastChar)) mCapsCount--; } if (mTypedLength > 0) { --mTypedLength; if (size() == 0) { mIsFirstCharCapitalized = false; } } Loading @@ -169,17 +165,12 @@ public class WordComposer { * @return the word that was typed so far */ public CharSequence getTypedWord() { int wordSize = mCodes.size(); if (wordSize == 0) { if (size() == 0) { return null; } return mTypedWord; } public void setFirstCharCapitalized(boolean capitalized) { mIsFirstCharCapitalized = capitalized; } /** * Whether or not the user typed a capital letter as the first letter in the word * @return capitalization preference Loading @@ -196,22 +187,6 @@ public class WordComposer { return (mCapsCount > 0) && (mCapsCount == size()); } /** * Stores the user's selected word, before it is actually committed to the text field. * @param preferred */ public void setPreferredWord(String preferred) { mPreferredWord = preferred; } /** * Return the word chosen by the user, or the typed word if no other word was chosen. * @return the preferred word */ public CharSequence getPreferredWord() { return mPreferredWord != null ? mPreferredWord : getTypedWord(); } /** * Returns true if more than one character is upper case, otherwise returns false. */ Loading Loading
java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java +0 −1 Original line number Diff line number Diff line Loading @@ -192,7 +192,6 @@ public class Recorrection implements SharedPreferences.OnSharedPreferenceChangeL new int[] { touching.mWord.charAt(i) }, WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); } foundWord.setFirstCharCapitalized(Character.isUpperCase(touching.mWord.charAt(0))); } // Found a match, show suggestions if (foundWord != null || alternatives != null) { Loading
java/src/com/android/inputmethod/latin/LatinIME.java +0 −4 Original line number Diff line number Diff line Loading @@ -1408,10 +1408,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } } if (mHasUncommittedTypedChars) { if (mComposingStringBuilder.length() == 0 && switcher.isAlphabetMode() && switcher.isShiftedOrShiftLocked()) { mWordComposer.setFirstCharCapitalized(true); } mComposingStringBuilder.append((char) code); mWordComposer.add(code, keyCodes, x, y); final InputConnection ic = getCurrentInputConnection(); Loading
java/src/com/android/inputmethod/latin/WordComposer.java +27 −52 Original line number Diff line number Diff line Loading @@ -33,15 +33,9 @@ public class WordComposer { */ private ArrayList<int[]> mCodes; private int mTypedLength; private int[] mXCoordinates; private int[] mYCoordinates; /** * The word chosen from the candidate list, until it is committed. */ private String mPreferredWord; private StringBuilder mTypedWord; private int mCapsCount; Loading @@ -57,7 +51,6 @@ public class WordComposer { final int N = BinaryDictionary.MAX_WORD_LENGTH; mCodes = new ArrayList<int[]>(N); mTypedWord = new StringBuilder(N); mTypedLength = 0; mXCoordinates = new int[N]; mYCoordinates = new int[N]; } Loading @@ -68,14 +61,12 @@ public class WordComposer { public void init(WordComposer source) { mCodes = new ArrayList<int[]>(source.mCodes); mPreferredWord = source.mPreferredWord; mTypedWord = new StringBuilder(source.mTypedWord); mCapsCount = source.mCapsCount; mAutoCapitalized = source.mAutoCapitalized; mIsFirstCharCapitalized = source.mIsFirstCharCapitalized; mTypedLength = source.mTypedLength; mXCoordinates = source.mXCoordinates; mYCoordinates = source.mYCoordinates; mCapsCount = source.mCapsCount; mIsFirstCharCapitalized = source.mIsFirstCharCapitalized; mAutoCapitalized = source.mAutoCapitalized; } /** Loading @@ -83,19 +74,17 @@ public class WordComposer { */ public void reset() { mCodes.clear(); mTypedLength = 0; mIsFirstCharCapitalized = false; mPreferredWord = null; mTypedWord.setLength(0); mCapsCount = 0; mIsFirstCharCapitalized = false; } /** * Number of keystrokes in the composing word. * @return the number of keystrokes */ public int size() { return mCodes.size(); public final int size() { return mTypedWord.length(); } /** Loading @@ -115,21 +104,28 @@ public class WordComposer { return mYCoordinates; } private static boolean isFirstCharCapitalized(int index, int codePoint, boolean previous) { if (index == 0) return Character.isUpperCase(codePoint); return previous && Character.isLowerCase(codePoint); } /** * Add a new keystroke, with codes[0] containing the pressed key's unicode and the rest of * the array containing unicode for adjacent keys, sorted by reducing probability/proximity. * @param codes the array of unicode values */ public void add(int primaryCode, int[] codes, int x, int y) { final int newIndex = size(); mTypedWord.append((char) primaryCode); correctPrimaryJuxtapos(primaryCode, codes); mCodes.add(codes); if (mTypedLength < BinaryDictionary.MAX_WORD_LENGTH) { mXCoordinates[mTypedLength] = x; mYCoordinates[mTypedLength] = y; if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) { mXCoordinates[newIndex] = x; mYCoordinates[newIndex] = y; } ++mTypedLength; if (Character.isUpperCase((char) primaryCode)) mCapsCount++; mIsFirstCharCapitalized = isFirstCharCapitalized( newIndex, primaryCode, mIsFirstCharCapitalized); if (Character.isUpperCase(primaryCode)) mCapsCount++; } /** Loading @@ -151,16 +147,16 @@ public class WordComposer { * Delete the last keystroke as a result of hitting backspace. */ public void deleteLast() { final int codesSize = mCodes.size(); if (codesSize > 0) { mCodes.remove(codesSize - 1); final int lastPos = mTypedWord.length() - 1; char last = mTypedWord.charAt(lastPos); final int size = size(); if (size > 0) { final int lastPos = size - 1; char lastChar = mTypedWord.charAt(lastPos); mCodes.remove(lastPos); mTypedWord.deleteCharAt(lastPos); if (Character.isUpperCase(last)) mCapsCount--; if (Character.isUpperCase(lastChar)) mCapsCount--; } if (mTypedLength > 0) { --mTypedLength; if (size() == 0) { mIsFirstCharCapitalized = false; } } Loading @@ -169,17 +165,12 @@ public class WordComposer { * @return the word that was typed so far */ public CharSequence getTypedWord() { int wordSize = mCodes.size(); if (wordSize == 0) { if (size() == 0) { return null; } return mTypedWord; } public void setFirstCharCapitalized(boolean capitalized) { mIsFirstCharCapitalized = capitalized; } /** * Whether or not the user typed a capital letter as the first letter in the word * @return capitalization preference Loading @@ -196,22 +187,6 @@ public class WordComposer { return (mCapsCount > 0) && (mCapsCount == size()); } /** * Stores the user's selected word, before it is actually committed to the text field. * @param preferred */ public void setPreferredWord(String preferred) { mPreferredWord = preferred; } /** * Return the word chosen by the user, or the typed word if no other word was chosen. * @return the preferred word */ public CharSequence getPreferredWord() { return mPreferredWord != null ? mPreferredWord : getTypedWord(); } /** * Returns true if more than one character is upper case, otherwise returns false. */ Loading