am 7e1f5a2d: Make sure to set symbol keyboard shifted

Merge commit '7e1f5a2d5a96c74691b3b09fa986efb7161e5a12' into gingerbread-plus-aosp

* commit '7e1f5a2d5a96c74691b3b09fa986efb7161e5a12':
  Make sure to set symbol keyboard shifted
This commit is contained in:
Tadashi G. Takaoka 2010-10-08 10:51:09 -07:00 committed by Android Git Automerger
commit 02b8d91b2d
3 changed files with 27 additions and 23 deletions

View file

@ -23,9 +23,9 @@ import android.preference.PreferenceManager;
import android.view.InflateException;
import java.lang.ref.SoftReference;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceChangeListener {
@ -105,7 +105,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private KeyboardId mSymbolsShiftedId;
private KeyboardId mCurrentId;
private final Map<KeyboardId, SoftReference<LatinKeyboard>> mKeyboards;
private final HashMap<KeyboardId, SoftReference<LatinKeyboard>> mKeyboards;
private int mMode = MODE_NONE; /** One of the MODE_XXX values */
private int mImeOptions;
@ -194,11 +194,17 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
public final boolean mEnableShiftLock;
public final boolean mHasVoice;
private final int mHashCode;
public KeyboardId(int xml, int mode, boolean enableShiftLock, boolean hasVoice) {
this.mXml = xml;
this.mKeyboardMode = mode;
this.mEnableShiftLock = enableShiftLock;
this.mHasVoice = hasVoice;
this.mHashCode = Arrays.hashCode(new Object[] {
xml, mode, enableShiftLock, hasVoice
});
}
public KeyboardId(int xml, boolean hasVoice) {
@ -219,8 +225,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
@Override
public int hashCode() {
return (mXml + 1) * (mKeyboardMode + 1) * (mEnableShiftLock ? 2 : 1)
* (mHasVoice ? 4 : 8);
return mHashCode;
}
}
@ -378,7 +383,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
}
public void toggleShift() {
if (mCurrentId.equals(mSymbolsId)) {
if (isAlphabetMode())
return;
if (mCurrentId.equals(mSymbolsId) || !mCurrentId.equals(mSymbolsShiftedId)) {
LatinKeyboard symbolsShiftedKeyboard = getKeyboard(mSymbolsShiftedId);
mCurrentId = mSymbolsShiftedId;
mInputView.setKeyboard(symbolsShiftedKeyboard);
@ -390,7 +397,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
symbolsShiftedKeyboard.setShiftLocked(true);
symbolsShiftedKeyboard.setImeOptions(mInputMethodService.getResources(),
mMode, mImeOptions);
} else if (mCurrentId.equals(mSymbolsShiftedId)) {
} else {
LatinKeyboard symbolsKeyboard = getKeyboard(mSymbolsId);
mCurrentId = mSymbolsId;
mInputView.setKeyboard(symbolsKeyboard);

View file

@ -159,7 +159,7 @@ public class LatinIME extends InputMethodService
private AlertDialog mOptionsDialog;
private AlertDialog mVoiceWarningDialog;
KeyboardSwitcher mKeyboardSwitcher;
/* package */ KeyboardSwitcher mKeyboardSwitcher;
private UserDictionary mUserDictionary;
private UserBigramDictionary mUserBigramDictionary;
@ -168,7 +168,7 @@ public class LatinIME extends InputMethodService
private Hints mHints;
Resources mResources;
private Resources mResources;
private String mInputLocale;
private String mSystemLocale;
@ -307,7 +307,7 @@ public class LatinIME extends InputMethodService
}
}
Handler mHandler = new Handler() {
/* package */ Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
@ -339,7 +339,8 @@ public class LatinIME extends InputMethodService
}
};
@Override public void onCreate() {
@Override
public void onCreate() {
LatinImeLogger.init(this);
super.onCreate();
//setStatusIcon(R.drawable.ime_qwerty);
@ -396,7 +397,7 @@ public class LatinIME extends InputMethodService
* Loads a dictionary or multiple separated dictionary
* @return returns array of dictionary resource ids
*/
static int[] getDictionary(Resources res) {
/* package */ static int[] getDictionary(Resources res) {
String packageName = LatinIME.class.getPackage().getName();
XmlResourceParser xrp = res.getXml(R.xml.dictionary);
ArrayList<Integer> dictionaries = new ArrayList<Integer>();
@ -1013,9 +1014,6 @@ public class LatinIME extends InputMethodService
}
private void reloadKeyboards() {
if (mKeyboardSwitcher == null) {
mKeyboardSwitcher = new KeyboardSwitcher(this);
}
mKeyboardSwitcher.setLanguageSwitcher(mLanguageSwitcher);
if (mKeyboardSwitcher.getInputView() != null
&& mKeyboardSwitcher.getKeyboardMode() != KeyboardSwitcher.MODE_NONE) {
@ -2406,20 +2404,20 @@ public class LatinIME extends InputMethodService
mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_START_TUTORIAL), 500);
}
void tutorialDone() {
/* package */ void tutorialDone() {
mTutorial = null;
}
void promoteToUserDictionary(String word, int frequency) {
/* package */ void promoteToUserDictionary(String word, int frequency) {
if (mUserDictionary.isValidWord(word)) return;
mUserDictionary.addWord(word, frequency);
}
WordComposer getCurrentWord() {
/* package */ WordComposer getCurrentWord() {
return mWord;
}
boolean getPopupOn() {
/* package */ boolean getPopupOn() {
return mPopupOn;
}
@ -2576,7 +2574,8 @@ public class LatinIME extends InputMethodService
return list;
}
@Override protected void dump(FileDescriptor fd, PrintWriter fout, String[] args) {
@Override
protected void dump(FileDescriptor fd, PrintWriter fout, String[] args) {
super.dump(fd, fout, args);
final Printer p = new PrintWriterPrinter(fout);

View file

@ -47,10 +47,9 @@ import android.widget.PopupWindow;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
/**
* A view that renders a virtual {@link LatinKeyboard}. It handles rendering of keys and
@ -199,7 +198,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private PopupWindow mMiniKeyboardPopup;
private LatinKeyboardBaseView mMiniKeyboard;
private View mMiniKeyboardParent;
private Map<Key,View> mMiniKeyboardCache;
private final WeakHashMap<Key, View> mMiniKeyboardCache = new WeakHashMap<Key, View>();
private int mMiniKeyboardOriginX;
private int mMiniKeyboardOriginY;
private long mMiniKeyboardPopupTime;
@ -489,7 +488,6 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
mPaint.setAlpha(255);
mPadding = new Rect(0, 0, 0, 0);
mMiniKeyboardCache = new HashMap<Key,View>();
mKeyBackground.getPadding(mPadding);
mSwipeThreshold = (int) (500 * res.getDisplayMetrics().density);