Merge "7/N Inject media hosts directly."
This commit is contained in:
@@ -16,6 +16,9 @@ package com.android.systemui.qs;
|
||||
|
||||
import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
|
||||
|
||||
import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
|
||||
import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.content.res.Configuration;
|
||||
@@ -50,6 +53,7 @@ import com.android.systemui.util.LifecycleFragment;
|
||||
import com.android.systemui.util.Utils;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Callbacks,
|
||||
StatusBarStateController.StateListener {
|
||||
@@ -82,6 +86,8 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
private final InjectionInflationController mInjectionInflater;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final QSDetailDisplayer mQsDetailDisplayer;
|
||||
private final MediaHost mQsMediaHost;
|
||||
private final MediaHost mQqsMediaHost;
|
||||
private final QSFragmentComponent.Factory mQsComponentFactory;
|
||||
private final QSTileHost mHost;
|
||||
private boolean mShowCollapsedOnKeyguard;
|
||||
@@ -104,12 +110,15 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
public QSFragment(RemoteInputQuickSettingsDisabler remoteInputQsDisabler,
|
||||
InjectionInflationController injectionInflater, QSTileHost qsTileHost,
|
||||
StatusBarStateController statusBarStateController, CommandQueue commandQueue,
|
||||
QSDetailDisplayer qsDetailDisplayer,
|
||||
QSDetailDisplayer qsDetailDisplayer, @Named(QS_PANEL) MediaHost qsMediaHost,
|
||||
@Named(QUICK_QS_PANEL) MediaHost qqsMediaHost,
|
||||
QSFragmentComponent.Factory qsComponentFactory) {
|
||||
mRemoteInputQuickSettingsDisabler = remoteInputQsDisabler;
|
||||
mInjectionInflater = injectionInflater;
|
||||
mCommandQueue = commandQueue;
|
||||
mQsDetailDisplayer = qsDetailDisplayer;
|
||||
mQsMediaHost = qsMediaHost;
|
||||
mQqsMediaHost = qqsMediaHost;
|
||||
mQsComponentFactory = qsComponentFactory;
|
||||
commandQueue.observe(getLifecycle(), this);
|
||||
mHost = qsTileHost;
|
||||
@@ -454,11 +463,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
float expandedMediaPosition = absoluteBottomPosition - mQSPanelScrollView.getScrollY()
|
||||
+ mQSPanelScrollView.getScrollRange();
|
||||
// The expanded media host should never move below the laid out position
|
||||
pinToBottom(
|
||||
expandedMediaPosition, mQSPanelController.getMediaHost(), true /* expanded */);
|
||||
pinToBottom(expandedMediaPosition, mQsMediaHost, true /* expanded */);
|
||||
// The expanded media host should never move above the laid out position
|
||||
pinToBottom(absoluteBottomPosition, mHeader.getHeaderQsPanel().getMediaHost(),
|
||||
false /* expanded */);
|
||||
pinToBottom(absoluteBottomPosition, mQqsMediaHost, false /* expanded */);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -550,6 +550,7 @@ public class QSPanel extends LinearLayout implements Tunable {
|
||||
}
|
||||
boolean horizontal = shouldUseHorizontalLayout();
|
||||
ViewGroup host = mMediaHost.getHostView();
|
||||
|
||||
ViewGroup newParent = horizontal ? mHorizontalLinearLayout : this;
|
||||
ViewGroup currentParent = (ViewGroup) host.getParent();
|
||||
if (currentParent != newParent) {
|
||||
@@ -865,10 +866,6 @@ public class QSPanel extends LinearLayout implements Tunable {
|
||||
}
|
||||
}
|
||||
|
||||
public MediaHost getMediaHost() {
|
||||
return mMediaHost;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the header container of quick settings.
|
||||
*/
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.qs;
|
||||
|
||||
import static com.android.systemui.media.dagger.MediaModule.QS_PANEL;
|
||||
import static com.android.systemui.qs.QSPanel.QS_SHOW_BRIGHTNESS;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
@@ -40,6 +41,7 @@ import com.android.systemui.tuner.TunerService;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
/**
|
||||
* Controller for {@link QSPanel}.
|
||||
@@ -74,11 +76,13 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
@Inject
|
||||
QSPanelController(QSPanel view, QSSecurityFooter qsSecurityFooter, TunerService tunerService,
|
||||
QSTileHost qstileHost, QSCustomizerController qsCustomizerController,
|
||||
@Named(QS_PANEL) MediaHost mediaHost,
|
||||
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
||||
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
||||
BrightnessController.Factory brightnessControllerFactory,
|
||||
BrightnessSlider.Factory brightnessSliderFactory) {
|
||||
super(view, qstileHost, qsCustomizerController, metricsLogger, uiEventLogger, dumpManager);
|
||||
super(view, qstileHost, qsCustomizerController, mediaHost, metricsLogger, uiEventLogger,
|
||||
dumpManager);
|
||||
mQsSecurityFooter = qsSecurityFooter;
|
||||
mTunerService = tunerService;
|
||||
mQsCustomizerController = qsCustomizerController;
|
||||
@@ -94,6 +98,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
|
||||
@Override
|
||||
public void onInit() {
|
||||
super.init();
|
||||
mQsCustomizerController.init();
|
||||
mBrightnessSlider.init();
|
||||
}
|
||||
@@ -165,11 +170,6 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
public MediaHost getMediaHost() {
|
||||
return mView.getMediaHost();
|
||||
}
|
||||
|
||||
/** */
|
||||
public void setBrightnessMirror(BrightnessMirrorController brightnessMirrorController) {
|
||||
mBrightnessMirrorController = brightnessMirrorController;
|
||||
|
||||
@@ -73,12 +73,12 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
};
|
||||
|
||||
protected QSPanelControllerBase(T view, QSTileHost host,
|
||||
QSCustomizerController qsCustomizerController,
|
||||
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) {
|
||||
super(view);
|
||||
mHost = host;
|
||||
mQsCustomizerController = qsCustomizerController;
|
||||
mMediaHost = mView.getMediaHost();
|
||||
mMediaHost = mediaHost;
|
||||
mMetricsLogger = metricsLogger;
|
||||
mUiEventLogger = uiEventLogger;
|
||||
mDumpManager = dumpManager;
|
||||
@@ -193,7 +193,6 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
.collect(Collectors.joining(","));
|
||||
}
|
||||
|
||||
|
||||
/** */
|
||||
public void setExpanded(boolean expanded) {
|
||||
mView.setExpanded(expanded);
|
||||
@@ -235,7 +234,6 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
||||
boolean switchTileLayout(boolean force) {
|
||||
if (mView.switchTileLayout(force, mRecords)) {
|
||||
setTiles();
|
||||
mView.reSetLayoutListening();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -16,10 +16,13 @@
|
||||
|
||||
package com.android.systemui.qs;
|
||||
|
||||
import static com.android.systemui.media.dagger.MediaModule.QUICK_QS_PANEL;
|
||||
|
||||
import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.media.MediaHost;
|
||||
import com.android.systemui.plugins.qs.QSTile;
|
||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||
import com.android.systemui.qs.dagger.QSScope;
|
||||
@@ -28,6 +31,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
/** Controller for {@link QuickQSPanel}. */
|
||||
@QSScope
|
||||
@@ -46,9 +50,11 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
|
||||
@Inject
|
||||
QuickQSPanelController(QuickQSPanel view, QSTileHost qsTileHost,
|
||||
QSCustomizerController qsCustomizerController,
|
||||
@Named(QUICK_QS_PANEL) MediaHost mediaHost,
|
||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
||||
DumpManager dumpManager) {
|
||||
super(view, qsTileHost, qsCustomizerController, metricsLogger, uiEventLogger, dumpManager);
|
||||
super(view, qsTileHost, qsCustomizerController, mediaHost, metricsLogger, uiEventLogger,
|
||||
dumpManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -469,6 +469,7 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
return mLifecycle;
|
||||
}
|
||||
|
||||
/** */
|
||||
public void setContentMargins(int marginStart, int marginEnd) {
|
||||
mContentMarginStart = marginStart;
|
||||
mContentMarginEnd = marginEnd;
|
||||
|
||||
@@ -366,7 +366,6 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mZenModeController.getConsolidatedPolicy());
|
||||
}
|
||||
|
||||
|
||||
private static class ClockDemoModeReceiver implements DemoMode {
|
||||
private Clock mClockView;
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.android.systemui.SystemUIFactory;
|
||||
import com.android.systemui.SysuiBaseFragmentTest;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
import com.android.systemui.dump.DumpManager;
|
||||
import com.android.systemui.media.MediaHost;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
||||
import com.android.systemui.qs.logging.QSLogger;
|
||||
@@ -82,6 +83,10 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
private QSFragmentComponent mQsFragmentComponent;
|
||||
@Mock
|
||||
private QSPanelController mQSPanelController;
|
||||
@Mock
|
||||
private MediaHost mQSMediaHost;
|
||||
@Mock
|
||||
private MediaHost mQQSMediaHost;
|
||||
|
||||
public QSFragmentTest() {
|
||||
super(QSFragment.class);
|
||||
@@ -168,6 +173,8 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
mock(StatusBarStateController.class),
|
||||
commandQueue,
|
||||
new QSDetailDisplayer(),
|
||||
mQSMediaHost,
|
||||
mQQSMediaHost,
|
||||
mQsComponentFactory);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,9 +88,10 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
/** Implementation needed to ensure we have a reflectively-available class name. */
|
||||
private class TestableQSPanelControllerBase extends QSPanelControllerBase<QSPanel> {
|
||||
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
||||
QSCustomizerController qsCustomizerController, MetricsLogger metricsLogger,
|
||||
UiEventLogger uiEventLogger, DumpManager dumpManager) {
|
||||
super(view, host, qsCustomizerController, metricsLogger, uiEventLogger, dumpManager);
|
||||
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) {
|
||||
super(view, host, qsCustomizerController, mediaHost,
|
||||
metricsLogger, uiEventLogger, dumpManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -103,7 +104,6 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
public void setup() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
when(mQSPanel.getMediaHost()).thenReturn(mMediaHost);
|
||||
when(mQSPanel.isAttachedToWindow()).thenReturn(true);
|
||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanel");
|
||||
when(mQSPanel.openPanelEvent()).thenReturn(QSEvent.QS_PANEL_EXPANDED);
|
||||
@@ -115,8 +115,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
.thenReturn(mQSTileRevealController);
|
||||
|
||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||
mQSCustomizerController, mMetricsLogger,
|
||||
mUiEventLogger, mDumpManager);
|
||||
mQSCustomizerController, mMediaHost, mMetricsLogger, mUiEventLogger, mDumpManager);
|
||||
|
||||
mController.init();
|
||||
reset(mQSTileRevealController);
|
||||
@@ -127,8 +126,8 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
||||
mController.onViewDetached();
|
||||
|
||||
QSPanelControllerBase<QSPanel> controller = new QSPanelControllerBase<QSPanel>(
|
||||
mQSPanel, mQSTileHost, mQSCustomizerController, mMetricsLogger, mUiEventLogger,
|
||||
mDumpManager) {
|
||||
mQSPanel, mQSTileHost, mQSCustomizerController, mMediaHost, mMetricsLogger,
|
||||
mUiEventLogger, mDumpManager) {
|
||||
@Override
|
||||
protected QSTileRevealController createTileRevealController() {
|
||||
return mQSTileRevealController;
|
||||
|
||||
@@ -41,6 +41,7 @@ import com.android.systemui.settings.brightness.BrightnessController;
|
||||
import com.android.systemui.settings.brightness.BrightnessSlider;
|
||||
import com.android.systemui.settings.brightness.ToggleSlider;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.util.animation.DisappearParameters;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -97,7 +98,6 @@ public class QSPanelControllerTest extends SysuiTestCase {
|
||||
public void setup() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
|
||||
when(mQSPanel.getMediaHost()).thenReturn(mMediaHost);
|
||||
when(mQSPanel.isAttachedToWindow()).thenReturn(true);
|
||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanel");
|
||||
when(mQSPanel.createRegularTileLayout()).thenReturn(mPagedTileLayout);
|
||||
@@ -109,10 +109,11 @@ public class QSPanelControllerTest extends SysuiTestCase {
|
||||
.thenReturn(mBrightnessController);
|
||||
when(mQSTileRevealControllerFactory.create(any(), any()))
|
||||
.thenReturn(mQSTileRevealController);
|
||||
when(mMediaHost.getDisappearParameters()).thenReturn(new DisappearParameters());
|
||||
|
||||
mController = new QSPanelController(mQSPanel, mQSSecurityFooter, mTunerService,
|
||||
mQSTileHost, mQSCustomizerController, mQSTileRevealControllerFactory, mDumpManager,
|
||||
mMetricsLogger, mUiEventLogger, mBrightnessControllerFactory,
|
||||
mQSTileHost, mQSCustomizerController, mMediaHost, mQSTileRevealControllerFactory,
|
||||
mDumpManager, mMetricsLogger, mUiEventLogger, mBrightnessControllerFactory,
|
||||
mToggleSliderViewControllerFactory);
|
||||
|
||||
mController.init();
|
||||
|
||||
Reference in New Issue
Block a user