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

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

Merge "Bouncer: Remove flicker of KeyguardMessageArea" into tm-dev

parents 4cfefc34 800b66f2
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public class KeyguardMessageArea extends TextView implements SecurityMessageDisp
    private ColorStateList mDefaultColorState;
    private CharSequence mMessage;
    private ColorStateList mNextMessageColorState = ColorStateList.valueOf(DEFAULT_COLOR);
    private boolean mBouncerVisible;
    private boolean mBouncerShowing;
    private boolean mAltBouncerShowing;
    /**
     * Container that wraps the KeyguardMessageArea - may be null if current view hierarchy doesn't
@@ -177,7 +177,7 @@ public class KeyguardMessageArea extends TextView implements SecurityMessageDisp

    void update() {
        CharSequence status = mMessage;
        setVisibility(TextUtils.isEmpty(status) || (!mBouncerVisible && !mAltBouncerShowing)
        setVisibility(TextUtils.isEmpty(status) || (!mBouncerShowing && !mAltBouncerShowing)
                ? INVISIBLE : VISIBLE);
        setText(status);
        ColorStateList colorState = mDefaultColorState;
@@ -192,8 +192,14 @@ public class KeyguardMessageArea extends TextView implements SecurityMessageDisp
        setTextColor(colorState);
    }

    public void setBouncerVisible(boolean bouncerVisible) {
        mBouncerVisible = bouncerVisible;
    /**
     * Set whether the bouncer is fully showing
     */
    public void setBouncerShowing(boolean bouncerShowing) {
        if (mBouncerShowing != bouncerShowing) {
            mBouncerShowing = bouncerShowing;
            update();
        }
    }

    /**
+7 −6
Original line number Diff line number Diff line
@@ -39,12 +39,6 @@ public class KeyguardMessageAreaController extends ViewController<KeyguardMessag
        public void onStartedWakingUp() {
            mView.setSelected(true);
        }

        @Override
        public void onKeyguardBouncerChanged(boolean bouncer) {
            mView.setBouncerVisible(bouncer);
            mView.update();
        }
    };

    private ConfigurationListener mConfigurationListener = new ConfigurationListener() {
@@ -94,6 +88,13 @@ public class KeyguardMessageAreaController extends ViewController<KeyguardMessag
        mView.setAltBouncerShowing(showing);
    }

    /**
     * Set bouncer is fully showing
     */
    public void setBouncerShowing(boolean showing) {
        mView.setBouncerShowing(showing);
    }

    public void setMessage(CharSequence s) {
        mView.setMessage(s);
    }
+1 −0
Original line number Diff line number Diff line
@@ -1016,6 +1016,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
        if (bouncerShowing != mLastBouncerShowing || mFirstUpdate) {
            mNotificationShadeWindowController.setBouncerShowing(bouncerShowing);
            mCentralSurfaces.setBouncerShowing(bouncerShowing);
            mKeyguardMessageAreaController.setBouncerShowing(bouncerShowing);
        }

        if (occluded != mLastOccluded || mFirstUpdate) {
+6 −0
Original line number Diff line number Diff line
@@ -84,4 +84,10 @@ public class KeyguardMessageAreaControllerTest extends SysuiTestCase {
        mMessageAreaController.setMessage("");
        verify(mKeyguardMessageArea).setMessage("");
    }

    @Test
    public void testSetBouncerVisible() {
        mMessageAreaController.setBouncerShowing(true);
        verify(mKeyguardMessageArea).setBouncerShowing(true);
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ public class KeyguardMessageAreaTest extends SysuiTestCase {
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
        mKeyguardMessageArea = new KeyguardMessageArea(mContext, null);
        mKeyguardMessageArea.setBouncerVisible(true);
        mKeyguardMessageArea.setBouncerShowing(true);
    }

    @Test
@@ -53,7 +53,7 @@ public class KeyguardMessageAreaTest extends SysuiTestCase {

    @Test
    public void testHiddenWhenBouncerHidden() {
        mKeyguardMessageArea.setBouncerVisible(false);
        mKeyguardMessageArea.setBouncerShowing(false);
        mKeyguardMessageArea.setVisibility(View.INVISIBLE);
        mKeyguardMessageArea.setMessage("oobleck");
        assertThat(mKeyguardMessageArea.getVisibility()).isEqualTo(View.INVISIBLE);
Loading