Merge change 8759 into donut
* changes: Cancel search on BACK if IME is obscured.
This commit is contained in:
@@ -1709,6 +1709,12 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
|
||||
if (mSearchDialog.backToPreviousComponent()) {
|
||||
return true;
|
||||
}
|
||||
// If the drop-down obscures the keyboard, the user wouldn't see anything
|
||||
// happening when pressing back, so we dismiss the entire dialog instead.
|
||||
if (isInputMethodNotNeeded()) {
|
||||
mSearchDialog.cancel();
|
||||
return true;
|
||||
}
|
||||
return false; // will dismiss soft keyboard if necessary
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -209,8 +209,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
private void onClickImpl() {
|
||||
// If the dropdown is showing, bring it back in front of the soft
|
||||
// keyboard when the user touches the text field.
|
||||
if (mPopup.isShowing() &&
|
||||
mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) {
|
||||
if (mPopup.isShowing() && isInputMethodNotNeeded()) {
|
||||
ensureImeVisible();
|
||||
}
|
||||
}
|
||||
@@ -1102,6 +1101,13 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
showDropDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide internal used only here and SearchDialog
|
||||
*/
|
||||
public boolean isInputMethodNotNeeded() {
|
||||
return mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Displays the drop down on screen.</p>
|
||||
*/
|
||||
@@ -1111,7 +1117,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
||||
int widthSpec = 0;
|
||||
int heightSpec = 0;
|
||||
|
||||
boolean noInputMethod = mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED;
|
||||
boolean noInputMethod = isInputMethodNotNeeded();
|
||||
|
||||
if (mPopup.isShowing()) {
|
||||
if (mDropDownWidth == ViewGroup.LayoutParams.FILL_PARENT) {
|
||||
|
||||
Reference in New Issue
Block a user