From 877ace10c8aac66798a42d74204032e518e31e49 Mon Sep 17 00:00:00 2001 From: Yorke Lee Date: Mon, 5 May 2014 12:37:24 -0700 Subject: Allow configuration of dialpad buttons visibility The overflow menu/add contact buttons should have their visibility toggled based on whether or not the digits can be edited. For InCallUI, since the digits are not editable, none of these action buttons should ever show up. Change-Id: I2ce982fb0e2f5993f291f00ec309d99b3ddddbe8 --- src/com/android/dialer/dialpad/DialpadFragment.java | 2 +- src/com/android/dialer/dialpad/DialpadView.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/com') diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java index ce2db3c67..5de9ffdce 100644 --- a/src/com/android/dialer/dialpad/DialpadFragment.java +++ b/src/com/android/dialer/dialpad/DialpadFragment.java @@ -309,7 +309,7 @@ public class DialpadFragment extends Fragment mDigitsFilledByIntent = false; mDigits.setCursorVisible(false); mAddContactButton.setVisibility(View.INVISIBLE); - } else { + } else if (mDialpadView.canDigitsBeEdited()){ mAddContactButton.setVisibility(View.VISIBLE); } diff --git a/src/com/android/dialer/dialpad/DialpadView.java b/src/com/android/dialer/dialpad/DialpadView.java index d81be4d2a..a8b1e79a7 100644 --- a/src/com/android/dialer/dialpad/DialpadView.java +++ b/src/com/android/dialer/dialpad/DialpadView.java @@ -38,6 +38,8 @@ public class DialpadView extends LinearLayout { private EditText mDigits; private ImageButton mDelete; + private boolean mCanDigitsBeEdited; + public DialpadView(Context context) { this(context, null); } @@ -115,7 +117,7 @@ public class DialpadView extends LinearLayout { * @param canBeEdited If true, the backspace button will be shown and the digits EditText * will be configured to allow text manipulation. */ - public void setDigitsCanBeEdited(boolean canBeEdited) { + public void setCanDigitsBeEdited(boolean canBeEdited) { View deleteButton = findViewById(R.id.deleteButton); deleteButton.setVisibility(canBeEdited ? View.VISIBLE : View.GONE); @@ -124,6 +126,17 @@ public class DialpadView extends LinearLayout { digits.setLongClickable(canBeEdited); digits.setFocusableInTouchMode(canBeEdited); digits.setCursorVisible(false); + + View overflowMenuButton = findViewById(R.id.dialpad_overflow); + overflowMenuButton.setVisibility(canBeEdited ? View.VISIBLE : View.GONE); + + View addContactButton = findViewById(R.id.dialpad_add_contact); + addContactButton.setVisibility(canBeEdited ? View.VISIBLE : View.GONE); + mCanDigitsBeEdited = canBeEdited; + } + + public boolean canDigitsBeEdited() { + return mCanDigitsBeEdited; } /** -- cgit v1.2.3