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

Commit 44026b7f authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Hide keyguard slice when pulsing"

parents d51fdf01 6bf7b64e
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -171,15 +171,16 @@ public class KeyguardStatusView extends GridLayout {
    }

    private void onSliceContentChanged(boolean hasHeader) {
        final float clockScale = hasHeader ? mSmallClockScale : 1;
        final boolean smallClock = hasHeader || mPulsing;
        final float clockScale = smallClock ? mSmallClockScale : 1;
        float translation = (mClockView.getHeight() - (mClockView.getHeight() * clockScale)) / 2f;
        if (hasHeader) {
        if (smallClock) {
            translation -= mWidgetPadding;
        }
        mClockView.setTranslationY(translation);
        mClockView.setScaleX(clockScale);
        mClockView.setScaleY(clockScale);
        mClockSeparator.setVisibility(hasHeader ? VISIBLE : GONE);
        mClockSeparator.setVisibility(hasHeader && !mPulsing ? VISIBLE : GONE);
    }

    @Override
@@ -329,6 +330,8 @@ public class KeyguardStatusView extends GridLayout {

    public void setPulsing(boolean pulsing) {
        mPulsing = pulsing;
        mKeyguardSlice.setVisibility(pulsing ? GONE : VISIBLE);
        onSliceContentChanged(mKeyguardSlice.hasHeader());
        updateDozeVisibleViews();
    }

+5 −2
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.stack.StackStateAnimator;

import java.util.Collection;
import java.util.List;

public class NotificationPanelView extends PanelView implements
@@ -2621,8 +2622,10 @@ public class NotificationPanelView extends PanelView implements
        }
    }

    public void setPulsing(boolean pulsing) {
        mKeyguardStatusView.setPulsing(pulsing);
    public void setPulsing(Collection<HeadsUpManager.HeadsUpEntry> pulsing) {
        mKeyguardStatusView.setPulsing(pulsing != null);
        mNotificationStackScroller.setPulsing(pulsing, mKeyguardStatusView.getLocationOnScreen()[1]
                + mKeyguardStatusView.getClockBottom());
    }

    public void setAmbientIndicationBottomPadding(int ambientIndicationBottomPadding) {
+1 −2
Original line number Diff line number Diff line
@@ -4620,8 +4620,7 @@ public class StatusBar extends SystemUI implements DemoMode,
                }

                private void setPulsing(Collection<HeadsUpManager.HeadsUpEntry> pulsing) {
                    mStackScroller.setPulsing(pulsing);
                    mNotificationPanel.setPulsing(pulsing != null);
                    mNotificationPanel.setPulsing(pulsing);
                    mVisualStabilityManager.setPulsing(pulsing != null);
                    mIgnoreTouchWhilePulsing = false;
                }
+12 −3
Original line number Diff line number Diff line
@@ -399,6 +399,7 @@ public class NotificationStackScrollLayout extends ViewGroup
    private final int mSeparatorWidth;
    private final int mSeparatorThickness;
    private final Rect mTmpRect = new Rect();
    private int mClockBottom;

    public NotificationStackScrollLayout(Context context) {
        this(context, null);
@@ -510,7 +511,9 @@ public class NotificationStackScrollLayout extends ViewGroup
        final int darkTop = (int) (mRegularTopPadding + mSeparatorThickness / 2f);
        final int darkBottom = darkTop + mSeparatorThickness;

        if (mAmbientState.isDark()) {
        if (mAmbientState.hasPulsingNotifications()) {
            // TODO draw divider between notification and shelf
        } else if (mAmbientState.isDark()) {
            // Only draw divider on AOD if we actually have notifications
            if (mFirstVisibleBackgroundChild != null) {
                canvas.drawRect(darkLeft, darkTop, darkRight, darkBottom, mBackgroundPaint);
@@ -684,7 +687,11 @@ public class NotificationStackScrollLayout extends ViewGroup
    }

    private void updateAlgorithmHeightAndPadding() {
        if (mPulsing != null) {
            mTopPadding = mClockBottom;
        } else {
            mTopPadding = mAmbientState.isDark() ? mDarkTopPadding : mRegularTopPadding;
        }
        mAmbientState.setLayoutHeight(getLayoutHeight());
        updateAlgorithmLayoutMinHeight();
        mAmbientState.setTopPadding(mTopPadding);
@@ -4322,13 +4329,15 @@ public class NotificationStackScrollLayout extends ViewGroup
        return mIsExpanded;
    }

    public void setPulsing(Collection<HeadsUpManager.HeadsUpEntry> pulsing) {
    public void setPulsing(Collection<HeadsUpManager.HeadsUpEntry> pulsing, int clockBottom) {
        if (mPulsing == null && pulsing == null) {
            return;
        }
        mPulsing = pulsing;
        mClockBottom = clockBottom;
        mAmbientState.setPulsing(pulsing);
        updateNotificationAnimationStates();
        updateAlgorithmHeightAndPadding();
        updateContentHeight();
        notifyHeightChangeListener(mShelf);
        requestChildrenUpdate();