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()) {
|
if (mSearchDialog.backToPreviousComponent()) {
|
||||||
return true;
|
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; // will dismiss soft keyboard if necessary
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -209,8 +209,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
|||||||
private void onClickImpl() {
|
private void onClickImpl() {
|
||||||
// If the dropdown is showing, bring it back in front of the soft
|
// If the dropdown is showing, bring it back in front of the soft
|
||||||
// keyboard when the user touches the text field.
|
// keyboard when the user touches the text field.
|
||||||
if (mPopup.isShowing() &&
|
if (mPopup.isShowing() && isInputMethodNotNeeded()) {
|
||||||
mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED) {
|
|
||||||
ensureImeVisible();
|
ensureImeVisible();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1102,6 +1101,13 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
|||||||
showDropDown();
|
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>
|
* <p>Displays the drop down on screen.</p>
|
||||||
*/
|
*/
|
||||||
@@ -1111,7 +1117,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
|
|||||||
int widthSpec = 0;
|
int widthSpec = 0;
|
||||||
int heightSpec = 0;
|
int heightSpec = 0;
|
||||||
|
|
||||||
boolean noInputMethod = mPopup.getInputMethodMode() == PopupWindow.INPUT_METHOD_NOT_NEEDED;
|
boolean noInputMethod = isInputMethodNotNeeded();
|
||||||
|
|
||||||
if (mPopup.isShowing()) {
|
if (mPopup.isShowing()) {
|
||||||
if (mDropDownWidth == ViewGroup.LayoutParams.FILL_PARENT) {
|
if (mDropDownWidth == ViewGroup.LayoutParams.FILL_PARENT) {
|
||||||
|
|||||||
Reference in New Issue
Block a user