Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79767d34 authored by Matthew Duggan's avatar Matthew Duggan Committed by Android (Google) Code Review
Browse files

Merge "Clear popups on KEYCODE_ESCAPE as well as KEYCODE_BACK"

parents c59276cd 2d32eb61
Loading
Loading
Loading
Loading
+29 −28
Original line number Diff line number Diff line
@@ -5948,6 +5948,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                okToSend = false;
                break;
            case KeyEvent.KEYCODE_BACK:
            case KeyEvent.KEYCODE_ESCAPE:
                if (mFiltered && mPopup != null && mPopup.isShowing()) {
                    if (event.getAction() == KeyEvent.ACTION_DOWN
                            && event.getRepeatCount() == 0) {
+2 −2
Original line number Diff line number Diff line
@@ -788,8 +788,8 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe

    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && isPopupShowing()
                && !mPopup.isDropDownAlwaysVisible()) {
        if ((keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE)
                && isPopupShowing() && !mPopup.isDropDownAlwaysVisible()) {
            // special case for the back key, we do not even try to send it
            // to the drop down list but instead, consume it immediately
            if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
+2 −1
Original line number Diff line number Diff line
@@ -1071,7 +1071,8 @@ public class ListPopupWindow implements ShowableListMenu {
     * @see #setModal(boolean)
     */
    public boolean onKeyPreIme(int keyCode, @NonNull KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && isShowing()) {
        if ((keyCode == KeyEvent.KEYCODE_BACK
                || keyCode == KeyEvent.KEYCODE_ESCAPE) && isShowing()) {
            // special case for the back key, we do not even try to send it
            // to the drop down list but instead, consume it immediately
            final View anchorView = mDropDownAnchorView;
+2 −1
Original line number Diff line number Diff line
@@ -2521,7 +2521,8 @@ public class PopupWindow {

        @Override
        public boolean dispatchKeyEvent(KeyEvent event) {
            if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
                      || event.getKeyCode() == KeyEvent.KEYCODE_ESCAPE) {
                if (getKeyDispatcherState() == null) {
                    return super.dispatchKeyEvent(event);
                }
+2 −1
Original line number Diff line number Diff line
@@ -509,7 +509,8 @@ public class ScrollView extends FrameLayout {
        mTempRect.setEmpty();

        if (!canScroll()) {
            if (isFocused() && event.getKeyCode() != KeyEvent.KEYCODE_BACK) {
            if (isFocused() && event.getKeyCode() != KeyEvent.KEYCODE_BACK
                    && event.getKeyCode() != KeyEvent.KEYCODE_ESCAPE) {
                View currentFocused = findFocus();
                if (currentFocused == this) currentFocused = null;
                View nextFocused = FocusFinder.getInstance().findNextFocus(this,