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

Commit ed8956f0 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

6/N Remove QSCustomizer from QSPanel

Bug: 168904199
Test: atest SystemUITests && manual
Change-Id: I21433fa7e885628ae5566660b3a3cee4ba0ea92a
parent bad683f1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -327,7 +327,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca

    @Override
    public boolean isShowingDetail() {
        return mQSPanelController.isShowingCustomize() || mQSDetail.isShowingDetail();
        return mQSCustomizerController.isCustomizing() || mQSDetail.isShowingDetail();
    }

    @Override
+0 −24
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.media.MediaHost;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizer;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.ToggleSliderView;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
@@ -56,7 +55,6 @@ import com.android.systemui.tuner.TunerService.Tunable;
import com.android.systemui.util.animation.DisappearParameters;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Consumer;

@@ -84,7 +82,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi

    private final H mHandler = new H();
    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
    private QSTileRevealController mQsTileRevealController;
    /** Whether or not the QS media player feature is enabled. */
    protected boolean mUsingMediaPlayer;
    private int mVisualMarginStart;
@@ -117,7 +114,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi
    private int mVisualTilePadding;
    private boolean mUsingHorizontalLayout;

    private QSCustomizer mCustomizePanel;
    private Record mDetailRecord;

    private BrightnessMirrorController mBrightnessMirrorController;
@@ -186,10 +182,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi

            initMediaHostState();
        }
        if (mRegularTileLayout instanceof PagedTileLayout) {
            mQsTileRevealController = new QSTileRevealController(mContext, this,
                    (PagedTileLayout) mRegularTileLayout);
        }
        mQSLogger.logAllTilesChangeListening(mListening, getDumpableTag(), "");
    }

@@ -297,14 +289,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi
        setMeasuredDimension(getMeasuredWidth(), height);
    }

    public QSTileRevealController getQsTileRevealController() {
        return mQsTileRevealController;
    }

    public boolean isShowingCustomize() {
        return mCustomizePanel != null && mCustomizePanel.isCustomizing();
    }

    @Override
    protected void onDetachedFromWindow() {
        if (mTileLayout != null) {
@@ -362,10 +346,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi
        mCallback = callback;
    }

    void setCustomizer(QSCustomizer customizer) {
        mCustomizePanel = customizer;
    }

    /**
     * Links the footer's page indicator, which is used in landscape orientation to save space.
     *
@@ -678,10 +658,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi
        return mExpanded;
    }

    void updateRevealedTiles(Collection<QSTile> tiles) {
        mQsTileRevealController.updateRevealedTiles(tiles);
    }

    void addTile(QSPanelControllerBase.TileRecord tileRecord) {
        final QSTile.Callback callback = new QSTile.Callback() {
            @Override
+3 −13
Original line number Diff line number Diff line
@@ -63,17 +63,17 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    @Inject
    QSPanelController(QSPanel view, QSSecurityFooter qsSecurityFooter, TunerService tunerService,
            QSTileHost qstileHost, QSCustomizerController qsCustomizerController,
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            BrightnessController.Factory brightnessControllerFactory) {
        super(view, qstileHost, qsCustomizerController, metricsLogger, uiEventLogger, dumpManager);
        super(view, qstileHost, qsCustomizerController, qsTileRevealControllerFactory,
                metricsLogger, uiEventLogger, dumpManager);
        mQsSecurityFooter = qsSecurityFooter;
        mTunerService = tunerService;
        mQsCustomizerController = qsCustomizerController;
        mQsSecurityFooter.setHostEnvironment(qstileHost);
        mBrightnessController = brightnessControllerFactory.create(
                mView.findViewById(R.id.brightness_slider));

        mView.setCustomizer(mQsCustomizerController.getView());
    }

    @Override
@@ -123,11 +123,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        return mView.getTileLayout();
    }

    /** */
    public boolean isShowingCustomize() {
        return mView.isShowingCustomize();
    }

    /** */
    public void setVisibility(int visibility) {
        mView.setVisibility(visibility);
@@ -151,11 +146,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        }
    }

    /** */
    public QSTileRevealController getQsTileRevealController() {
        return mView.getQsTileRevealController();
    }

    /** */
    public MediaHost getMediaHost() {
        return mView.getMediaHost();
+17 −3
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        implements Dumpable{
    protected final QSTileHost mHost;
    private final QSCustomizerController mQsCustomizerController;
    private final QSTileRevealController.Factory mQsTileRevealControllerFactory;
    private final MediaHost mMediaHost;
    private final MetricsLogger mMetricsLogger;
    private final UiEventLogger mUiEventLogger;
@@ -55,6 +56,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    protected final ArrayList<TileRecord> mRecords = new ArrayList<>();

    private int mLastOrientation;
    private QSTileRevealController mQsTileRevealController;

    private final QSHost.Callback mQSHostCallback = this::setTiles;

@@ -71,11 +73,13 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    private String mCachedSpecs = "";

    protected QSPanelControllerBase(T view, QSTileHost host,
            QSCustomizerController qsCustomizerController, MetricsLogger metricsLogger,
            UiEventLogger uiEventLogger, DumpManager dumpManager) {
            QSCustomizerController qsCustomizerController,
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) {
        super(view);
        mHost = host;
        mQsCustomizerController = qsCustomizerController;
        mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
        mMediaHost = mView.getMediaHost();
        mMetricsLogger = metricsLogger;
        mUiEventLogger = uiEventLogger;
@@ -84,6 +88,12 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr

    @Override
    protected void onViewAttached() {
        QSPanel.QSTileLayout regularTileLayout = mView.createRegularTileLayout();
        if (regularTileLayout instanceof PagedTileLayout) {
            mQsTileRevealController = mQsTileRevealControllerFactory.create(
                    (PagedTileLayout) regularTileLayout);
        }

        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
        mHost.addCallback(mQSHostCallback);
        mMediaHost.addVisibilityChangeListener(aBoolean -> {
@@ -115,7 +125,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    /** */
    public void setTiles(Collection<QSTile> tiles, boolean collapsedView) {
        if (!collapsedView) {
            mView.updateRevealedTiles(tiles);
            mQsTileRevealController.updateRevealedTiles(tiles);
        }
        for (QSPanelControllerBase.TileRecord record : mRecords) {
            mView.removeTile(record);
@@ -236,6 +246,10 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        }
    }

    /** */
    public QSTileRevealController getQsTileRevealController() {
        return mQsTileRevealController;
    }

    @Override
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+26 −5
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ import android.util.ArraySet;

import com.android.systemui.Prefs;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSScope;

import java.util.Collection;
@@ -17,13 +18,13 @@ import java.util.Set;
import javax.inject.Inject;

/** */
@QSScope
public class QSTileRevealController {
    private static final long QS_REVEAL_TILES_DELAY = 500L;

    private final Context mContext;
    private final QSPanel mQSPanel;
    private final PagedTileLayout mPagedTileLayout;
    private final QSCustomizerController mQsCustomizerController;
    private final ArraySet<String> mTilesToReveal = new ArraySet<>();
    private final Handler mHandler = new Handler();

@@ -38,12 +39,12 @@ public class QSTileRevealController {
            });
        }
    };

    @Inject
    QSTileRevealController(Context context, QSPanel qsPanel, PagedTileLayout pagedTileLayout) {
    QSTileRevealController(Context context, QSPanel qsPanel, PagedTileLayout pagedTileLayout,
            QSCustomizerController qsCustomizerController) {
        mContext = context;
        mQSPanel = qsPanel;
        mPagedTileLayout = pagedTileLayout;
        mQsCustomizerController = qsCustomizerController;
    }

    public void setExpansion(float expansion) {
@@ -62,7 +63,7 @@ public class QSTileRevealController {

        final Set<String> revealedTiles = Prefs.getStringSet(
                mContext, QS_TILE_SPECS_REVEALED, Collections.EMPTY_SET);
        if (revealedTiles.isEmpty() || mQSPanel.isShowingCustomize()) {
        if (revealedTiles.isEmpty() || mQsCustomizerController.isCustomizing()) {
            // Do not reveal QS tiles the user has upon first load or those that they directly
            // added through customization.
            addTileSpecsToRevealed(tileSpecs);
@@ -79,4 +80,24 @@ public class QSTileRevealController {
        revealedTiles.addAll(specs);
        Prefs.putStringSet(mContext, QS_TILE_SPECS_REVEALED, revealedTiles);
    }

    /** TODO(b/168904199): Remove this once QSPanel has its rejection removed. */
    @QSScope
    static class Factory {
        private final Context mContext;
        private final QSPanel mQsPanel;
        private final QSCustomizerController mQsCustomizerController;

        @Inject
        Factory(Context context, QSPanel qsPanel, QSCustomizerController qsCustomizerController) {
            mContext = context;
            mQsPanel = qsPanel;
            mQsCustomizerController = qsCustomizerController;
        }

        QSTileRevealController create(PagedTileLayout pagedTileLayout) {
            return new QSTileRevealController(mContext, mQsPanel, pagedTileLayout,
                    mQsCustomizerController);
        }
    }
}
Loading