From 27e1f26e0149d2e38373d0d3d59bbb30f4f291a5 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Thu, 8 Mar 2018 16:38:32 -0800 Subject: [PATCH] Polish FingerprintDialog Bug: 73818869 Test: dialog matches spec Change-Id: Ibba456e656559ffbebf1bcae79480ce91772572f --- .../res/drawable/fingerprint_dialog_bg.xml | 26 +++++++++++++++ .../res/layout/fingerprint_dialog.xml | 19 +++++------ packages/SystemUI/res/values/colors.xml | 10 +++--- packages/SystemUI/res/values/dimens.xml | 3 +- packages/SystemUI/res/values/integers.xml | 19 +++++++++++ .../fingerprint/FingerprintDialogImpl.java | 2 +- .../fingerprint/FingerprintDialogView.java | 32 +++++++++++++++++-- 7 files changed, 93 insertions(+), 18 deletions(-) create mode 100644 packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml create mode 100644 packages/SystemUI/res/values/integers.xml diff --git a/packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml b/packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml new file mode 100644 index 0000000000000..221f1701187d6 --- /dev/null +++ b/packages/SystemUI/res/drawable/fingerprint_dialog_bg.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/fingerprint_dialog.xml b/packages/SystemUI/res/layout/fingerprint_dialog.xml index f02c0ba35e778..1b47489418be1 100644 --- a/packages/SystemUI/res/layout/fingerprint_dialog.xml +++ b/packages/SystemUI/res/layout/fingerprint_dialog.xml @@ -35,7 +35,7 @@ android:layout_height="wrap_content" android:orientation="vertical" android:elevation="2dp" - android:background="@color/fingerprint_dialog_bg_color"> + android:background="@drawable/fingerprint_dialog_bg"> + android:textColor="@color/fingerprint_dialog_text_dark_color"/> @@ -84,7 +85,7 @@ android:layout_width="@dimen/fingerprint_dialog_fp_icon_size" android:layout_height="@dimen/fingerprint_dialog_fp_icon_size" android:layout_gravity="center_horizontal" - android:layout_marginTop="32dp" + android:layout_marginTop="48dp" android:scaleType="fitXY" android:contentDescription="@string/accessibility_fingerprint_dialog_fingerprint_icon" /> @@ -106,7 +107,7 @@ #fff2f2f2 - #f4ffffff - #ff212121 - #ff757575 + #ffffffff + #dd000000 + #89000000 #80000000 - #ffff5722 - #ff009688 + #ffd93025 + #ff008577 #ccffffff diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 7b1a9e193b051..702b4e143a897 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -906,8 +906,9 @@ 6sp - 60dp + 64dp 350dp + 2dp 0dp diff --git a/packages/SystemUI/res/values/integers.xml b/packages/SystemUI/res/values/integers.xml new file mode 100644 index 0000000000000..8f23283478b05 --- /dev/null +++ b/packages/SystemUI/res/values/integers.xml @@ -0,0 +1,19 @@ + + + + 8388611 + \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogImpl.java b/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogImpl.java index 1d43b1d7d5547..4b15fbcd2e846 100644 --- a/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogImpl.java @@ -180,8 +180,8 @@ public class FingerprintDialogImpl extends SystemUI implements CommandQueue.Call } } mReceiver = null; - mWindowManager.removeView(mDialogView); mDialogShowing = false; + mDialogView.startDismiss(); } private void handleButtonNegative() { diff --git a/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogView.java b/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogView.java index e828b2c097eae..37e193654f446 100644 --- a/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogView.java +++ b/packages/SystemUI/src/com/android/systemui/fingerprint/FingerprintDialogView.java @@ -61,7 +61,7 @@ public class FingerprintDialogView extends LinearLayout { private final IBinder mWindowToken = new Binder(); private final Interpolator mLinearOutSlowIn; - private final Interpolator mFastOutLinearIn; + private final WindowManager mWindowManager; private final float mAnimationTranslationOffset; private final int mErrorTextColor; private final int mTextColor; @@ -78,7 +78,7 @@ public class FingerprintDialogView extends LinearLayout { super(context); mHandler = handler; mLinearOutSlowIn = Interpolators.LINEAR_OUT_SLOW_IN; - mFastOutLinearIn = Interpolators.FAST_OUT_LINEAR_IN; + mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); mAnimationTranslationOffset = getResources() .getDimension(R.dimen.fingerprint_dialog_animation_translation_offset); mErrorTextColor = Color.parseColor( @@ -189,6 +189,34 @@ public class FingerprintDialogView extends LinearLayout { }); } + public void startDismiss() { + final Runnable endActionRunnable = new Runnable() { + @Override + public void run() { + mWindowManager.removeView(FingerprintDialogView.this); + } + }; + + postOnAnimation(new Runnable() { + @Override + public void run() { + mLayout.animate() + .alpha(0f) + .setDuration(ANIMATION_DURATION) + .setInterpolator(mLinearOutSlowIn) + .withLayer() + .start(); + mDialog.animate() + .translationY(mAnimationTranslationOffset) + .setDuration(ANIMATION_DURATION) + .setInterpolator(mLinearOutSlowIn) + .withLayer() + .withEndAction(endActionRunnable) + .start(); + } + }); + } + public void setBundle(Bundle bundle) { mBundle = bundle; }