Use calculated backing view height instead of the view's height
This change removes the work around that was introduced by If4f24500. Bug: 6596131 Change-Id: Ib814c07fdac7d0aa0d7fbc2764fda1af42b82ad5main
parent
027448e08a
commit
bc5b89cdff
|
@ -96,9 +96,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
private static final int QUICK_PRESS = 200;
|
||||
|
||||
private static final int PENDING_IMS_CALLBACK_DURATION = 800;
|
||||
// TODO: remove this
|
||||
private static final boolean WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY = true;
|
||||
private static int sLastBackingHeight = 0;
|
||||
|
||||
/**
|
||||
* The name of the scheme used by the Package Manager to warn of a new package installation,
|
||||
|
@ -941,13 +938,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
setSuggestionStripShownInternal(shown, /* needsInputViewShown */true);
|
||||
}
|
||||
|
||||
private void adjustInputViewHeight() {
|
||||
if (mKeyPreviewBackingView.getHeight() > 0) {
|
||||
return;
|
||||
private int getAdjustedBackingViewHeight() {
|
||||
final int currentHeight = mKeyPreviewBackingView.getHeight();
|
||||
if (currentHeight > 0) {
|
||||
return currentHeight;
|
||||
}
|
||||
|
||||
final KeyboardView keyboardView = mKeyboardSwitcher.getKeyboardView();
|
||||
if (keyboardView == null) return;
|
||||
if (keyboardView == null) {
|
||||
return 0;
|
||||
}
|
||||
final int keyboardHeight = keyboardView.getHeight();
|
||||
final int suggestionsHeight = mSuggestionsContainer.getHeight();
|
||||
final int displayHeight = mResources.getDisplayMetrics().heightPixels;
|
||||
|
@ -960,6 +960,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
final LayoutParams params = mKeyPreviewBackingView.getLayoutParams();
|
||||
params.height = mSuggestionsView.setMoreSuggestionsHeight(remainingHeight);
|
||||
mKeyPreviewBackingView.setLayoutParams(params);
|
||||
return params.height;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -968,20 +969,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
final KeyboardView inputView = mKeyboardSwitcher.getKeyboardView();
|
||||
if (inputView == null || mSuggestionsContainer == null)
|
||||
return;
|
||||
adjustInputViewHeight();
|
||||
final int backingHeight = getAdjustedBackingViewHeight();
|
||||
// In fullscreen mode, the height of the extract area managed by InputMethodService should
|
||||
// be considered.
|
||||
// See {@link android.inputmethodservice.InputMethodService#onComputeInsets}.
|
||||
final int extractHeight = isFullscreenMode() ? mExtractArea.getHeight() : 0;
|
||||
final boolean backingGone = mKeyPreviewBackingView.getVisibility() == View.GONE;
|
||||
int backingHeight = backingGone ? 0 : mKeyPreviewBackingView.getHeight();
|
||||
if (WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY && !backingGone) {
|
||||
if (backingHeight <= 0) {
|
||||
backingHeight = sLastBackingHeight;
|
||||
} else {
|
||||
sLastBackingHeight = backingHeight;
|
||||
}
|
||||
}
|
||||
final int suggestionsHeight = (mSuggestionsContainer.getVisibility() == View.GONE) ? 0
|
||||
: mSuggestionsContainer.getHeight();
|
||||
final int extraHeight = extractHeight + backingHeight + suggestionsHeight;
|
||||
|
@ -1001,11 +993,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
}
|
||||
outInsets.contentTopInsets = touchY;
|
||||
outInsets.visibleTopInsets = touchY;
|
||||
if (WORKAROUND_USE_LAST_BACKING_HEIGHT_WHEN_NOT_READY) {
|
||||
if (LatinImeLogger.sDBG) {
|
||||
Log.i(TAG, "--- insets: " + touchY + "," + backingHeight + "," + suggestionsHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue