From 68eb1b1932f77a34d13d0ec0ab2d76cd50fdda92 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Queru Date: Thu, 12 Nov 2009 18:46:12 -0800 Subject: eclair snapshot --- src/com/android/inputmethod/latin/WordComposer.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/com/android/inputmethod/latin/WordComposer.java') diff --git a/src/com/android/inputmethod/latin/WordComposer.java b/src/com/android/inputmethod/latin/WordComposer.java index c950a7f18..50725d481 100644 --- a/src/com/android/inputmethod/latin/WordComposer.java +++ b/src/com/android/inputmethod/latin/WordComposer.java @@ -26,7 +26,7 @@ public class WordComposer { /** * The list of unicode values for each keystroke (including surrounding keys) */ - private List mCodes; + private ArrayList mCodes; /** * The word chosen from the candidate list, until it is committed. @@ -34,6 +34,8 @@ public class WordComposer { private String mPreferredWord; private StringBuilder mTypedWord; + + private int mCapsCount; /** * Whether the user chose to capitalize the word. @@ -53,6 +55,7 @@ public class WordComposer { mIsCapitalized = false; mPreferredWord = null; mTypedWord.setLength(0); + mCapsCount = 0; } /** @@ -80,6 +83,7 @@ public class WordComposer { public void add(int primaryCode, int[] codes) { mTypedWord.append((char) primaryCode); mCodes.add(codes); + if (Character.isUpperCase((char) primaryCode)) mCapsCount++; } /** @@ -87,7 +91,10 @@ public class WordComposer { */ public void deleteLast() { mCodes.remove(mCodes.size() - 1); - mTypedWord.deleteCharAt(mTypedWord.length() - 1); + final int lastPos = mTypedWord.length() - 1; + char last = mTypedWord.charAt(lastPos); + mTypedWord.deleteCharAt(lastPos); + if (Character.isUpperCase(last)) mCapsCount--; } /** @@ -138,4 +145,11 @@ public class WordComposer { public CharSequence getPreferredWord() { return mPreferredWord != null ? mPreferredWord : getTypedWord(); } + + /** + * Returns true if more than one character is upper case, otherwise returns false. + */ + public boolean isMostlyCaps() { + return mCapsCount > 1; + } } -- cgit v1.2.3-83-g751a