summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/dialpadview
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2017-10-09 16:59:04 -0700
committerEric Erfanian <erfanian@google.com>2017-10-10 07:13:45 -0700
commit6007f5208514c4f69ca6fa75507abba92ef5372d (patch)
treede82c4575349ebd7c211ace9785cf51100c1723a /java/com/android/dialer/dialpadview
parent19e6dbd30ae88e68cd68f3d3873440d50d19d902 (diff)
Improved FAB UX.
One of the biggest issues with the FAB is that it doesn't scale in/out properly. It looked more like setVisibility was being called instead. This CL migrates the FAB controller to use the built in scale in/out methods #show and #hide and the animation is much nicer. Some of the other issues were: - Now scaling animation is correct and visible. - No longer flashes when going in/out of search. - No longer shows on top of the return to call controller. - No longer bugs when switching between VVM TOS and contacts. - No longer shows FAB over VVM TOS when entering/exiting search Bug: 62588192,35359563,64116334,27458212,37991480,67419607 Test: manual PiperOrigin-RevId: 171608105 Change-Id: I9b3f61df35abf3659a432adf411b1b7d20eba683
Diffstat (limited to 'java/com/android/dialer/dialpadview')
-rw-r--r--java/com/android/dialer/dialpadview/DialpadFragment.java20
1 files changed, 10 insertions, 10 deletions
diff --git a/java/com/android/dialer/dialpadview/DialpadFragment.java b/java/com/android/dialer/dialpadview/DialpadFragment.java
index 7dd557863..c4e6c61d8 100644
--- a/java/com/android/dialer/dialpadview/DialpadFragment.java
+++ b/java/com/android/dialer/dialpadview/DialpadFragment.java
@@ -69,7 +69,6 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.android.contacts.common.dialog.CallSubjectDialog;
import com.android.contacts.common.util.StopWatch;
-import com.android.contacts.common.widget.FloatingActionButtonController;
import com.android.dialer.animation.AnimUtils;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
@@ -79,6 +78,7 @@ import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
import com.android.dialer.common.concurrent.DialerExecutors;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.location.GeoUtil;
import com.android.dialer.logging.UiAction;
import com.android.dialer.oem.MotorolaUtils;
@@ -88,6 +88,7 @@ import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.CallUtil;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.FloatingActionButtonController;
import java.util.HashSet;
import java.util.List;
@@ -1193,7 +1194,7 @@ public class DialpadFragment extends Fragment
mOverflowPopupMenu.dismiss();
}
- mFloatingActionButtonController.setVisible(false);
+ mFloatingActionButtonController.scaleOut();
mDialpadChooser.setVisibility(View.VISIBLE);
// Instantiate the DialpadChooserAdapter and hook it up to the
@@ -1207,6 +1208,7 @@ public class DialpadFragment extends Fragment
if (mDialpadView != null) {
LogUtil.i("DialpadFragment.showDialpadChooser", "mDialpadView not null");
mDialpadView.setVisibility(View.VISIBLE);
+ mFloatingActionButtonController.scaleIn();
} else {
LogUtil.i("DialpadFragment.showDialpadChooser", "mDialpadView null");
mDigits.setVisibility(View.VISIBLE);
@@ -1217,7 +1219,7 @@ public class DialpadFragment extends Fragment
if (!mFloatingActionButtonController.isVisible()) {
// Just call 'scaleIn()' method if the mFloatingActionButtonController was not already
// previously visible.
- mFloatingActionButtonController.scaleIn(0);
+ mFloatingActionButtonController.scaleIn();
}
mDialpadChooser.setVisibility(View.GONE);
}
@@ -1433,17 +1435,15 @@ public class DialpadFragment extends Fragment
if (mAnimate) {
dialpadView.animateShow();
}
- mFloatingActionButtonController.setVisible(false);
- mFloatingActionButtonController.scaleIn(mAnimate ? mDialpadSlideInDuration : 0);
+ ThreadUtil.getUiThreadHandler()
+ .postDelayed(
+ () -> mFloatingActionButtonController.scaleIn(),
+ mAnimate ? mDialpadSlideInDuration : 0);
FragmentUtils.getParentUnsafe(this, DialpadListener.class).onDialpadShown();
mDigits.requestFocus();
}
if (hidden) {
- if (mAnimate) {
- mFloatingActionButtonController.scaleOut();
- } else {
- mFloatingActionButtonController.setVisible(false);
- }
+ mFloatingActionButtonController.scaleOut();
}
}