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

Commit 1e7f986e authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Automerger Merge Worker
Browse files

Merge "Fixing notifications in split shade when customizing QS" into sc-v2-dev...

Merge "Fixing notifications in split shade when customizing QS" into sc-v2-dev am: bfe708d9 am: ba31c659

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15259894

Change-Id: I5fa3b96a70419b614cc3e8603c767b07679e5c23
parents 264bd605 ba31c659
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -183,7 +183,6 @@ public class NotificationShelf extends ActivatableNotificationView implements
            }

            viewState.hidden = !mAmbientState.isShadeExpanded()
                    || mAmbientState.isQsCustomizerShowing()
                    || algorithmState.firstViewInShelf == null;

            final int indexOfFirstViewInShelf = algorithmState.visibleChildren.indexOf(
+0 −9
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ public class AmbientState {
    private boolean mPanelFullWidth;
    private boolean mPulsing;
    private boolean mUnlockHintRunning;
    private boolean mQsCustomizerShowing;
    private int mIntrinsicPadding;
    private float mHideAmount;
    private boolean mAppearing;
@@ -503,14 +502,6 @@ public class AmbientState {
        return mUnlockHintRunning;
    }

    public boolean isQsCustomizerShowing() {
        return mQsCustomizerShowing;
    }

    public void setQsCustomizerShowing(boolean qsCustomizerShowing) {
        mQsCustomizerShowing = qsCustomizerShowing;
    }

    public void setIntrinsicPadding(int intrinsicPadding) {
        mIntrinsicPadding = intrinsicPadding;
    }
+1 −8
Original line number Diff line number Diff line
@@ -4889,12 +4889,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
        mAmbientState.setUnlockHintRunning(running);
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    public void setQsCustomizerShowing(boolean isShowing) {
        mAmbientState.setQsCustomizerShowing(isShowing);
        requestChildrenUpdate();
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    public void setHeadsUpGoingAwayAnimationsAllowed(boolean headsUpGoingAwayAnimationsAllowed) {
        mHeadsUpGoingAwayAnimationsAllowed = headsUpGoingAwayAnimationsAllowed;
@@ -4902,13 +4896,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println(String.format("[%s: pulsing=%s qsCustomizerShowing=%s visibility=%s"
        pw.println(String.format("[%s: pulsing=%s visibility=%s"
                        + " alpha=%f scrollY:%d maxTopPadding=%d showShelfOnly=%s"
                        + " qsExpandFraction=%f"
                        + " hideAmount=%f]",
                this.getClass().getSimpleName(),
                mPulsing ? "T" : "f",
                mAmbientState.isQsCustomizerShowing() ? "T" : "f",
                getVisibility() == View.VISIBLE ? "visible"
                        : getVisibility() == View.GONE ? "gone"
                                : "invisible",
+1 −0
Original line number Diff line number Diff line
@@ -1068,6 +1068,7 @@ public class NotificationPanelViewController extends PanelViewController {
        constraintSet.setMargin(R.id.notification_stack_scroller, TOP, topMargin);
        constraintSet.setMargin(R.id.qs_frame, TOP, topMargin);
        constraintSet.applyTo(mNotificationContainerParent);
        mNotificationContainerParent.setSplitShadeEnabled(mShouldUseSplitNotificationShade);

        updateKeyguardStatusViewAlignment(false /* animate */);

+15 −8
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;
import android.view.WindowInsets;
import android.widget.FrameLayout;

import androidx.constraintlayout.widget.ConstraintLayout;

@@ -31,7 +30,6 @@ import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.statusbar.notification.AboveShelfObserver;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;

import java.util.ArrayList;
import java.util.Comparator;
@@ -42,8 +40,8 @@ import java.util.Comparator;
public class NotificationsQuickSettingsContainer extends ConstraintLayout
        implements FragmentListener, AboveShelfObserver.HasViewAboveShelfChangedListener {

    private FrameLayout mQsFrame;
    private NotificationStackScrollLayout mStackScroller;
    private View mQsFrame;
    private View mStackScroller;
    private View mKeyguardStatusBar;
    private boolean mQsExpanded;
    private boolean mCustomizerAnimating;
@@ -52,10 +50,10 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout

    private int mBottomPadding;
    private int mStackScrollerMargin;
    private boolean mHasViewsAboveShelf;
    private ArrayList<View> mDrawingOrderedChildren = new ArrayList<>();
    private ArrayList<View> mLayoutDrawingOrder = new ArrayList<>();
    private final Comparator<View> mIndexComparator = Comparator.comparingInt(this::indexOfChild);
    private boolean mSplitShadeEnabled;

    public NotificationsQuickSettingsContainer(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -144,7 +142,6 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout
    public void setCustomizerShowing(boolean isShowing) {
        mCustomizing = isShowing;
        updateBottomMargin();
        mStackScroller.setQsCustomizerShowing(isShowing);
    }

    public void setDetailShowing(boolean isShowing) {
@@ -152,8 +149,19 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout
        updateBottomMargin();
    }

    /**
     * Sets if split shade is enabled and adjusts margins/paddings depending on QS details and
     * customizer state
     */
    public void setSplitShadeEnabled(boolean splitShadeEnabled) {
        mSplitShadeEnabled = splitShadeEnabled;
        // in case device was rotated while showing QS details/customizer
        updateBottomMargin();
    }

    private void updateBottomMargin() {
        if (mCustomizing || mDetailShowing) {
        // in split shade, QS state changes should not influence notifications panel
        if (!mSplitShadeEnabled && (mCustomizing || mDetailShowing)) {
            // Clear out bottom paddings/margins so the qs customization can be full height.
            setPadding(0, 0, 0, 0);
            setBottomMargin(mStackScroller, 0);
@@ -171,7 +179,6 @@ public class NotificationsQuickSettingsContainer extends ConstraintLayout

    @Override
    public void onHasViewsAboveShelfChanged(boolean hasViewsAboveShelf) {
        mHasViewsAboveShelf = hasViewsAboveShelf;
        invalidate();
    }
}
Loading