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.setListSelection(0);
mSearchAutoComplete.clearListSelection();
mSearchAutoComplete.ensureImeVisible();
return true;
}

View File

@@ -210,8 +210,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
if (mDropDownAlwaysVisible
&& mPopup.isShowing()
&& mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) {
mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
showDropDown();
ensureImeVisible();
}
}
@@ -1086,11 +1085,21 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
/**
* Issues a runnable to show the dropdown as soon as possible.
*
* @hide internal used only by Search Dialog
* @hide internal used only by SearchDialog
*/
public void showDropDownAfterLayout() {
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>