From a73e189f57d70e81e6c5150d10032dae29846fd7 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Tue, 13 May 2014 13:21:16 -0700 Subject: Use one ImageButton for the floating action button. This means that the touch feedback transition can continue to propagate, even while we're switching the icons. Change-Id: Ia0c4e7bb4556c84cabccbda5f4c5861e25e2928f --- .../android/dialer/dialpad/DialpadFragment.java | 26 ++++++---------------- 1 file changed, 7 insertions(+), 19 deletions(-) (limited to 'src/com/android/dialer/dialpad/DialpadFragment.java') diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java index 0ded9ab76..4557bd4b1 100644 --- a/src/com/android/dialer/dialpad/DialpadFragment.java +++ b/src/com/android/dialer/dialpad/DialpadFragment.java @@ -109,8 +109,7 @@ public class DialpadFragment extends Fragment * TODO: Refactor the app so this interchange is a bit cleaner. */ public interface HostInterface { - void setDialButtonEnabled(boolean enabled); - void setDialButtonContainerVisible(boolean visible); + void setFloatingActionButtonVisible(boolean visible); } /** @@ -318,7 +317,7 @@ public class DialpadFragment extends Fragment if (mDialpadQueryListener != null) { mDialpadQueryListener.onDialpadQueryChanged(mDigits.getText().toString()); } - updateDialAndDeleteButtonEnabledState(); + updateDeleteButtonEnabledState(); } @Override @@ -673,7 +672,7 @@ public class DialpadFragment extends Fragment stopWatch.lap("hnt"); - updateDialAndDeleteButtonEnabledState(); + updateDeleteButtonEnabledState(); stopWatch.lap("bes"); @@ -1218,7 +1217,7 @@ public class DialpadFragment extends Fragment if (mDialpadView != null) { mDialpadView.setVisibility(View.GONE); } - ((HostInterface) getActivity()).setDialButtonContainerVisible(false); + ((HostInterface) getActivity()).setFloatingActionButtonVisible(false); mDialpadChooser.setVisibility(View.VISIBLE); @@ -1235,7 +1234,7 @@ public class DialpadFragment extends Fragment } else { mDigits.setVisibility(View.VISIBLE); } - ((HostInterface) getActivity()).setDialButtonContainerVisible(true); + ((HostInterface) getActivity()).setFloatingActionButtonVisible(true); mDialpadChooser.setVisibility(View.GONE); } } @@ -1486,23 +1485,12 @@ public class DialpadFragment extends Fragment /** * Update the enabledness of the "Dial" and "Backspace" buttons if applicable. */ - private void updateDialAndDeleteButtonEnabledState() { + private void updateDeleteButtonEnabledState() { if (getActivity() == null) { return; } final boolean digitsNotEmpty = !isDigitsEmpty(); mDelete.setEnabled(digitsNotEmpty); - // On CDMA phones, if we're already on a call, we *always* enable the Dial button (since - // you can press it without entering any digits to send an empty flash.) - if (phoneIsCdma() && phoneIsOffhook()) { - ((HostInterface) getActivity()).setDialButtonEnabled(true); - } else { - // Common case: GSM, or CDMA but not on a call. Enable the Dial button if something - // has been entered into the digits field, or if there is a last dialed number that - // could be redialed. - ((HostInterface) getActivity()).setDialButtonEnabled( - digitsNotEmpty || !TextUtils.isEmpty(mLastNumberDialed)); - } } /** @@ -1587,7 +1575,7 @@ public class DialpadFragment extends Fragment // doing anything here. if (getActivity() == null) return; mLastNumberDialed = number; - updateDialAndDeleteButtonEnabledState(); + updateDeleteButtonEnabledState(); } }); mCallLog.getLastOutgoingCall(lastCallArgs); -- cgit v1.2.3