diff options
author | Selim Cinek <cinek@google.com> | 2015-08-12 01:06:16 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-08-12 01:06:16 +0000 |
commit | 13c9828fab18571121ec3fecca99f709d606925b (patch) | |
tree | 4c4804594ed7e68cd12ac0062669061c2ec3f399 /packages/Keyguard | |
parent | a546e5be8035d31ec7549e8a549e871a180658a9 (diff) | |
parent | c40d6799df6b3dc1c61aa05d2e356096521b7099 (diff) | |
download | frameworks_base-13c9828fab18571121ec3fecca99f709d606925b.zip frameworks_base-13c9828fab18571121ec3fecca99f709d606925b.tar.gz frameworks_base-13c9828fab18571121ec3fecca99f709d606925b.tar.bz2 |
am c40d6799: Merge "Indicating fingerprint error messages on the bouncer now" into mnc-dr-dev
* commit 'c40d6799df6b3dc1c61aa05d2e356096521b7099':
Indicating fingerprint error messages on the bouncer now
Diffstat (limited to 'packages/Keyguard')
8 files changed, 61 insertions, 9 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java index 8f792de..dfc31ab 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java @@ -234,6 +234,12 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout } } + @Override + public void showMessage(String message, int color) { + mSecurityMessageDisplay.setNextMessageColor(color); + mSecurityMessageDisplay.setMessage(message, true /* important */); + } + protected abstract int getPromtReasonStringRes(int reason); // Cause a VIRTUAL_KEY vibration diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java index ff4e815..32892cf 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java @@ -170,6 +170,10 @@ public class KeyguardHostView extends FrameLayout implements SecurityCallback { mSecurityContainer.showPromptReason(reason); } + public void showMessage(String message, int color) { + mSecurityContainer.showMessage(message, color); + } + /** * Dismisses the keyguard by going to the next screen or making it gone. * diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java index 2951af9..c8adf64 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java @@ -39,15 +39,18 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay { * lift-to-type from interrupting itself. */ private static final long ANNOUNCEMENT_DELAY = 250; + private static final int DEFAULT_COLOR = -1; private static final int SECURITY_MESSAGE_DURATION = 5000; private final KeyguardUpdateMonitor mUpdateMonitor; private final Handler mHandler; + private final int mDefaultColor; // Timeout before we reset the message to show charging/owner info long mTimeout = SECURITY_MESSAGE_DURATION; CharSequence mMessage; + private int mNextMessageColor = DEFAULT_COLOR; private final Runnable mClearMessageRunnable = new Runnable() { @Override @@ -78,10 +81,16 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay { mUpdateMonitor.registerCallback(mInfoCallback); mHandler = new Handler(Looper.myLooper()); + mDefaultColor = getCurrentTextColor(); update(); } @Override + public void setNextMessageColor(int color) { + mNextMessageColor = color; + } + + @Override public void setMessage(CharSequence msg, boolean important) { if (!TextUtils.isEmpty(msg) && important) { securityMessageChanged(msg); @@ -151,6 +160,12 @@ class KeyguardMessageArea extends TextView implements SecurityMessageDisplay { CharSequence status = mMessage; setVisibility(TextUtils.isEmpty(status) ? INVISIBLE : VISIBLE); setText(status); + int color = mDefaultColor; + if (mNextMessageColor != DEFAULT_COLOR) { + color = mNextMessageColor; + mNextMessageColor = DEFAULT_COLOR; + } + setTextColor(color); } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java index 4bd1a2e..a96c79f 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java @@ -15,10 +15,6 @@ */ package com.android.keyguard; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Rect; import android.os.AsyncTask; @@ -28,7 +24,6 @@ import android.text.TextUtils; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; -import android.view.RenderNodeAnimator; import android.view.View; import android.view.ViewGroup; import android.view.animation.AnimationUtils; @@ -342,6 +337,12 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit } @Override + public void showMessage(String message, int color) { + mSecurityMessageDisplay.setNextMessageColor(color); + mSecurityMessageDisplay.setMessage(message, true /* important */); + } + + @Override public void startAppearAnimation() { enableClipping(false); setAlpha(1f); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java index 85da298..8fc3cde 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -518,6 +518,13 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe } } + + public void showMessage(String message, int color) { + if (mCurrentSecuritySelection != SecurityMode.None) { + getSecurityView(mCurrentSecuritySelection).showMessage(message, color); + } + } + @Override public void showUsabilityHint() { mSecurityViewFlipper.showUsabilityHint(); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityView.java index 5658a74..7e82c63 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityView.java @@ -77,6 +77,14 @@ public interface KeyguardSecurityView { void showPromptReason(int reason); /** + * Show a message on the security view with a specified color + * + * @param message the message to show + * @param color the color to use + */ + void showMessage(String message, int color); + + /** * Instruct the view to show usability hints, if any. * */ diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java index a0ff21b..6012c45 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java @@ -139,6 +139,14 @@ public class KeyguardSecurityViewFlipper extends ViewFlipper implements Keyguard } @Override + public void showMessage(String message, int color) { + KeyguardSecurityView ksv = getSecurityView(); + if (ksv != null) { + ksv.showMessage(message, color); + } + } + + @Override public void showUsabilityHint() { KeyguardSecurityView ksv = getSecurityView(); if (ksv != null) { diff --git a/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java b/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java index b38cfd5..ddb1f6e 100644 --- a/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java +++ b/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java @@ -17,11 +17,14 @@ package com.android.keyguard; public interface SecurityMessageDisplay { - public void setMessage(CharSequence msg, boolean important); - public void setMessage(int resId, boolean important); + void setNextMessageColor(int color); - public void setMessage(int resId, boolean important, Object... formatArgs); + void setMessage(CharSequence msg, boolean important); - public void setTimeout(int timeout_ms); + void setMessage(int resId, boolean important); + + void setMessage(int resId, boolean important, Object... formatArgs); + + void setTimeout(int timeout_ms); } |