Merge "Make UMO squishy in split shade" into tm-qpr-dev am: 102c1454fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19761136 Change-Id: I951de5e6e31c3c04821893d9b93243ac9f492514 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -148,6 +148,32 @@ class MediaCarouselController @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val SQUISHINESS_SCALE_START = 0.5
|
||||||
|
private const val SQUISHINESS_SCALE_FACTOR = 0.5
|
||||||
|
private fun getSquishinessScale(squishinessFraction: Float): Double {
|
||||||
|
return SQUISHINESS_SCALE_START + SQUISHINESS_SCALE_FACTOR * squishinessFraction
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var squishinessFraction: Float = 1f
|
||||||
|
set(value) {
|
||||||
|
if (field == value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
field = value
|
||||||
|
|
||||||
|
val scale = getSquishinessScale(field)
|
||||||
|
for (mediaPlayer in MediaPlayerData.players()) {
|
||||||
|
mediaPlayer.mediaViewHolder?.let {
|
||||||
|
it.player.bottom = it.player.top + (scale * it.player.measuredHeight).toInt()
|
||||||
|
} ?: mediaPlayer.recommendationViewHolder?.let {
|
||||||
|
it.recommendations.bottom = it.recommendations.top +
|
||||||
|
(scale * it.recommendations.measuredHeight).toInt()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
private val configListener = object : ConfigurationController.ConfigurationListener {
|
private val configListener = object : ConfigurationController.ConfigurationListener {
|
||||||
override fun onDensityOrFontScaleChanged() {
|
override fun onDensityOrFontScaleChanged() {
|
||||||
// System font changes should only happen when UMO is offscreen or a flicker may occur
|
// System font changes should only happen when UMO is offscreen or a flicker may occur
|
||||||
@@ -1076,4 +1102,4 @@ internal object MediaPlayerData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun isSsReactivated(key: String): Boolean = mediaData.get(key)?.isSsReactivated ?: false
|
fun isSsReactivated(key: String): Boolean = mediaData.get(key)?.isSsReactivated ?: false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import android.view.View;
|
|||||||
import com.android.internal.logging.MetricsLogger;
|
import com.android.internal.logging.MetricsLogger;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
|
import com.android.systemui.media.MediaCarouselController;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.MediaHost;
|
||||||
import com.android.systemui.media.MediaHostState;
|
import com.android.systemui.media.MediaHostState;
|
||||||
@@ -87,13 +88,14 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
|
|||||||
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
@Named(QS_USING_MEDIA_PLAYER) boolean usingMediaPlayer,
|
||||||
@Named(QS_PANEL) MediaHost mediaHost,
|
@Named(QS_PANEL) MediaHost mediaHost,
|
||||||
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
QSTileRevealController.Factory qsTileRevealControllerFactory,
|
||||||
DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
DumpManager dumpManager, MediaCarouselController mediaCarouselController,
|
||||||
|
MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
|
||||||
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
|
QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
|
||||||
BrightnessSliderController.Factory brightnessSliderFactory,
|
BrightnessSliderController.Factory brightnessSliderFactory,
|
||||||
FalsingManager falsingManager,
|
FalsingManager falsingManager,
|
||||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
||||||
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
|
||||||
metricsLogger, uiEventLogger, qsLogger, dumpManager);
|
metricsLogger, uiEventLogger, qsLogger, dumpManager, mediaCarouselController);
|
||||||
mTunerService = tunerService;
|
mTunerService = tunerService;
|
||||||
mQsCustomizerController = qsCustomizerController;
|
mQsCustomizerController = qsCustomizerController;
|
||||||
mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
|
mQsTileRevealControllerFactory = qsTileRevealControllerFactory;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
|
import com.android.systemui.media.MediaCarouselController;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.MediaHost;
|
||||||
import com.android.systemui.plugins.qs.QSTile;
|
import com.android.systemui.plugins.qs.QSTile;
|
||||||
import com.android.systemui.plugins.qs.QSTileView;
|
import com.android.systemui.plugins.qs.QSTileView;
|
||||||
@@ -68,6 +69,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
private final UiEventLogger mUiEventLogger;
|
private final UiEventLogger mUiEventLogger;
|
||||||
private final QSLogger mQSLogger;
|
private final QSLogger mQSLogger;
|
||||||
private final DumpManager mDumpManager;
|
private final DumpManager mDumpManager;
|
||||||
|
private final MediaCarouselController mMediaCarouselController;
|
||||||
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
protected final ArrayList<TileRecord> mRecords = new ArrayList<>();
|
||||||
protected boolean mShouldUseSplitNotificationShade;
|
protected boolean mShouldUseSplitNotificationShade;
|
||||||
|
|
||||||
@@ -122,7 +124,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
MetricsLogger metricsLogger,
|
MetricsLogger metricsLogger,
|
||||||
UiEventLogger uiEventLogger,
|
UiEventLogger uiEventLogger,
|
||||||
QSLogger qsLogger,
|
QSLogger qsLogger,
|
||||||
DumpManager dumpManager
|
DumpManager dumpManager,
|
||||||
|
MediaCarouselController mediaCarouselController
|
||||||
) {
|
) {
|
||||||
super(view);
|
super(view);
|
||||||
mHost = host;
|
mHost = host;
|
||||||
@@ -135,6 +138,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
mDumpManager = dumpManager;
|
mDumpManager = dumpManager;
|
||||||
mShouldUseSplitNotificationShade =
|
mShouldUseSplitNotificationShade =
|
||||||
LargeScreenUtils.shouldUseSplitNotificationShade(getResources());
|
LargeScreenUtils.shouldUseSplitNotificationShade(getResources());
|
||||||
|
mMediaCarouselController = mediaCarouselController;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -152,6 +156,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
|
|||||||
|
|
||||||
public void setSquishinessFraction(float squishinessFraction) {
|
public void setSquishinessFraction(float squishinessFraction) {
|
||||||
mView.setSquishinessFraction(squishinessFraction);
|
mView.setSquishinessFraction(squishinessFraction);
|
||||||
|
mMediaCarouselController.setSquishinessFraction(squishinessFraction);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
|
import com.android.systemui.media.MediaCarouselController;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.MediaHost;
|
||||||
import com.android.systemui.plugins.qs.QSTile;
|
import com.android.systemui.plugins.qs.QSTile;
|
||||||
@@ -63,10 +64,10 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>
|
|||||||
@Named(QS_USING_COLLAPSED_LANDSCAPE_MEDIA)
|
@Named(QS_USING_COLLAPSED_LANDSCAPE_MEDIA)
|
||||||
Provider<Boolean> usingCollapsedLandscapeMediaProvider,
|
Provider<Boolean> usingCollapsedLandscapeMediaProvider,
|
||||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||||
DumpManager dumpManager
|
DumpManager dumpManager, MediaCarouselController mediaCarouselController
|
||||||
) {
|
) {
|
||||||
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
super(view, qsTileHost, qsCustomizerController, usingMediaPlayer, mediaHost, metricsLogger,
|
||||||
uiEventLogger, qsLogger, dumpManager);
|
uiEventLogger, qsLogger, dumpManager, mediaCarouselController);
|
||||||
mUsingCollapsedLandscapeMediaProvider = usingCollapsedLandscapeMediaProvider;
|
mUsingCollapsedLandscapeMediaProvider = usingCollapsedLandscapeMediaProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,11 @@ import com.android.systemui.plugins.ActivityStarter
|
|||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
|
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
|
import com.android.systemui.util.animation.TransitionLayout
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor
|
import com.android.systemui.util.concurrency.DelayableExecutor
|
||||||
import com.android.systemui.util.mockito.eq
|
import com.android.systemui.util.mockito.eq
|
||||||
import com.android.systemui.util.time.FakeSystemClock
|
import com.android.systemui.util.time.FakeSystemClock
|
||||||
|
import javax.inject.Provider
|
||||||
import junit.framework.Assert.assertEquals
|
import junit.framework.Assert.assertEquals
|
||||||
import junit.framework.Assert.assertTrue
|
import junit.framework.Assert.assertTrue
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
@@ -38,8 +40,9 @@ import org.junit.Test
|
|||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
import org.mockito.Mockito.verify
|
import org.mockito.Mockito.verify
|
||||||
|
import org.mockito.Mockito.verifyNoMoreInteractions
|
||||||
|
import org.mockito.Mockito.`when` as whenever
|
||||||
import org.mockito.MockitoAnnotations
|
import org.mockito.MockitoAnnotations
|
||||||
import javax.inject.Provider
|
|
||||||
|
|
||||||
private val DATA = MediaTestUtils.emptyMediaData
|
private val DATA = MediaTestUtils.emptyMediaData
|
||||||
|
|
||||||
@@ -64,6 +67,10 @@ class MediaCarouselControllerTest : SysuiTestCase() {
|
|||||||
@Mock lateinit var dumpManager: DumpManager
|
@Mock lateinit var dumpManager: DumpManager
|
||||||
@Mock lateinit var logger: MediaUiEventLogger
|
@Mock lateinit var logger: MediaUiEventLogger
|
||||||
@Mock lateinit var debugLogger: MediaCarouselControllerLogger
|
@Mock lateinit var debugLogger: MediaCarouselControllerLogger
|
||||||
|
@Mock lateinit var mediaViewHolder: MediaViewHolder
|
||||||
|
@Mock lateinit var player: TransitionLayout
|
||||||
|
@Mock lateinit var recommendationViewHolder: RecommendationViewHolder
|
||||||
|
@Mock lateinit var recommendations: TransitionLayout
|
||||||
|
|
||||||
private val clock = FakeSystemClock()
|
private val clock = FakeSystemClock()
|
||||||
private lateinit var mediaCarouselController: MediaCarouselController
|
private lateinit var mediaCarouselController: MediaCarouselController
|
||||||
@@ -258,4 +265,44 @@ class MediaCarouselControllerTest : SysuiTestCase() {
|
|||||||
|
|
||||||
verify(logger).logRecommendationRemoved(eq(packageName), eq(instanceId!!))
|
verify(logger).logRecommendationRemoved(eq(packageName), eq(instanceId!!))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@Test
|
||||||
|
fun testSetSquishinessFractionForMedia_setPlayerBottom() {
|
||||||
|
whenever(panel.mediaViewHolder).thenReturn(mediaViewHolder)
|
||||||
|
whenever(mediaViewHolder.player).thenReturn(player)
|
||||||
|
whenever(player.measuredHeight).thenReturn(100)
|
||||||
|
|
||||||
|
val playingLocal = Triple("playing local",
|
||||||
|
DATA.copy(active = true, isPlaying = true,
|
||||||
|
playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = false),
|
||||||
|
4500L)
|
||||||
|
MediaPlayerData.addMediaPlayer(playingLocal.first, playingLocal.second, panel, clock,
|
||||||
|
false, debugLogger)
|
||||||
|
|
||||||
|
mediaCarouselController.squishinessFraction = 0.0f
|
||||||
|
verify(player).bottom = 50
|
||||||
|
verifyNoMoreInteractions(recommendationViewHolder)
|
||||||
|
|
||||||
|
mediaCarouselController.squishinessFraction = 0.5f
|
||||||
|
verify(player).bottom = 75
|
||||||
|
verifyNoMoreInteractions(recommendationViewHolder)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testSetSquishinessFractionForRecommendation_setPlayerBottom() {
|
||||||
|
whenever(panel.recommendationViewHolder).thenReturn(recommendationViewHolder)
|
||||||
|
whenever(recommendationViewHolder.recommendations).thenReturn(recommendations)
|
||||||
|
whenever(recommendations.measuredHeight).thenReturn(100)
|
||||||
|
|
||||||
|
MediaPlayerData.addMediaRecommendation(SMARTSPACE_KEY, EMPTY_SMARTSPACE_MEDIA_DATA, panel,
|
||||||
|
false, clock)
|
||||||
|
|
||||||
|
mediaCarouselController.squishinessFraction = 0.0f
|
||||||
|
verifyNoMoreInteractions(mediaViewHolder)
|
||||||
|
verify(recommendationViewHolder.recommendations).bottom = 50
|
||||||
|
|
||||||
|
mediaCarouselController.squishinessFraction = 0.5f
|
||||||
|
verifyNoMoreInteractions(mediaViewHolder)
|
||||||
|
verify(recommendationViewHolder.recommendations).bottom = 75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import com.android.internal.logging.testing.UiEventLoggerFake;
|
|||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
|
import com.android.systemui.media.MediaCarouselController;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.MediaHost;
|
||||||
import com.android.systemui.plugins.qs.QSTile;
|
import com.android.systemui.plugins.qs.QSTile;
|
||||||
import com.android.systemui.plugins.qs.QSTileView;
|
import com.android.systemui.plugins.qs.QSTileView;
|
||||||
@@ -86,6 +87,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
@Mock
|
@Mock
|
||||||
private QSLogger mQSLogger;
|
private QSLogger mQSLogger;
|
||||||
private DumpManager mDumpManager = new DumpManager();
|
private DumpManager mDumpManager = new DumpManager();
|
||||||
|
private MediaCarouselController mMediaCarouselController;
|
||||||
@Mock
|
@Mock
|
||||||
QSTileImpl mQSTile;
|
QSTileImpl mQSTile;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -108,9 +110,9 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
protected TestableQSPanelControllerBase(QSPanel view, QSTileHost host,
|
||||||
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
QSCustomizerController qsCustomizerController, MediaHost mediaHost,
|
||||||
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
MetricsLogger metricsLogger, UiEventLogger uiEventLogger, QSLogger qsLogger,
|
||||||
DumpManager dumpManager) {
|
DumpManager dumpManager, MediaCarouselController mediaCarouselController) {
|
||||||
super(view, host, qsCustomizerController, true, mediaHost, metricsLogger, uiEventLogger,
|
super(view, host, qsCustomizerController, true, mediaHost, metricsLogger, uiEventLogger,
|
||||||
qsLogger, dumpManager);
|
qsLogger, dumpManager, mediaCarouselController);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -144,7 +146,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
|
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mMediaCarouselController);
|
||||||
|
|
||||||
mController.init();
|
mController.init();
|
||||||
reset(mQSTileRevealController);
|
reset(mQSTileRevealController);
|
||||||
@@ -156,7 +158,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
|
|
||||||
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
QSPanelControllerBase<QSPanel> controller = new TestableQSPanelControllerBase(mQSPanel,
|
||||||
mQSTileHost, mQSCustomizerController, mMediaHost,
|
mQSTileHost, mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager) {
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mMediaCarouselController) {
|
||||||
@Override
|
@Override
|
||||||
protected QSTileRevealController createTileRevealController() {
|
protected QSTileRevealController createTileRevealController() {
|
||||||
return mQSTileRevealController;
|
return mQSTileRevealController;
|
||||||
@@ -249,7 +251,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelLandscape");
|
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelLandscape");
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mMediaCarouselController);
|
||||||
mController.init();
|
mController.init();
|
||||||
|
|
||||||
assertThat(mController.shouldUseHorizontalLayout()).isTrue();
|
assertThat(mController.shouldUseHorizontalLayout()).isTrue();
|
||||||
@@ -258,7 +260,7 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
|
|||||||
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelPortrait");
|
when(mQSPanel.getDumpableTag()).thenReturn("QSPanelPortrait");
|
||||||
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
mController = new TestableQSPanelControllerBase(mQSPanel, mQSTileHost,
|
||||||
mQSCustomizerController, mMediaHost,
|
mQSCustomizerController, mMediaHost,
|
||||||
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
|
mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager, mMediaCarouselController);
|
||||||
mController.init();
|
mController.init();
|
||||||
|
|
||||||
assertThat(mController.shouldUseHorizontalLayout()).isFalse();
|
assertThat(mController.shouldUseHorizontalLayout()).isFalse();
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.android.internal.logging.MetricsLogger
|
|||||||
import com.android.internal.logging.UiEventLogger
|
import com.android.internal.logging.UiEventLogger
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.MediaCarouselController
|
||||||
import com.android.systemui.media.MediaHost
|
import com.android.systemui.media.MediaHost
|
||||||
import com.android.systemui.media.MediaHostState
|
import com.android.systemui.media.MediaHostState
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
@@ -27,8 +28,8 @@ import org.mockito.Mockito
|
|||||||
import org.mockito.Mockito.any
|
import org.mockito.Mockito.any
|
||||||
import org.mockito.Mockito.reset
|
import org.mockito.Mockito.reset
|
||||||
import org.mockito.Mockito.verify
|
import org.mockito.Mockito.verify
|
||||||
import org.mockito.MockitoAnnotations
|
|
||||||
import org.mockito.Mockito.`when` as whenever
|
import org.mockito.Mockito.`when` as whenever
|
||||||
|
import org.mockito.MockitoAnnotations
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@RunWith(AndroidTestingRunner::class)
|
@RunWith(AndroidTestingRunner::class)
|
||||||
@@ -40,6 +41,7 @@ class QSPanelControllerTest : SysuiTestCase() {
|
|||||||
@Mock private lateinit var qsCustomizerController: QSCustomizerController
|
@Mock private lateinit var qsCustomizerController: QSCustomizerController
|
||||||
@Mock private lateinit var qsTileRevealControllerFactory: QSTileRevealController.Factory
|
@Mock private lateinit var qsTileRevealControllerFactory: QSTileRevealController.Factory
|
||||||
@Mock private lateinit var dumpManager: DumpManager
|
@Mock private lateinit var dumpManager: DumpManager
|
||||||
|
@Mock private lateinit var mediaCarouselController: MediaCarouselController
|
||||||
@Mock private lateinit var metricsLogger: MetricsLogger
|
@Mock private lateinit var metricsLogger: MetricsLogger
|
||||||
@Mock private lateinit var uiEventLogger: UiEventLogger
|
@Mock private lateinit var uiEventLogger: UiEventLogger
|
||||||
@Mock private lateinit var qsLogger: QSLogger
|
@Mock private lateinit var qsLogger: QSLogger
|
||||||
@@ -76,6 +78,7 @@ class QSPanelControllerTest : SysuiTestCase() {
|
|||||||
mediaHost,
|
mediaHost,
|
||||||
qsTileRevealControllerFactory,
|
qsTileRevealControllerFactory,
|
||||||
dumpManager,
|
dumpManager,
|
||||||
|
mediaCarouselController,
|
||||||
metricsLogger,
|
metricsLogger,
|
||||||
uiEventLogger,
|
uiEventLogger,
|
||||||
qsLogger,
|
qsLogger,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.android.internal.logging.MetricsLogger
|
|||||||
import com.android.internal.logging.testing.UiEventLoggerFake
|
import com.android.internal.logging.testing.UiEventLoggerFake
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.MediaCarouselController
|
||||||
import com.android.systemui.media.MediaHost
|
import com.android.systemui.media.MediaHost
|
||||||
import com.android.systemui.media.MediaHostState
|
import com.android.systemui.media.MediaHostState
|
||||||
import com.android.systemui.plugins.qs.QSTile
|
import com.android.systemui.plugins.qs.QSTile
|
||||||
@@ -59,6 +60,7 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
@Mock private lateinit var tileLayout: TileLayout
|
@Mock private lateinit var tileLayout: TileLayout
|
||||||
@Mock private lateinit var tileView: QSTileView
|
@Mock private lateinit var tileView: QSTileView
|
||||||
@Captor private lateinit var captor: ArgumentCaptor<QSPanel.OnConfigurationChangedListener>
|
@Captor private lateinit var captor: ArgumentCaptor<QSPanel.OnConfigurationChangedListener>
|
||||||
|
@Mock private lateinit var mediaCarouselController: MediaCarouselController
|
||||||
|
|
||||||
private val uiEventLogger = UiEventLoggerFake()
|
private val uiEventLogger = UiEventLoggerFake()
|
||||||
private val dumpManager = DumpManager()
|
private val dumpManager = DumpManager()
|
||||||
@@ -88,7 +90,8 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
metricsLogger,
|
metricsLogger,
|
||||||
uiEventLogger,
|
uiEventLogger,
|
||||||
qsLogger,
|
qsLogger,
|
||||||
dumpManager)
|
dumpManager,
|
||||||
|
mediaCarouselController)
|
||||||
|
|
||||||
controller.init()
|
controller.init()
|
||||||
}
|
}
|
||||||
@@ -157,7 +160,8 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
metricsLogger: MetricsLogger,
|
metricsLogger: MetricsLogger,
|
||||||
uiEventLogger: UiEventLoggerFake,
|
uiEventLogger: UiEventLoggerFake,
|
||||||
qsLogger: QSLogger,
|
qsLogger: QSLogger,
|
||||||
dumpManager: DumpManager
|
dumpManager: DumpManager,
|
||||||
|
mediaCarouselController: MediaCarouselController
|
||||||
) :
|
) :
|
||||||
QuickQSPanelController(
|
QuickQSPanelController(
|
||||||
view,
|
view,
|
||||||
@@ -169,7 +173,8 @@ class QuickQSPanelControllerTest : SysuiTestCase() {
|
|||||||
metricsLogger,
|
metricsLogger,
|
||||||
uiEventLogger,
|
uiEventLogger,
|
||||||
qsLogger,
|
qsLogger,
|
||||||
dumpManager) {
|
dumpManager,
|
||||||
|
mediaCarouselController) {
|
||||||
|
|
||||||
private var rotation = RotationUtils.ROTATION_NONE
|
private var rotation = RotationUtils.ROTATION_NONE
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user