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.setSelection(selPoint);
|
||||||
mSearchAutoComplete.setListSelection(0);
|
mSearchAutoComplete.setListSelection(0);
|
||||||
mSearchAutoComplete.clearListSelection();
|
mSearchAutoComplete.clearListSelection();
|
||||||
|
mSearchAutoComplete.ensureImeVisible();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user