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 0b65c70c7ef18..52b053b56e126 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;
}