From 46ca84584810dfe606e709b3fe283cbde8aba5f5 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 21 Apr 2011 14:51:53 +0900 Subject: [PATCH] Compute content and visible insets even in voice mode Bug: 4317779 Change-Id: If54d15466db9d0362b4470a2ba4618377bdffc2a --- java/src/com/android/inputmethod/latin/LatinIME.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 13ef4ffe8..a680b9825 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -901,15 +901,15 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar public void onComputeInsets(InputMethodService.Insets outInsets) { super.onComputeInsets(outInsets); final KeyboardView inputView = mKeyboardSwitcher.getInputView(); + if (inputView == null) + return; + final int containerHeight = mCandidateViewContainer.getHeight(); + int touchY = containerHeight; // Need to set touchable region only if input view is being shown - if (inputView != null && mKeyboardSwitcher.isInputViewShown()) { - final int containerHeight = mCandidateViewContainer.getHeight(); - int touchY = containerHeight; + if (mKeyboardSwitcher.isInputViewShown()) { if (mCandidateViewContainer.getVisibility() == View.VISIBLE) { touchY -= mCandidateStripHeight; } - outInsets.contentTopInsets = touchY; - outInsets.visibleTopInsets = touchY; final int touchWidth = inputView.getWidth(); final int touchHeight = inputView.getHeight() + containerHeight // Extend touchable region below the keyboard. @@ -920,6 +920,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } setTouchableRegionCompat(outInsets, 0, touchY, touchWidth, touchHeight); } + outInsets.contentTopInsets = touchY; + outInsets.visibleTopInsets = touchY; } @Override