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

Commit da3e077e authored by Yorke Lee's avatar Yorke Lee Committed by Android (Google) Code Review
Browse files

Merge "Add drag to open functionality to Dialer overflow menu" into klp-dev

parents ca19504f 36c54138
Loading
Loading
Loading
Loading
+22 −7
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
    private View mMenuButton;
    private View mCallHistoryButton;
    private View mDialpadButton;
    private PopupMenu mOverflowMenu;

    // Padding view used to shift the fragments up when the dialpad is shown.
    private View mBottomPaddingView;
@@ -182,6 +183,20 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
        }
    };

    private class OverflowPopupMenu extends PopupMenu {
        public OverflowPopupMenu(Context context, View anchor) {
            super(context, anchor);
        }

        @Override
        public void show() {
            final Menu menu = getMenu();
            final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
            clearFrequents.setVisible(mPhoneFavoriteFragment.hasFrequents());
            super.show();
        }
    }

    /**
     * Listener used when one of phone numbers in search UI is selected. This will initiate a
     * phone call using the phone number.
@@ -409,13 +424,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.overflow_menu: {
                final PopupMenu popupMenu = new PopupMenu(DialtactsActivity.this, view);
                final Menu menu = popupMenu.getMenu();
                popupMenu.inflate(R.menu.dialtacts_options);
                final MenuItem clearFrequents = menu.findItem(R.id.menu_clear_frequents);
                clearFrequents.setVisible(mPhoneFavoriteFragment.hasFrequents());
                popupMenu.setOnMenuItemClickListener(this);
                popupMenu.show();
                mOverflowMenu.show();
                break;
            }
            case R.id.dialpad_button:
@@ -591,6 +600,12 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
        mMenuButton = findViewById(R.id.overflow_menu);
        if (mMenuButton != null) {
            mMenuButton.setOnClickListener(this);

            mOverflowMenu = new OverflowPopupMenu(DialtactsActivity.this, mMenuButton);
            final Menu menu = mOverflowMenu.getMenu();
            mOverflowMenu.inflate(R.menu.dialtacts_options);
            mOverflowMenu.setOnMenuItemClickListener(this);
            mMenuButton.setOnTouchListener(mOverflowMenu.getDragToOpenListener());
        }

        mCallHistoryButton = findViewById(R.id.call_history_button);