Fix emoji keyboard insets

Bug: 10541453
Change-Id: I16dd72c8c55cb5d21ad61a3307c0f3c5f16f460c
main
Satoshi Kataoka 2013-09-05 12:19:43 +09:00
parent 864f03f221
commit 898dbe3c29
2 changed files with 10 additions and 3 deletions

View File

@ -314,15 +314,19 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
mState.onCodeInput(code, mLatinIME.getCurrentAutoCapsState()); mState.onCodeInput(code, mLatinIME.getCurrentAutoCapsState());
} }
public boolean isShowingEmojiKeyboard() {
return mEmojiKeyboardView.getVisibility() == View.VISIBLE;
}
public boolean isShowingMoreKeysPanel() { public boolean isShowingMoreKeysPanel() {
if (mEmojiKeyboardView.getVisibility() == View.VISIBLE) { if (isShowingEmojiKeyboard()) {
return false; return false;
} }
return mKeyboardView.isShowingMoreKeysPanel(); return mKeyboardView.isShowingMoreKeysPanel();
} }
public View getVisibleKeyboardView() { public View getVisibleKeyboardView() {
if (mEmojiKeyboardView.getVisibility() == View.VISIBLE) { if (isShowingEmojiKeyboard()) {
return mEmojiKeyboardView; return mEmojiKeyboardView;
} }
return mKeyboardView; return mKeyboardView;

View File

@ -1234,7 +1234,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
int visibleTopY = extraHeight; int visibleTopY = extraHeight;
// Need to set touchable region only if input view is being shown // Need to set touchable region only if input view is being shown
if (visibleKeyboardView.isShown()) { if (visibleKeyboardView.isShown()) {
if (mSuggestionStripView.getVisibility() == View.VISIBLE) { // Note that the height of Emoji layout is the same as the height of the main keyboard
// and the suggestion strip
if (mKeyboardSwitcher.isShowingEmojiKeyboard()
|| mSuggestionStripView.getVisibility() == View.VISIBLE) {
visibleTopY -= suggestionsHeight; visibleTopY -= suggestionsHeight;
} }
final int touchY = mKeyboardSwitcher.isShowingMoreKeysPanel() ? 0 : visibleTopY; final int touchY = mKeyboardSwitcher.isShowingMoreKeysPanel() ? 0 : visibleTopY;