Compute content and visible insets even in voice mode

Bug: 4317779
Change-Id: If54d15466db9d0362b4470a2ba4618377bdffc2a
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 13ef4ff..a680b98 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -901,15 +901,15 @@
     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 @@
             }
             setTouchableRegionCompat(outInsets, 0, touchY, touchWidth, touchHeight);
         }
+        outInsets.contentTopInsets = touchY;
+        outInsets.visibleTopInsets = touchY;
     }
 
     @Override