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

Commit cbd281c3 authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

Merge "6/N Remove QSCustomizer from QSPanel"

parents cec643dc ed8956f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -327,7 +327,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca


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


    @Override
    @Override
+0 −24
Original line number Original line 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.media.MediaHost;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile;
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.qs.logging.QSLogger;
import com.android.systemui.settings.ToggleSliderView;
import com.android.systemui.settings.ToggleSliderView;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
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 com.android.systemui.util.animation.DisappearParameters;


import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.List;
import java.util.function.Consumer;
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 H mHandler = new H();
    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
    private QSTileRevealController mQsTileRevealController;
    /** Whether or not the QS media player feature is enabled. */
    /** Whether or not the QS media player feature is enabled. */
    protected boolean mUsingMediaPlayer;
    protected boolean mUsingMediaPlayer;
    private int mVisualMarginStart;
    private int mVisualMarginStart;
@@ -117,7 +114,6 @@ public class QSPanel extends LinearLayout implements Tunable, BrightnessMirrorLi
    private int mVisualTilePadding;
    private int mVisualTilePadding;
    private boolean mUsingHorizontalLayout;
    private boolean mUsingHorizontalLayout;


    private QSCustomizer mCustomizePanel;
    private Record mDetailRecord;
    private Record mDetailRecord;


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


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


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


    public QSTileRevealController getQsTileRevealController() {
        return mQsTileRevealController;
    }

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

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


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

    /**
    /**
     * Links the footer's page indicator, which is used in landscape orientation to save space.
     * 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;
        return mExpanded;
    }
    }


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

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

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


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


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

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


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

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


    private int mLastOrientation;
    private int mLastOrientation;
    private QSTileRevealController mQsTileRevealController;


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


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


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


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

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


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


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


import com.android.systemui.Prefs;
import com.android.systemui.Prefs;
import com.android.systemui.plugins.qs.QSTile;
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.dagger.QSScope;


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


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


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


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

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


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


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