Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfafe4ea authored by Selim Cinek's avatar Selim Cinek
Browse files

Indicating fingerprint error messages on the bouncer now

Also ensure that error messages are surfaced when the screen
comes on such that the user knows why his fingerprint is not
working.

Bug: 22035466
Bug: 22524101
Change-Id: I00b0e833cdb8a3475545ba75b8cb7bf7a419dfd4
parent ec85b522
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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.
     *
+15 −0
Original line number Diff line number Diff line
@@ -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,9 +81,15 @@ 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) {
@@ -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);
    }


+6 −5
Original line number Diff line number Diff line
@@ -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;
@@ -341,6 +336,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);
+7 −0
Original line number Diff line number Diff line
@@ -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();
Loading