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

Commit 9c1e7dc7 authored by Alex Florescu's avatar Alex Florescu Committed by Android (Google) Code Review
Browse files

Merge "Don't use horizontal layout for quicksettings when using 2-column shade" into sc-dev

parents 02981fe4 bc24cc59
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessSlider;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService;

@@ -92,9 +93,10 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
            BrightnessSlider.Factory brightnessSliderFactory,
            @Named(QS_LABELS_FLAG) boolean qsLabelsFlag) {
            @Named(QS_LABELS_FLAG) boolean qsLabelsFlag,
            FeatureFlags featureFlags) {
        super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
                metricsLogger, uiEventLogger, qsLogger, dumpManager);
                metricsLogger, uiEventLogger, qsLogger, dumpManager, featureFlags);
        mQsSecurityFooter = qsSecurityFooter;
        mTunerService = tunerService;
        mQsCustomizerController = qsCustomizerController;
+20 −6
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ import com.android.systemui.plugins.qs.QSTileView;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.external.CustomTile;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.util.Utils;
import com.android.systemui.util.ViewController;
import com.android.systemui.util.animation.DisappearParameters;

@@ -63,6 +65,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    private final UiEventLogger mUiEventLogger;
    private final QSLogger mQSLogger;
    private final DumpManager mDumpManager;
    private final FeatureFlags mFeatureFlags;
    protected final ArrayList<TileRecord> mRecords = new ArrayList<>();

    private int mLastOrientation;
@@ -93,11 +96,18 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr

    private boolean mUsingHorizontalLayout;

    protected QSPanelControllerBase(T view, QSTileHost host,
    protected QSPanelControllerBase(
            T view,
            QSTileHost host,
            QSCustomizerController qsCustomizerController,
            @Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer, MediaHost mediaHost,
            MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
            DumpManager dumpManager) {
            @Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
            MediaHost mediaHost,
            MetricsLogger metricsLogger,
            UiEventLogger uiEventLogger,
            QSLogger qsLogger,
            DumpManager dumpManager,
            FeatureFlags featureFlags
    ) {
        super(view);
        mHost = host;
        mQsCustomizerController = qsCustomizerController;
@@ -107,6 +117,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        mUiEventLogger = uiEventLogger;
        mQSLogger = qsLogger;
        mDumpManager = dumpManager;
        mFeatureFlags = featureFlags;
    }

    @Override
@@ -334,6 +345,9 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    }

    boolean shouldUseHorizontalLayout() {
        if (Utils.shouldUseSplitNotificationShade(mFeatureFlags, getResources()))  {
            return false;
        }
        return mUsingMediaPlayer && mMediaHost.getVisible()
                    && getResources().getConfiguration().orientation
                    == Configuration.ORIENTATION_LANDSCAPE;
+5 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.statusbar.FeatureFlags;

import java.util.ArrayList;
import java.util.List;
@@ -57,9 +58,11 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
            @Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
            @Named(QUICK_QS_PANEL) MediaHost mediaHost,
            MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
            DumpManager dumpManager, @Named(QS_LABELS_FLAG) boolean qsLabelsFlag) {
            DumpManager dumpManager, @Named(QS_LABELS_FLAG) boolean qsLabelsFlag,
            FeatureFlags featureFlags
    ) {
        super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
                uiEventLogger, qsLogger, dumpManager);
                uiEventLogger, qsLogger, dumpManager, featureFlags);
        mUseSideLabels = qsLabelsFlag;
    }

+2 −6
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.util.Utils;
import com.android.wm.shell.animation.FlingAnimationUtils;

import java.io.FileDescriptor;
@@ -783,18 +784,13 @@ public class NotificationPanelViewController extends PanelViewController {
            mNotificationStackScrollLayoutController.setLayoutParams(lp);
        }

        if (shouldUseSplitNotificationShade()) {
        if (Utils.shouldUseSplitNotificationShade(mFeatureFlags, mResources)) {
            // In order to change the constraints at runtime, all children of the Constraint Layout
            // must have ids.
            ensureAllViewsHaveIds(mNotificationContainerParent);
        }
    }

    private boolean shouldUseSplitNotificationShade() {
        return mFeatureFlags.isTwoColumnNotificationShadeEnabled()
                && mResources.getBoolean(R.bool.config_use_split_notification_shade);
    }

    private static void ensureAllViewsHaveIds(ViewGroup parentView) {
        for (int i = 0; i < parentView.getChildCount(); i++) {
            View childView = parentView.getChildAt(i);
+14 −0
Original line number Diff line number Diff line
@@ -20,12 +20,15 @@ import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;

import com.android.systemui.R;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.FeatureFlags;

import java.util.HashSet;
import java.util.List;
@@ -163,4 +166,15 @@ public class Utils {
        }
        return apps;
    }

    /**
     * Returns true if the device should use the split notification shade, based on feature flags,
     * orientation and screen width.
     */
    public static boolean shouldUseSplitNotificationShade(FeatureFlags featureFlags,
            Resources resources) {
        return featureFlags.isTwoColumnNotificationShadeEnabled()
                && resources.getBoolean(R.bool.config_use_split_notification_shade);
    }

}
Loading