am da3e077e: Merge "Add drag to open functionality to Dialer overflow menu" into klp-dev
* commit 'da3e077e2472585f48d64a8f4e192de2b5f69f6a':
Add drag to open functionality to Dialer overflow menu
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 572a4f1..3e65916 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -141,6 +141,7 @@
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 @@
}
};
+ 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 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 @@
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);