Merge change 7645 into donut

* changes:
  Make the SearchDialog's AutoCompleteTextView dropdown respect the IME again when the user presses right or left from a query-jammed suggestion to continue editing. Previously we required the user to press on the text field again in order to get the IME to show.
This commit is contained in:
Android (Google) Code Review
2009-07-16 19:54:19 -07:00
2 changed files with 14 additions and 3 deletions

View File

@@ -1042,6 +1042,8 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
mSearchAutoComplete.setSelection(selPoint); mSearchAutoComplete.setSelection(selPoint);
mSearchAutoComplete.setListSelection(0); mSearchAutoComplete.setListSelection(0);
mSearchAutoComplete.clearListSelection(); mSearchAutoComplete.clearListSelection();
mSearchAutoComplete.ensureImeVisible();
return true; return true;
} }

View File

@@ -210,8 +210,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
if (mDropDownAlwaysVisible if (mDropDownAlwaysVisible
&& mPopup.isShowing() && mPopup.isShowing()
&& mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) { && mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) {
mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); ensureImeVisible();
showDropDown();
} }
} }
@@ -1092,6 +1091,16 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
post(mShowDropDownRunnable); post(mShowDropDownRunnable);
} }
/**
* Ensures that the drop down is not obscuring the IME.
*
* @hide internal used only here and SearchDialog
*/
public void ensureImeVisible() {
mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
showDropDown();
}
/** /**
* <p>Displays the drop down on screen.</p> * <p>Displays the drop down on screen.</p>
*/ */