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

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

Merge "Fixing bottom part of QS not getting any touches in split shade" into...

Merge "Fixing bottom part of QS not getting any touches in split shade" into sc-v2-dev am: 3b59f276

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

Change-Id: Idb142fa270c729e59181795b024204155e0fb792
parents dade6f25 3b59f276
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ package com.android.systemui.plugins.qs;

import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;

import com.android.systemui.plugins.FragmentBase;
import com.android.systemui.plugins.annotations.DependsOn;
@@ -56,7 +55,7 @@ public interface QS extends FragmentBase {
    void setQsExpansion(float qsExpansionFraction, float headerTranslation);
    void setHeaderListening(boolean listening);
    void notifyCustomizeChanged();
    void setContainer(ViewGroup container);
    void setContainerController(QSContainerController controller);
    void setExpandClickListener(OnClickListener onClickListener);

    View getHeader();
+9 −0
Original line number Diff line number Diff line
package com.android.systemui.plugins.qs

interface QSContainerController {
    fun setCustomizerAnimating(animating: Boolean)

    fun setCustomizerShowing(showing: Boolean)

    fun setDetailShowing(showing: Boolean)
}
 No newline at end of file
+4 −17
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.graphics.Point;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.View;
import android.view.WindowInsets;
import android.widget.FrameLayout;
import android.widget.ImageView;

@@ -54,7 +53,6 @@ public class QSContainerImpl extends FrameLayout {
    private int mSideMargins;
    private boolean mQsDisabled;
    private int mContentPadding = -1;
    private int mNavBarInset = 0;
    private boolean mClippingEnabled;

    public QSContainerImpl(Context context, AttributeSet attrs) {
@@ -90,25 +88,14 @@ public class QSContainerImpl extends FrameLayout {
        return true;
    }

    @Override
    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
        mNavBarInset = insets.getInsets(WindowInsets.Type.navigationBars()).bottom;
        mQSPanelContainer.setPaddingRelative(
                mQSPanelContainer.getPaddingStart(),
                mQSPanelContainer.getPaddingTop(),
                mQSPanelContainer.getPaddingEnd(),
                mNavBarInset
        );
        return super.onApplyWindowInsets(insets);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // QSPanel will show as many rows as it can (up to TileLayout.MAX_ROWS) such that the
        // bottom and footer are inside the screen.
        MarginLayoutParams layoutParams = (MarginLayoutParams) mQSPanelContainer.getLayoutParams();

        int maxQs = getDisplayHeight() - layoutParams.topMargin - layoutParams.bottomMargin
        int availableHeight = View.MeasureSpec.getSize(heightMeasureSpec);
        int maxQs = availableHeight - layoutParams.topMargin - layoutParams.bottomMargin
                - getPaddingBottom();
        int padding = mPaddingLeft + mPaddingRight + layoutParams.leftMargin
                + layoutParams.rightMargin;
@@ -118,11 +105,11 @@ public class QSContainerImpl extends FrameLayout {
                MeasureSpec.makeMeasureSpec(maxQs, MeasureSpec.AT_MOST));
        int width = mQSPanelContainer.getMeasuredWidth() + padding;
        super.onMeasure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
                MeasureSpec.makeMeasureSpec(getDisplayHeight(), MeasureSpec.EXACTLY));
                MeasureSpec.makeMeasureSpec(availableHeight, MeasureSpec.EXACTLY));
        // QSCustomizer will always be the height of the screen, but do this after
        // other measuring to avoid changing the height of the QS.
        mQSCustomizer.measure(widthMeasureSpec,
                MeasureSpec.makeMeasureSpec(getDisplayHeight(), MeasureSpec.EXACTLY));
                MeasureSpec.makeMeasureSpec(availableHeight, MeasureSpec.EXACTLY));
    }

    @Override
+6 −6
Original line number Diff line number Diff line
@@ -46,8 +46,8 @@ import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSContainerController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;

public class QSDetail extends LinearLayout {

@@ -86,7 +86,7 @@ public class QSDetail extends LinearLayout {
    private boolean mSwitchState;
    private QSFooter mFooter;

    private NotificationsQuickSettingsContainer mContainer;
    private QSContainerController mQsContainerController;

    public QSDetail(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
@@ -120,8 +120,8 @@ public class QSDetail extends LinearLayout {
        mClipper = new QSDetailClipper(this);
    }

    public void setContainer(NotificationsQuickSettingsContainer container) {
        mContainer = container;
    public void setContainerController(QSContainerController controller) {
        mQsContainerController = controller;
    }

    /** */
@@ -262,8 +262,8 @@ public class QSDetail extends LinearLayout {
        }
        sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
        animateDetailVisibleDiff(x, y, visibleDiff, listener);
        if (mContainer != null) {
            mContainer.setDetailShowing(showingDetail);
        if (mQsContainerController != null) {
            mQsContainerController.setDetailShowing(showingDetail);
        }
    }

+4 −6
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import com.android.systemui.animation.Interpolators;
import com.android.systemui.media.MediaHost;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.plugins.qs.QSContainerController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSFragmentComponent;
@@ -49,7 +50,6 @@ import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.NotificationsQuickSettingsContainer;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
import com.android.systemui.util.InjectionInflationController;
@@ -330,11 +330,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
    }

    @Override
    public void setContainer(ViewGroup container) {
        if (container instanceof NotificationsQuickSettingsContainer) {
            mQSCustomizerController.setContainer((NotificationsQuickSettingsContainer) container);
            mQSDetail.setContainer((NotificationsQuickSettingsContainer) container);
        }
    public void setContainerController(QSContainerController controller) {
        mQSCustomizerController.setContainerController(controller);
        mQSDetail.setContainerController(controller);
    }

    @Override
Loading