Do not force the soft keyboard open if the search widget is already at the top of the screen.

Forcing the soft keyboard open is done at a specific time when animating the
search widget to the top of the screen in order to time the two animations well,
but we were doing it anyway even if the search widget was already at the top of
the screen and didn't need to animate.

Okay, so git does kinda rock when you're on a plane. :)
This commit is contained in:
Mike LeBeau 2009-05-22 18:08:43 -07:00
parent 6f3b47704c
commit 8283ccff7c
1 changed files with 15 additions and 15 deletions

View File

@ -172,24 +172,24 @@ public class Search extends LinearLayout
mAppSearchData = appSearchData;
mGlobalSearch = globalSearch;
// Call up the keyboard before we actually call the search dialog so that it
// (hopefully) animates in at about the same time as the widget animation, and
// so that it becomes available as soon as possible. Only do this if a hard
// keyboard is not currently available.
if (getContext().getResources().getConfiguration().hardKeyboardHidden ==
Configuration.HARDKEYBOARDHIDDEN_YES) {
// Make sure the text field is not focusable, so it's not responsible for
// causing the whole view to shift up to accommodate the keyboard.
mSearchText.setFocusable(false);
InputMethodManager inputManager = (InputMethodManager)
getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInputUnchecked(0, null);
}
if (isAtTop()) {
showSearchDialog();
} else {
// Call up the keyboard before we actually call the search dialog so that it
// (hopefully) animates in at about the same time as the widget animation, and
// so that it becomes available as soon as possible. Only do this if a hard
// keyboard is not currently available.
if (getContext().getResources().getConfiguration().hardKeyboardHidden ==
Configuration.HARDKEYBOARDHIDDEN_YES) {
// Make sure the text field is not focusable, so it's not responsible for
// causing the whole view to shift up to accommodate the keyboard.
mSearchText.setFocusable(false);
InputMethodManager inputManager = (InputMethodManager)
getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInputUnchecked(0, null);
}
// Start the animation, unless it has already started.
if (getAnimation() != mMorphAnimation) {
mMorphAnimation.setDuration(getAnimationDuration());