Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +4 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +20 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading @@ -107,6 +117,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mUiEventLogger = uiEventLogger; mQSLogger = qsLogger; mDumpManager = dumpManager; mFeatureFlags = featureFlags; } @Override Loading Loading @@ -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; Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +2 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading packages/SystemUI/src/com/android/systemui/util/Utils.java +14 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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
packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +4 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +20 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading @@ -107,6 +117,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mUiEventLogger = uiEventLogger; mQSLogger = qsLogger; mDumpManager = dumpManager; mFeatureFlags = featureFlags; } @Override Loading Loading @@ -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; Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanelController.java +5 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +2 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading
packages/SystemUI/src/com/android/systemui/util/Utils.java +14 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } }