Add actionbar items on dialpad fragment to match redlines
Change-Id: Iea40db1bd4162a3e5f5a80e7af8b2902afd438b1
diff --git a/src/com/android/dialer/NewDialtactsActivity.java b/src/com/android/dialer/NewDialtactsActivity.java
index 54e7df2..4b9a82d 100644
--- a/src/com/android/dialer/NewDialtactsActivity.java
+++ b/src/com/android/dialer/NewDialtactsActivity.java
@@ -82,7 +82,8 @@
public class NewDialtactsActivity extends TransactionSafeActivity implements View.OnClickListener,
NewDialpadFragment.OnDialpadQueryChangedListener, PopupMenu.OnMenuItemClickListener,
OnListFragmentScrolledListener,
- NewPhoneFavoriteFragment.OnPhoneFavoriteFragmentStartedListener {
+ NewPhoneFavoriteFragment.OnPhoneFavoriteFragmentStartedListener,
+ NewDialpadFragment.OnDialpadFragmentStartedListener {
private static final String TAG = "DialtactsActivity";
public static final boolean DEBUG = false;
@@ -335,6 +336,7 @@
@Override
public void onClick(View view) {
switch (view.getId()) {
+ case R.id.overflow_menu_on_dialpad:
case R.id.overflow_menu: {
final PopupMenu popupMenu = new PopupMenu(NewDialtactsActivity.this, view);
final Menu menu = popupMenu.getMenu();
@@ -346,6 +348,7 @@
case R.id.dialpad_button:
showDialpadFragment();
break;
+ case R.id.call_history_on_dialpad_button:
case R.id.call_history_button:
final Intent intent = new Intent(this, NewCallLogActivity.class);
startActivity(intent);
@@ -450,7 +453,7 @@
}
- public void setupFakeActionBarItems() {
+ public void setupFakeActionBarItemsForFavoritesFragment() {
mMenuButton = findViewById(R.id.overflow_menu);
if (mMenuButton != null) {
// mMenuButton.setMinimumWidth(fakeMenuItemWidth);
@@ -471,6 +474,13 @@
mDialpadButton.setOnClickListener(this);
}
+ public void setupFakeActionBarItemsForDialpadFragment() {
+ final View overflowButton = findViewById(R.id.overflow_menu_on_dialpad);
+ overflowButton.setOnClickListener(this);
+ final View callhistoryButton = findViewById(R.id.call_history_on_dialpad_button);
+ callhistoryButton.setOnClickListener(this);
+ }
+
@Override
protected void onPause() {
super.onPause();
@@ -747,6 +757,13 @@
@Override
public void onPhoneFavoriteFragmentStarted() {
- setupFakeActionBarItems();
+ setupFakeActionBarItemsForFavoritesFragment();
}
+
+ @Override
+ public void onDialpadFragmentStarted() {
+ setupFakeActionBarItemsForDialpadFragment();
+ }
+
+
}
diff --git a/src/com/android/dialer/dialpad/NewDialpadFragment.java b/src/com/android/dialer/dialpad/NewDialpadFragment.java
index 46f5d06..d7bc3f9 100644
--- a/src/com/android/dialer/dialpad/NewDialpadFragment.java
+++ b/src/com/android/dialer/dialpad/NewDialpadFragment.java
@@ -101,6 +101,10 @@
DialpadImageButton.OnPressedListener {
private static final String TAG = NewDialpadFragment.class.getSimpleName();
+ public interface OnDialpadFragmentStartedListener {
+ public void onDialpadFragmentStarted();
+ }
+
/**
* LinearLayout with getter and setter methods for the translationY property using floats,
* for animation purposes.
@@ -380,18 +384,6 @@
setupKeypad(fragmentView);
}
- DisplayMetrics dm = getResources().getDisplayMetrics();
- int minCellSize = (int) (56 * dm.density); // 56dip == minimum size of menu buttons
- int cellCount = dm.widthPixels / minCellSize;
- int fakeMenuItemWidth = dm.widthPixels / cellCount;
- mDialButtonContainer = fragmentView.findViewById(R.id.dialButtonContainer);
- // If in portrait, add padding to the dial button since we need space for the
- // search and menu/overflow buttons.
- if (mDialButtonContainer != null && !OrientationUtil.isLandscape(this.getActivity())) {
- mDialButtonContainer.setPadding(
- fakeMenuItemWidth, mDialButtonContainer.getPaddingTop(),
- fakeMenuItemWidth, mDialButtonContainer.getPaddingBottom());
- }
mDialButton = fragmentView.findViewById(R.id.dialButton);
if (r.getBoolean(R.bool.config_show_onscreen_dial_button)) {
mDialButton.setOnClickListener(this);
@@ -423,6 +415,20 @@
return fragmentView;
}
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ final Activity activity = getActivity();
+
+ try {
+ ((OnDialpadFragmentStartedListener) activity).onDialpadFragmentStarted();
+ } catch (ClassCastException e) {
+ throw new ClassCastException(activity.toString()
+ + " must implement OnDialpadFragmentStartedListener");
+ }
+ }
+
private boolean isLayoutReady() {
return mDigits != null;
}