Loading packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +0 −24 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(), ""); } } Loading Loading @@ -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) { Loading Loading @@ -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. * * Loading Loading @@ -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 Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +3 −13 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); Loading @@ -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(); Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +17 −3 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 -> { Loading Loading @@ -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); Loading Loading @@ -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) { Loading packages/SystemUI/src/com/android/systemui/qs/QSTileRevealController.java +26 −5 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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(); Loading @@ -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) { Loading @@ -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); Loading @@ -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
packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +0 −24 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(), ""); } } Loading Loading @@ -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) { Loading Loading @@ -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. * * Loading Loading @@ -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 Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +3 −13 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); Loading @@ -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(); Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +17 −3 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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 -> { Loading Loading @@ -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); Loading Loading @@ -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) { Loading
packages/SystemUI/src/com/android/systemui/qs/QSTileRevealController.java +26 −5 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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(); Loading @@ -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) { Loading @@ -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); Loading @@ -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); } } } }