am f726d09b: am f11c8cd1: Merge "Get rid of heavy IPC call from key drawing code" into jb-dev

* commit 'f726d09b53e16a9602090da062393bdf9f34282f':
  Get rid of heavy IPC call from key drawing code
main
Tadashi G. Takaoka 2012-05-24 03:37:26 -07:00 committed by Android Git Automerger
commit d74d2f9c33
2 changed files with 9 additions and 11 deletions

View File

@ -31,6 +31,7 @@ import com.android.inputmethod.keyboard.KeyboardLayoutSet.KeyboardLayoutSetExcep
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy; import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
import com.android.inputmethod.keyboard.internal.KeyboardState; import com.android.inputmethod.keyboard.internal.KeyboardState;
import com.android.inputmethod.latin.DebugSettings; import com.android.inputmethod.latin.DebugSettings;
import com.android.inputmethod.latin.ImfUtils;
import com.android.inputmethod.latin.InputView; import com.android.inputmethod.latin.InputView;
import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.LatinImeLogger;
@ -180,7 +181,8 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions {
|| !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale); || !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale);
final boolean needsToDisplayLanguage = mSubtypeSwitcher.needsToDisplayLanguage( final boolean needsToDisplayLanguage = mSubtypeSwitcher.needsToDisplayLanguage(
keyboard.mId.mLocale); keyboard.mId.mLocale);
mKeyboardView.startDisplayLanguageOnSpacebar(subtypeChanged, needsToDisplayLanguage); mKeyboardView.startDisplayLanguageOnSpacebar(subtypeChanged, needsToDisplayLanguage,
ImfUtils.hasMultipleEnabledIMEsOrSubtypes(mLatinIME, true));
} }
public Keyboard getKeyboard() { public Keyboard getKeyboard() {

View File

@ -43,7 +43,6 @@ import com.android.inputmethod.accessibility.AccessibilityUtils;
import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy; import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy; import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy;
import com.android.inputmethod.keyboard.PointerTracker.TimerProxy; import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
import com.android.inputmethod.latin.ImfUtils;
import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
@ -83,6 +82,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
private ObjectAnimator mLanguageOnSpacebarFadeoutAnimator; private ObjectAnimator mLanguageOnSpacebarFadeoutAnimator;
private static final int ALPHA_OPAQUE = 255; private static final int ALPHA_OPAQUE = 255;
private boolean mNeedsToDisplayLanguage; private boolean mNeedsToDisplayLanguage;
private boolean mHasMultipleEnabledIMEsOrSubtypes;
private int mLanguageOnSpacebarAnimAlpha = ALPHA_OPAQUE; private int mLanguageOnSpacebarAnimAlpha = ALPHA_OPAQUE;
private final float mSpacebarTextRatio; private final float mSpacebarTextRatio;
private float mSpacebarTextSize; private float mSpacebarTextSize;
@ -847,9 +847,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
} }
public void startDisplayLanguageOnSpacebar(boolean subtypeChanged, public void startDisplayLanguageOnSpacebar(boolean subtypeChanged,
boolean needsToDisplayLanguage) { boolean needsToDisplayLanguage, boolean hasMultipleEnabledIMEsOrSubtypes) {
final ObjectAnimator animator = mLanguageOnSpacebarFadeoutAnimator;
mNeedsToDisplayLanguage = needsToDisplayLanguage; mNeedsToDisplayLanguage = needsToDisplayLanguage;
mHasMultipleEnabledIMEsOrSubtypes = hasMultipleEnabledIMEsOrSubtypes;
final ObjectAnimator animator = mLanguageOnSpacebarFadeoutAnimator;
if (animator == null) { if (animator == null) {
mNeedsToDisplayLanguage = false; mNeedsToDisplayLanguage = false;
} else { } else {
@ -881,18 +882,13 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
} }
if (key.mCode == Keyboard.CODE_SPACE) { if (key.mCode == Keyboard.CODE_SPACE) {
drawSpacebar(key, canvas, paint); drawSpacebar(key, canvas, paint);
// Whether space key needs to show the "..." popup hint for special purposes // Whether space key needs to show the "..." popup hint for special purposes
if (key.isLongPressEnabled() && ImfUtils.hasMultipleEnabledIMEsOrSubtypes( if (key.isLongPressEnabled() && mHasMultipleEnabledIMEsOrSubtypes) {
getContext(), true /* include aux subtypes */)) {
drawKeyPopupHint(key, canvas, paint, params); drawKeyPopupHint(key, canvas, paint, params);
} }
} else if (key.mCode == Keyboard.CODE_LANGUAGE_SWITCH) { } else if (key.mCode == Keyboard.CODE_LANGUAGE_SWITCH) {
super.onDrawKeyTopVisuals(key, canvas, paint, params); super.onDrawKeyTopVisuals(key, canvas, paint, params);
if (ImfUtils.hasMultipleEnabledIMEsOrSubtypes(
getContext(), true /* include aux subtypes */)) {
drawKeyPopupHint(key, canvas, paint, params); drawKeyPopupHint(key, canvas, paint, params);
}
} else { } else {
super.onDrawKeyTopVisuals(key, canvas, paint, params); super.onDrawKeyTopVisuals(key, canvas, paint, params);
} }