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:
@@ -1042,6 +1042,8 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
|
||||
mSearchAutoComplete.setSelection(selPoint);
|
||||
mSearchAutoComplete.setListSelection(0);
|
||||
mSearchAutoComplete.clearListSelection();
|
||||
mSearchAutoComplete.ensureImeVisible();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user