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

Commit 6853f102 authored by Alex Florescu's avatar Alex Florescu Committed by Automerger Merge Worker
Browse files

Merge "Don't use horizontal layout for quicksettings when using 2-column...

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

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ieef3c1015d69cdf503cce1e493126789845b7c41
parents 356dcab5 9c1e7dc7
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