summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kevin Chyn <kchyn@google.com> 2019-07-24 22:54:33 -0700
committer android-build-merger <android-build-merger@google.com> 2019-07-24 22:54:33 -0700
commit6fb59c8b7831589c7a367b629577043200720cec (patch)
tree6564834405f7ddac132241dd9a6575d0f71fb1d6
parent9bf6137014ee64efae2a9c1cea0e4e833247d0c8 (diff)
parent91e9f6df918c1a0d512c532332efcc74fa5c71ce (diff)
Merge "Merge "Ensure BiometricDialogView dismiss animation is run" into qt-r1-dev am: dcb049c30e am: 29fc18e2e6" into qt-qpr1-dev-plus-aosp
am: 91e9f6df91 Change-Id: Iae13f60ef017ba40557893d5c64003cbc842430b
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java1
2 files changed, 18 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
index a5857df8ba5a..ce67577ea483 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
@@ -111,6 +111,9 @@ public abstract class BiometricDialogView extends LinearLayout {
protected boolean mRequireConfirmation;
private int mUserId; // used to determine if we should show work background
+ private boolean mCompletedAnimatingIn;
+ private boolean mPendingDismissDialog;
+
protected abstract int getHintStringResourceId();
protected abstract int getAuthenticatedAccessibilityResourceId();
protected abstract int getIconDescriptionResourceId();
@@ -332,6 +335,7 @@ public abstract class BiometricDialogView extends LinearLayout {
mDialog.setAlpha(1.0f);
mDialog.setTranslationY(0);
mLayout.setAlpha(1.0f);
+ mCompletedAnimatingIn = true;
} else {
// Dim the background and slide the dialog up
mDialog.setTranslationY(mAnimationTranslationOffset);
@@ -352,6 +356,12 @@ public abstract class BiometricDialogView extends LinearLayout {
}
public void startDismiss() {
+ if (!mCompletedAnimatingIn) {
+ Log.w(TAG, "startDismiss(): waiting for onDialogAnimatedIn");
+ mPendingDismissDialog = true;
+ return;
+ }
+
mAnimatingAway = true;
// This is where final cleanup should occur.
@@ -499,6 +509,13 @@ public abstract class BiometricDialogView extends LinearLayout {
}
public void onDialogAnimatedIn() {
+ mCompletedAnimatingIn = true;
+
+ if (mPendingDismissDialog) {
+ Log.d(TAG, "onDialogAnimatedIn(): mPendingDismissDialog=true, dismissing now");
+ startDismiss();
+ mPendingDismissDialog = false;
+ }
}
public void restoreState(Bundle bundle) {
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java
index 729242e3144f..ae6cb5ce23d3 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/FaceDialogView.java
@@ -460,6 +460,7 @@ public class FaceDialogView extends BiometricDialogView {
@Override
public void onDialogAnimatedIn() {
+ super.onDialogAnimatedIn();
mDialogAnimatedIn = true;
mIconController.startPulsing();
}