summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com
diff options
context:
space:
mode:
authorSelim Cinek <cinek@google.com>2015-08-25 18:34:29 -0700
committerSelim Cinek <cinek@google.com>2015-08-28 11:51:46 -0700
commitc384198529870946249a79166fd0a42c1823bf09 (patch)
tree073be5c355f7f8d57236b89783632e12990374eb /packages/SystemUI/src/com
parent69ff8afceea53851f339bd1dd755ed6f8915692c (diff)
downloadframeworks_base-c384198529870946249a79166fd0a42c1823bf09.zip
frameworks_base-c384198529870946249a79166fd0a42c1823bf09.tar.gz
frameworks_base-c384198529870946249a79166fd0a42c1823bf09.tar.bz2
Added animation for trusted to fingerprint error
Bug: 21781452 Change-Id: Ib3b229c9ebece926a68a0c6a69341d0f68166698
Diffstat (limited to 'packages/SystemUI/src/com')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java26
1 files changed, 21 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
index 463abfc..93ecb06 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -100,6 +100,8 @@ public class LockIcon extends KeyguardAffordanceView {
// TODO: Real icon for facelock.
int state = getState();
boolean anyFingerprintIcon = state == STATE_FINGERPRINT || state == STATE_FINGERPRINT_ERROR;
+ boolean useAdditionalPadding = anyFingerprintIcon;
+ boolean trustHidden = anyFingerprintIcon;
if (state != mLastState || mDeviceInteractive != mLastDeviceInteractive
|| mScreenOn != mLastScreenOn) {
boolean isAnim = true;
@@ -107,6 +109,16 @@ public class LockIcon extends KeyguardAffordanceView {
mDeviceInteractive, mLastScreenOn, mScreenOn);
if (iconRes == R.drawable.lockscreen_fingerprint_draw_off_animation) {
anyFingerprintIcon = true;
+ useAdditionalPadding = true;
+ trustHidden = true;
+ } else if (iconRes == R.drawable.trusted_state_to_error_animation) {
+ anyFingerprintIcon = true;
+ useAdditionalPadding = false;
+ trustHidden = true;
+ } else if (iconRes == R.drawable.error_to_trustedstate_animation) {
+ anyFingerprintIcon = true;
+ useAdditionalPadding = false;
+ trustHidden = false;
}
if (iconRes == -1) {
iconRes = getIconForState(state, mScreenOn, mDeviceInteractive);
@@ -124,7 +136,7 @@ public class LockIcon extends KeyguardAffordanceView {
|| icon.getIntrinsicWidth() != iconWidth)) {
icon = new IntrinsicSizeDrawable(icon, iconWidth, iconHeight);
}
- setPaddingRelative(0, 0, 0, anyFingerprintIcon
+ setPaddingRelative(0, 0, 0, useAdditionalPadding
? getResources().getDimensionPixelSize(
R.dimen.fingerprint_icon_additional_padding)
: 0);
@@ -145,7 +157,7 @@ public class LockIcon extends KeyguardAffordanceView {
}
// Hide trust circle when fingerprint is running.
- boolean trustManaged = mUnlockMethodCache.isTrustManaged() && !anyFingerprintIcon;
+ boolean trustManaged = mUnlockMethodCache.isTrustManaged() && !trustHidden;
mTrustDrawable.setTrustManaged(trustManaged);
updateClickability();
}
@@ -208,6 +220,10 @@ public class LockIcon extends KeyguardAffordanceView {
boolean oldScreenOn, boolean screenOn) {
if (oldState == STATE_FINGERPRINT && newState == STATE_FINGERPRINT_ERROR) {
return R.drawable.lockscreen_fingerprint_fp_to_error_state_animation;
+ } else if (oldState == STATE_LOCK_OPEN && newState == STATE_FINGERPRINT_ERROR) {
+ return R.drawable.trusted_state_to_error_animation;
+ } else if (oldState == STATE_FINGERPRINT_ERROR && newState == STATE_LOCK_OPEN) {
+ return R.drawable.error_to_trustedstate_animation;
} else if (oldState == STATE_FINGERPRINT_ERROR && newState == STATE_FINGERPRINT) {
return R.drawable.lockscreen_fingerprint_error_state_to_fp_animation;
} else if (oldState == STATE_FINGERPRINT && newState == STATE_LOCK_OPEN
@@ -225,10 +241,10 @@ public class LockIcon extends KeyguardAffordanceView {
KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
boolean fingerprintRunning = updateMonitor.isFingerprintDetectionRunning();
boolean unlockingAllowed = updateMonitor.isUnlockingWithFingerprintAllowed();
- if (mUnlockMethodCache.canSkipBouncer()) {
- return STATE_LOCK_OPEN;
- } else if (mTransientFpError) {
+ if (mTransientFpError) {
return STATE_FINGERPRINT_ERROR;
+ } else if (mUnlockMethodCache.canSkipBouncer()) {
+ return STATE_LOCK_OPEN;
} else if (fingerprintRunning && unlockingAllowed) {
return STATE_FINGERPRINT;
} else if (mUnlockMethodCache.isFaceUnlockRunning()) {