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

Commit 33b7f00a authored by Aaron Liu's avatar Aaron Liu Committed by Android (Google) Code Review
Browse files

Merge "[Bouncer] Remove flicker of message area." into tm-qpr-dev

parents f31b5dc0 0b9bc54c
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -69,10 +69,16 @@ open class BouncerKeyguardMessageArea(context: Context?, attrs: AttributeSet?) :
        super.reloadColor()
    }

    override fun setMessage(msg: CharSequence?) {
    override fun setMessage(msg: CharSequence?, animate: Boolean) {
        if ((msg == textAboutToShow && msg != null) || msg == text) {
            return
        }

        if (!animate) {
            super.setMessage(msg, animate)
            return
        }

        textAboutToShow = msg

        if (animatorSet.isRunning) {
@@ -89,7 +95,7 @@ open class BouncerKeyguardMessageArea(context: Context?, attrs: AttributeSet?) :
        hideAnimator.addListener(
            object : AnimatorListenerAdapter() {
                override fun onAnimationEnd(animation: Animator?) {
                    super@BouncerKeyguardMessageArea.setMessage(msg)
                    super@BouncerKeyguardMessageArea.setMessage(msg, animate)
                }
            }
        )
+6 −4
Original line number Diff line number Diff line
@@ -159,10 +159,12 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
                int secondsRemaining = (int) Math.round(millisUntilFinished / 1000.0);
                Map<String, Object> arguments = new HashMap<>();
                arguments.put("count", secondsRemaining);
                mMessageAreaController.setMessage(PluralsMessageFormatter.format(
                mMessageAreaController.setMessage(
                        PluralsMessageFormatter.format(
                            mView.getResources(),
                            arguments,
                        R.string.kg_too_many_failed_attempts_countdown));
                            R.string.kg_too_many_failed_attempts_countdown),
                        /* animate= */ false);
            }

            @Override
+3 −11
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
    @Nullable
    private ViewGroup mContainer;
    private int mTopMargin;
    protected boolean mAnimate;

    public KeyguardMessageArea(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -106,7 +107,7 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
    }

    @Override
    public void setMessage(CharSequence msg) {
    public void setMessage(CharSequence msg, boolean animate) {
        if (!TextUtils.isEmpty(msg)) {
            securityMessageChanged(msg);
        } else {
@@ -114,22 +115,13 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
        }
    }

    @Override
    public void setMessage(int resId) {
        CharSequence message = null;
        if (resId != 0) {
            message = getContext().getResources().getText(resId);
        }
        setMessage(message);
    }

    @Override
    public void formatMessage(int resId, Object... formatArgs) {
        CharSequence message = null;
        if (resId != 0) {
            message = getContext().getString(resId, formatArgs);
        }
        setMessage(message);
        setMessage(message, true);
    }

    private void securityMessageChanged(CharSequence message) {
+10 −2
Original line number Diff line number Diff line
@@ -92,11 +92,19 @@ public class KeyguardMessageAreaController<T extends KeyguardMessageArea>
    }

    public void setMessage(CharSequence s) {
        mView.setMessage(s);
        setMessage(s, true);
    }

    /**
     * Sets a message to the underlying text view.
     */
    public void setMessage(CharSequence s, boolean animate) {
        mView.setMessage(s, animate);
    }

    public void setMessage(int resId) {
        mView.setMessage(resId);
        String message = resId != 0 ? mView.getResources().getString(resId) : null;
        setMessage(message);
    }

    public void setNextMessageColor(ColorStateList colorState) {
+7 −4
Original line number Diff line number Diff line
@@ -372,10 +372,13 @@ public class KeyguardPatternViewController
                Map<String, Object> arguments = new HashMap<>();
                arguments.put("count", secondsRemaining);

                mMessageAreaController.setMessage(PluralsMessageFormatter.format(
                mMessageAreaController.setMessage(
                        PluralsMessageFormatter.format(
                            mView.getResources(),
                            arguments,
                        R.string.kg_too_many_failed_attempts_countdown));
                            R.string.kg_too_many_failed_attempts_countdown),
                        /* animate= */ false
                );
            }

            @Override
Loading