diff options
Diffstat (limited to 'InCallUI/src/com/android/incallui/DialpadFragment.java')
-rw-r--r-- | InCallUI/src/com/android/incallui/DialpadFragment.java | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/InCallUI/src/com/android/incallui/DialpadFragment.java b/InCallUI/src/com/android/incallui/DialpadFragment.java index 6cb5d1f8f..63f6379fc 100644 --- a/InCallUI/src/com/android/incallui/DialpadFragment.java +++ b/InCallUI/src/com/android/incallui/DialpadFragment.java @@ -34,6 +34,7 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; +import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette; import com.android.phone.common.dialpad.DialpadKeyButton; import com.android.phone.common.dialpad.DialpadView; @@ -48,6 +49,10 @@ public class DialpadFragment extends BaseFragment<DialpadPresenter, DialpadPrese private static final int ACCESSIBILITY_DTMF_STOP_DELAY_MILLIS = 50; + private final int[] mButtonIds = new int[] {R.id.zero, R.id.one, R.id.two, R.id.three, + R.id.four, R.id.five, R.id.six, R.id.seven, R.id.eight, R.id.nine, R.id.star, + R.id.pound}; + /** * LinearLayout with getter and setter methods for the translationY property using floats, * for animation purposes. @@ -132,6 +137,8 @@ public class DialpadFragment extends BaseFragment<DialpadPresenter, DialpadPrese private DialpadView mDialpadView; + private int mCurrentTextColor; + /** * Our own key listener, specialized for dealing with DTMF codes. * 1. Ignore the backspace since it is irrelevant. @@ -457,13 +464,35 @@ public class DialpadFragment extends BaseFragment<DialpadPresenter, DialpadPrese // the edit (copy / paste / select) functions. mDtmfDialerField.setLongClickable(false); mDtmfDialerField.setElegantTextHeight(false); - configureKeypadListeners(mDialpadView); + configureKeypadListeners(); } return parent; } @Override + public void onResume() { + super.onResume(); + updateColors(); + } + + public void updateColors() { + int textColor = InCallPresenter.getInstance().getThemeColors().mPrimaryColor; + + if (mCurrentTextColor == textColor) { + return; + } + + DialpadKeyButton dialpadKey; + for (int i = 0; i < mButtonIds.length; i++) { + dialpadKey = (DialpadKeyButton) mDialpadView.findViewById(mButtonIds[i]); + ((TextView) dialpadKey.findViewById(R.id.dialpad_key_number)).setTextColor(textColor); + } + + mCurrentTextColor = textColor; + } + + @Override public void onDestroyView() { mDialerKeyListener = null; super.onDestroyView(); @@ -544,12 +573,10 @@ public class DialpadFragment extends BaseFragment<DialpadPresenter, DialpadPrese } } - private void configureKeypadListeners(View fragmentView) { - final int[] buttonIds = new int[] {R.id.zero, R.id.one, R.id.two, R.id.three, R.id.four, - R.id.five, R.id.six, R.id.seven, R.id.eight, R.id.nine, R.id.star, R.id.pound}; + private void configureKeypadListeners() { DialpadKeyButton dialpadKey; - for (int i = 0; i < buttonIds.length; i++) { - dialpadKey = (DialpadKeyButton) fragmentView.findViewById(buttonIds[i]); + for (int i = 0; i < mButtonIds.length; i++) { + dialpadKey = (DialpadKeyButton) mDialpadView.findViewById(mButtonIds[i]); dialpadKey.setOnTouchListener(this); dialpadKey.setOnKeyListener(this); dialpadKey.setOnHoverListener(this); |