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());
}
public boolean isShowingEmojiKeyboard() {
return mEmojiKeyboardView.getVisibility() == View.VISIBLE;
}
public boolean isShowingMoreKeysPanel() {
if (mEmojiKeyboardView.getVisibility() == View.VISIBLE) {
if (isShowingEmojiKeyboard()) {
return false;
}
return mKeyboardView.isShowingMoreKeysPanel();
}
public View getVisibleKeyboardView() {
if (mEmojiKeyboardView.getVisibility() == View.VISIBLE) {
if (isShowingEmojiKeyboard()) {
return mEmojiKeyboardView;
}
return mKeyboardView;

View File

@ -1234,7 +1234,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
int visibleTopY = extraHeight;
// Need to set touchable region only if input view is being shown
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;
}
final int touchY = mKeyboardSwitcher.isShowingMoreKeysPanel() ? 0 : visibleTopY;