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

Commit 6326e09d authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android Git Automerger
Browse files

am 75f44398: Animate clock when going to SHADE_LOCKED or SHADE

* commit '75f4439890125254d3ac8117d6e1b5365920a6ad':
  Animate clock when going to SHADE_LOCKED or SHADE
parents 5a93cb09 6ff837a9
Loading
Loading
Loading
Loading
+54 −4
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ public class NotificationPanelView extends PanelView implements
    private boolean mIsLaunchTransitionRunning;
    private Runnable mLaunchAnimationEndRunnable;
    private boolean mOnlyAffordanceInThisMotion;
    private boolean mKeyguardStatusBarAnimatingIn;
    private boolean mKeyguardStatusViewAnimating;

    public NotificationPanelView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -285,7 +285,9 @@ public class NotificationPanelView extends PanelView implements
    }

    private void updateClock(float alpha, float scale) {
        if (!mKeyguardStatusViewAnimating) {
            mKeyguardStatusView.setAlpha(alpha);
        }
        mKeyguardStatusView.setScaleX(scale);
        mKeyguardStatusView.setScaleY(scale);
    }
@@ -671,7 +673,7 @@ public class NotificationPanelView extends PanelView implements
        }
    }

    public void setBarState(int statusBarState) {
    public void setBarState(int statusBarState, boolean keyguardFadingAway) {
        boolean keyguardShowing = statusBarState == StatusBarState.KEYGUARD
                || statusBarState == StatusBarState.SHADE_LOCKED;
        mKeyguardStatusBar.setAlpha(1f);
@@ -680,11 +682,59 @@ public class NotificationPanelView extends PanelView implements
            setQsTranslation(mQsExpansionHeight);
            mHeader.setTranslationY(0f);
        }
        setKeyguardStatusViewVisibility(statusBarState, keyguardFadingAway);
        mStatusBarState = statusBarState;
        mKeyguardShowing = keyguardShowing;
        updateQsState();
    }

    private final Runnable mAnimateKeyguardStatusViewInvisibleEndRunnable = new Runnable() {
        @Override
        public void run() {
            mKeyguardStatusViewAnimating = false;
            mKeyguardStatusView.setVisibility(View.GONE);
        }
    };

    private final Runnable mAnimateKeyguardStatusViewVisibleEndRunnable = new Runnable() {
        @Override
        public void run() {
            mKeyguardStatusViewAnimating = false;
        }
    };

    private void setKeyguardStatusViewVisibility(int statusBarState, boolean keyguardFadingAway) {
        if (!keyguardFadingAway && mStatusBarState == StatusBarState.KEYGUARD
                && statusBarState != StatusBarState.KEYGUARD) {
            mKeyguardStatusView.animate().cancel();
            mKeyguardStatusViewAnimating = true;
            mKeyguardStatusView.animate()
                    .alpha(0f)
                    .setDuration(160)
                    .setInterpolator(PhoneStatusBar.ALPHA_OUT)
                    .withEndAction(mAnimateKeyguardStatusViewInvisibleEndRunnable);
        } else if (mStatusBarState == StatusBarState.SHADE_LOCKED
                && statusBarState == StatusBarState.KEYGUARD) {
            mKeyguardStatusView.animate().cancel();
            mKeyguardStatusView.setVisibility(View.VISIBLE);
            mKeyguardStatusViewAnimating = true;
            mKeyguardStatusView.setAlpha(0f);
            mKeyguardStatusView.animate()
                    .alpha(1f)
                    .setDuration(320)
                    .setInterpolator(PhoneStatusBar.ALPHA_IN)
                    .withEndAction(mAnimateKeyguardStatusViewVisibleEndRunnable);
        } else if (statusBarState == StatusBarState.KEYGUARD) {
            mKeyguardStatusView.animate().cancel();
            mKeyguardStatusView.setVisibility(View.VISIBLE);
            mKeyguardStatusView.setAlpha(1f);
        } else {
            mKeyguardStatusView.animate().cancel();
            mKeyguardStatusView.setVisibility(View.GONE);
            mKeyguardStatusView.setAlpha(1f);
        }
    }

    private void updateQsState() {
        boolean expandVisually = mQsExpanded || mStackScrollerOverscrolling;
        mHeader.setVisibility((mQsExpanded || !mKeyguardShowing) ? View.VISIBLE : View.INVISIBLE);
@@ -1076,7 +1126,7 @@ public class NotificationPanelView extends PanelView implements
        }
        alpha = Math.max(0, Math.min(alpha, 1));
        alpha = (float) Math.pow(alpha, 0.75);
        if (!mQsExpanded && !mKeyguardStatusBarAnimatingIn) {
        if (!mQsExpanded) {
            mKeyguardStatusBar.setAlpha(alpha);
        }
        mKeyguardBottomArea.setAlpha(alpha);
+1 −3
Original line number Diff line number Diff line
@@ -3382,12 +3382,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,

    private void updateKeyguardState() {
        if (mState == StatusBarState.KEYGUARD) {
            mKeyguardStatusView.setVisibility(View.VISIBLE);
            mKeyguardIndicationController.setVisible(true);
            mNotificationPanel.resetViews();
            mKeyguardUserSwitcher.setKeyguard(true);
        } else {
            mKeyguardStatusView.setVisibility(View.GONE);
            mKeyguardIndicationController.setVisible(false);
            mKeyguardUserSwitcher.setKeyguard(false);
        }
@@ -3398,7 +3396,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
            mKeyguardBottomArea.setVisibility(View.GONE);
            mScrimController.setKeyguardShowing(false);
        }
        mNotificationPanel.setBarState(mState);
        mNotificationPanel.setBarState(mState, mKeyguardFadingAway);
        updateDozingState();
        updateStackScrollerState();
        updatePublicMode();