diff options
author | Selim Cinek <cinek@google.com> | 2015-08-25 18:34:29 -0700 |
---|---|---|
committer | Selim Cinek <cinek@google.com> | 2015-08-28 11:51:46 -0700 |
commit | c384198529870946249a79166fd0a42c1823bf09 (patch) | |
tree | 073be5c355f7f8d57236b89783632e12990374eb /packages/SystemUI/src | |
parent | 69ff8afceea53851f339bd1dd755ed6f8915692c (diff) | |
download | frameworks_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')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java | 26 |
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()) { |