summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/qs_media_panel.xml11
-rw-r--r--packages/SystemUI/res/layout/qs_media_panel_options.xml3
-rw-r--r--packages/SystemUI/res/values/colors.xml5
-rw-r--r--packages/SystemUI/res/values/styles.xml1
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java32
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaData.kt1
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt37
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt13
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt10
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt25
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt46
11 files changed, 85 insertions, 99 deletions
diff --git a/packages/SystemUI/res/layout/qs_media_panel.xml b/packages/SystemUI/res/layout/qs_media_panel.xml
index 9ad380d260c0..bf062421ddb4 100644
--- a/packages/SystemUI/res/layout/qs_media_panel.xml
+++ b/packages/SystemUI/res/layout/qs_media_panel.xml
@@ -49,6 +49,7 @@
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:fontFamily="@*android:string/config_bodyFontFamily"
+ android:textColor="@color/media_primary_text"
android:gravity="left"
android:textSize="14sp" />
@@ -58,6 +59,7 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:fontFamily="@*android:string/config_bodyFontFamily"
+ android:textColor="@color/media_primary_text"
android:gravity="right"
android:textSize="14sp" />
</FrameLayout>
@@ -116,6 +118,7 @@
android:layout_width="@dimen/qs_seamless_icon_size"
android:layout_height="@dimen/qs_seamless_icon_size"
android:layout_marginRight="8dp"
+ android:tint="@color/media_primary_text"
android:src="@*android:drawable/ic_media_seamless" />
<TextView
@@ -125,6 +128,7 @@
android:fontFamily="@*android:string/config_bodyFontFamily"
android:singleLine="true"
android:text="@*android:string/ext_media_seamless_action"
+ android:textColor="@color/media_primary_text"
android:textSize="14sp" />
</LinearLayout>
@@ -138,11 +142,15 @@
android:maxHeight="3dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
+ android:thumbTint="@color/media_primary_text"
+ android:progressTint="@color/media_seekbar_progress"
+ android:progressBackgroundTint="@color/media_disabled"
android:splitTrack="false" />
<!-- App name -->
<TextView
android:id="@+id/app_name"
+ android:textColor="@color/media_primary_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:singleLine="true"
@@ -155,6 +163,7 @@
android:layout_height="wrap_content"
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:singleLine="true"
+ android:textColor="@color/media_primary_text"
android:textSize="18sp" />
<!-- Artist name -->
@@ -164,10 +173,12 @@
android:layout_height="wrap_content"
android:fontFamily="@*android:string/config_bodyFontFamily"
android:singleLine="true"
+ android:textColor="@color/media_primary_text"
android:textSize="14sp" />
<com.android.internal.widget.CachingIconView
android:id="@+id/icon"
+ android:tint="@color/media_primary_text"
android:layout_width="16dp"
android:layout_height="16dp" />
diff --git a/packages/SystemUI/res/layout/qs_media_panel_options.xml b/packages/SystemUI/res/layout/qs_media_panel_options.xml
index 46655e7b4daf..e72c0e85fb26 100644
--- a/packages/SystemUI/res/layout/qs_media_panel_options.xml
+++ b/packages/SystemUI/res/layout/qs_media_panel_options.xml
@@ -36,6 +36,7 @@
android:layout_height="18dp"
android:id="@+id/remove_icon"
android:layout_marginEnd="16dp"
+ android:tint="@color/media_primary_text"
android:src="@drawable/ic_clear"/>
<TextView
android:layout_width="wrap_content"
@@ -43,6 +44,7 @@
android:id="@+id/remove_text"
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:singleLine="true"
+ android:textColor="@color/media_primary_text"
android:text="@string/controls_media_close_session" />
</LinearLayout>
<TextView
@@ -54,5 +56,6 @@
android:layout_gravity="end|bottom"
android:gravity="bottom"
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
+ android:textColor="@android:color/white"
android:text="@string/cancel" />
</LinearLayout>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 88a7c731039b..837627c02638 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -239,6 +239,11 @@
<color name="magnification_border_color">#FF9900</color>
+ <!-- media -->
+ <color name="media_primary_text">@android:color/white</color>
+ <color name="media_seekbar_progress">#c0ffffff</color>
+ <color name="media_disabled">#80ffffff</color>
+
<!-- controls -->
<color name="control_primary_text">#E6FFFFFF</color>
<color name="control_secondary_text">#99FFFFFF</color>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index c26d1f4dd1f5..b461295dc384 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -622,6 +622,7 @@
<style name="MediaPlayer.Button" parent="@android:style/Widget.Material.Button.Borderless.Small">
<item name="android:background">@null</item>
+ <item name="android:tint">@android:color/white</item>
</style>
<!-- Used to style charging animation AVD animation -->
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
index c3a7d9fbdd50..e08d7a5b97a6 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
@@ -26,6 +26,7 @@ import android.content.pm.ResolveInfo;
import android.content.res.ColorStateList;
import android.graphics.Bitmap;
import android.graphics.Canvas;
+import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
@@ -98,7 +99,6 @@ public class MediaControlPanel {
private PlayerViewHolder mViewHolder;
private MediaSession.Token mToken;
private MediaController mController;
- private int mForegroundColor;
private int mBackgroundColor;
private MediaDevice mDevice;
protected ComponentName mServiceComponent;
@@ -243,7 +243,6 @@ public class MediaControlPanel {
return;
}
MediaSession.Token token = data.getToken();
- mForegroundColor = data.getForegroundColor();
mBackgroundColor = data.getBackgroundColor();
if (mToken == null || !mToken.equals(token)) {
if (mQSMediaBrowser != null) {
@@ -304,24 +303,19 @@ public class MediaControlPanel {
// App icon
ImageView appIcon = mViewHolder.getAppIcon();
- Drawable iconDrawable = data.getAppIcon().mutate();
- iconDrawable.setTint(mForegroundColor);
- appIcon.setImageDrawable(iconDrawable);
+ appIcon.setImageDrawable(data.getAppIcon());
// Song name
TextView titleText = mViewHolder.getTitleText();
titleText.setText(data.getSong());
- titleText.setTextColor(data.getForegroundColor());
// App title
TextView appName = mViewHolder.getAppName();
appName.setText(data.getApp());
- appName.setTextColor(mForegroundColor);
// Artist name
TextView artistText = mViewHolder.getArtistText();
artistText.setText(data.getArtist());
- artistText.setTextColor(mForegroundColor);
// Transfer chip
if (mLocalMediaManager != null) {
@@ -329,6 +323,10 @@ public class MediaControlPanel {
setVisibleAndAlpha(collapsedSet, R.id.media_seamless, true /*visible */);
setVisibleAndAlpha(expandedSet, R.id.media_seamless, true /*visible */);
updateDevice(mLocalMediaManager.getCurrentConnectedDevice());
+ if (mViewHolder.getBackground().getBackground() instanceof IlluminationDrawable) {
+ ((IlluminationDrawable) mViewHolder.getBackground().getBackground())
+ .setupTouch(mViewHolder.getSeamless(), mViewHolder.getPlayer());
+ }
mViewHolder.getSeamless().setOnClickListener(v -> {
final Intent intent = new Intent()
.setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
@@ -358,7 +356,6 @@ public class MediaControlPanel {
MediaAction mediaAction = actionIcons.get(i);
button.setImageDrawable(mediaAction.getDrawable());
button.setContentDescription(mediaAction.getContentDescription());
- button.setImageTintList(ColorStateList.valueOf(mForegroundColor));
PendingIntent actionIntent = mediaAction.getIntent();
if (mViewHolder.getBackground().getBackground() instanceof IlluminationDrawable) {
@@ -389,8 +386,7 @@ public class MediaControlPanel {
// Seek Bar
final MediaController controller = getController();
- mBackgroundExecutor.execute(
- () -> mSeekBarViewModel.updateController(controller, data.getForegroundColor()));
+ mBackgroundExecutor.execute(() -> mSeekBarViewModel.updateController(controller));
// Set up long press menu
// TODO: b/156036025 bring back media guts
@@ -541,32 +537,27 @@ public class MediaControlPanel {
if (mViewHolder == null) {
return;
}
- ColorStateList fgTintList = ColorStateList.valueOf(mForegroundColor);
+ ImageView iconView = mViewHolder.getSeamlessIcon();
+ TextView deviceName = mViewHolder.getSeamlessText();
// Update the outline color
LinearLayout viewLayout = (LinearLayout) mViewHolder.getSeamless();
RippleDrawable bkgDrawable = (RippleDrawable) viewLayout.getBackground();
GradientDrawable rect = (GradientDrawable) bkgDrawable.getDrawable(0);
- rect.setStroke(2, mForegroundColor);
- rect.setColor(mBackgroundColor);
-
- ImageView iconView = mViewHolder.getSeamlessIcon();
- TextView deviceName = mViewHolder.getSeamlessText();
- deviceName.setTextColor(fgTintList);
+ rect.setStroke(2, deviceName.getCurrentTextColor());
+ rect.setColor(Color.TRANSPARENT);
if (mIsRemotePlayback) {
mViewHolder.getSeamless().setEnabled(false);
mViewHolder.getSeamless().setAlpha(0.38f);
iconView.setImageResource(R.drawable.ic_hardware_speaker);
iconView.setVisibility(View.VISIBLE);
- iconView.setImageTintList(fgTintList);
deviceName.setText(R.string.media_seamless_remote_device);
} else if (device != null) {
mViewHolder.getSeamless().setEnabled(true);
mViewHolder.getSeamless().setAlpha(1f);
Drawable icon = device.getIcon();
iconView.setVisibility(View.VISIBLE);
- iconView.setImageTintList(fgTintList);
if (icon instanceof AdaptiveIcon) {
AdaptiveIcon aIcon = (AdaptiveIcon) icon;
@@ -639,7 +630,6 @@ public class MediaControlPanel {
mQSMediaBrowser.restart();
});
btn.setImageDrawable(mContext.getResources().getDrawable(R.drawable.lb_ic_play));
- btn.setImageTintList(ColorStateList.valueOf(mForegroundColor));
setVisibleAndAlpha(expandedSet, ACTION_IDS[0], true /*visible */);
setVisibleAndAlpha(collapsedSet, ACTION_IDS[0], true /*visible */);
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
index 6a2646170e85..85965d03a096 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
@@ -24,7 +24,6 @@ import android.media.session.MediaSession
/** State of a media view. */
data class MediaData(
val initialized: Boolean = false,
- val foregroundColor: Int,
val backgroundColor: Int,
val app: String?,
val appIcon: Drawable?,
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
index 8da864cb7eed..07ce9e4a6226 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
@@ -21,6 +21,7 @@ import android.content.ContentResolver
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Canvas
+import android.graphics.Color
import android.graphics.ImageDecoder
import android.graphics.drawable.Drawable
import android.graphics.drawable.Icon
@@ -30,7 +31,7 @@ import android.net.Uri
import android.service.notification.StatusBarNotification
import android.text.TextUtils
import android.util.Log
-import com.android.internal.util.ContrastColorUtil
+import com.android.internal.graphics.ColorUtils
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.notification.MediaNotificationProcessor
@@ -40,7 +41,6 @@ import java.io.IOException
import java.util.concurrent.Executor
import javax.inject.Inject
import javax.inject.Singleton
-import kotlin.collections.LinkedHashMap
// URI fields to try loading album art from
private val ART_URIS = arrayOf(
@@ -50,8 +50,11 @@ private val ART_URIS = arrayOf(
)
private const val TAG = "MediaDataManager"
+private const val DEFAULT_LUMINOSITY = 0.25f
+private const val LUMINOSITY_THRESHOLD = 0.05f
+private const val SATURATION_MULTIPLIER = 0.8f
-private val LOADING = MediaData(false, 0, 0, null, null, null, null, null,
+private val LOADING = MediaData(false, 0, null, null, null, null, null,
emptyList(), emptyList(), null, null, null)
/**
@@ -107,8 +110,7 @@ class MediaDataManager @Inject constructor(
// Foreground and Background colors computed from album art
val notif: Notification = sbn.notification
- var fgColor = notif.color
- var bgColor = -1
+ var bgColor = Color.WHITE
var artworkBitmap = metadata.getBitmap(MediaMetadata.METADATA_KEY_ART)
if (artworkBitmap == null) {
artworkBitmap = metadata.getBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART)
@@ -142,13 +144,22 @@ class MediaDataManager @Inject constructor(
.generate()
val swatch = MediaNotificationProcessor.findBackgroundSwatch(p)
bgColor = swatch.rgb
- fgColor = MediaNotificationProcessor.selectForegroundColor(bgColor, p)
}
- // Make sure colors will be legible
- val isDark = !ContrastColorUtil.isColorLight(bgColor)
- fgColor = ContrastColorUtil.resolveContrastColor(context, fgColor, bgColor,
- isDark)
- fgColor = ContrastColorUtil.ensureTextContrast(fgColor, bgColor, isDark)
+ // Adapt background color, so it's always subdued and text is legible
+ val tmpHsl = floatArrayOf(0f, 0f, 0f)
+ ColorUtils.colorToHSL(bgColor, tmpHsl)
+
+ val l = tmpHsl[2]
+ // Colors with very low luminosity can have any saturation. This means that changing the
+ // luminosity can make a black become red. Let's remove the saturation of very light or
+ // very dark colors to avoid this issue.
+ if (l < LUMINOSITY_THRESHOLD || l > 1f - LUMINOSITY_THRESHOLD) {
+ tmpHsl[1] = 0f
+ }
+ tmpHsl[1] *= SATURATION_MULTIPLIER
+ tmpHsl[2] = DEFAULT_LUMINOSITY
+
+ bgColor = ColorUtils.HSLToColor(tmpHsl)
// App name
val builder = Notification.Builder.recoverBuilder(context, notif)
@@ -189,8 +200,8 @@ class MediaDataManager @Inject constructor(
}
foregroundExcecutor.execute {
- onMediaDataLoaded(key, MediaData(true, fgColor, bgColor, app, smallIconDrawable, artist,
- song, artWorkIcon, actionIcons, actionsToShowCollapsed, sbn.packageName, token,
+ onMediaDataLoaded(key, MediaData(true, bgColor, app, smallIconDrawable, artist, song,
+ artWorkIcon, actionIcons, actionsToShowCollapsed, sbn.packageName, token,
notif.contentIntent))
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
index 51c157a56560..110b08c4b808 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt
@@ -17,6 +17,7 @@
package com.android.systemui.media
import android.content.res.ColorStateList
+import android.graphics.Color
import android.text.format.DateUtils
import android.view.View
import android.widget.SeekBar
@@ -46,18 +47,6 @@ class SeekBarObserver(view: View) : Observer<SeekBarViewModel.Progress> {
/** Updates seek bar views when the data model changes. */
@UiThread
override fun onChanged(data: SeekBarViewModel.Progress) {
-
- data.color?.let {
- var tintList = ColorStateList.valueOf(it)
- seekBarView.setThumbTintList(tintList)
- tintList = tintList.withAlpha(192) // 75%
- seekBarView.setProgressTintList(tintList)
- tintList = tintList.withAlpha(128) // 50%
- seekBarView.setProgressBackgroundTintList(tintList)
- elapsedTimeView.setTextColor(it)
- totalTimeView.setTextColor(it)
- }
-
if (!data.enabled) {
seekBarView.setEnabled(false)
seekBarView.getThumb().setAlpha(0)
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
index f72a74b31f41..b08124b54953 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarViewModel.kt
@@ -67,7 +67,7 @@ private fun PlaybackState.computePosition(duration: Long): Long {
/** ViewModel for seek bar in QS media player. */
class SeekBarViewModel(val bgExecutor: DelayableExecutor) {
- private var _data = Progress(false, false, null, null, null)
+ private var _data = Progress(false, false, null, null)
set(value) {
field = value
_progress.postValue(value)
@@ -100,10 +100,9 @@ class SeekBarViewModel(val bgExecutor: DelayableExecutor) {
/**
* Updates media information.
* @param mediaController controller for media session
- * @param color foreground color for UI elements
*/
@WorkerThread
- fun updateController(mediaController: MediaController?, color: Int) {
+ fun updateController(mediaController: MediaController?) {
controller = mediaController
playbackState = controller?.playbackState
val mediaMetadata = controller?.metadata
@@ -113,7 +112,7 @@ class SeekBarViewModel(val bgExecutor: DelayableExecutor) {
val enabled = if (playbackState == null ||
playbackState?.getState() == PlaybackState.STATE_NONE ||
(duration != null && duration <= 0)) false else true
- _data = Progress(enabled, seekAvailable, position, duration, color)
+ _data = Progress(enabled, seekAvailable, position, duration)
if (shouldPollPlaybackPosition()) {
checkPlaybackPosition()
}
@@ -191,7 +190,6 @@ class SeekBarViewModel(val bgExecutor: DelayableExecutor) {
val enabled: Boolean,
val seekAvailable: Boolean,
val elapsedTime: Int?,
- val duration: Int?,
- val color: Int?
+ val duration: Int?
)
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
index d407b8a1e449..58ee79e39279 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt
@@ -16,19 +16,15 @@
package com.android.systemui.media
-import android.graphics.Color
-import android.content.res.ColorStateList
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import android.view.View
import android.widget.SeekBar
import android.widget.TextView
import androidx.test.filters.SmallTest
-
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.google.common.truth.Truth.assertThat
-
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -65,7 +61,7 @@ public class SeekBarObserverTest : SysuiTestCase() {
fun seekBarGone() {
// WHEN seek bar is disabled
val isEnabled = false
- val data = SeekBarViewModel.Progress(isEnabled, false, null, null, null)
+ val data = SeekBarViewModel.Progress(isEnabled, false, null, null)
observer.onChanged(data)
// THEN seek bar shows just a line with no text
assertThat(seekBarView.isEnabled()).isFalse()
@@ -78,7 +74,7 @@ public class SeekBarObserverTest : SysuiTestCase() {
fun seekBarVisible() {
// WHEN seek bar is enabled
val isEnabled = true
- val data = SeekBarViewModel.Progress(isEnabled, true, 3000, 12000, -1)
+ val data = SeekBarViewModel.Progress(isEnabled, true, 3000, 12000)
observer.onChanged(data)
// THEN seek bar is visible
assertThat(seekBarView.getVisibility()).isEqualTo(View.VISIBLE)
@@ -89,7 +85,7 @@ public class SeekBarObserverTest : SysuiTestCase() {
@Test
fun seekBarProgress() {
// WHEN seek bar progress is about half
- val data = SeekBarViewModel.Progress(true, true, 3000, 120000, -1)
+ val data = SeekBarViewModel.Progress(true, true, 3000, 120000)
observer.onChanged(data)
// THEN seek bar is visible
assertThat(seekBarView.progress).isEqualTo(100)
@@ -102,7 +98,7 @@ public class SeekBarObserverTest : SysuiTestCase() {
fun seekBarDisabledWhenSeekNotAvailable() {
// WHEN seek is not available
val isSeekAvailable = false
- val data = SeekBarViewModel.Progress(true, isSeekAvailable, 3000, 120000, -1)
+ val data = SeekBarViewModel.Progress(true, isSeekAvailable, 3000, 120000)
observer.onChanged(data)
// THEN seek bar is not enabled
assertThat(seekBarView.isEnabled()).isFalse()
@@ -112,20 +108,9 @@ public class SeekBarObserverTest : SysuiTestCase() {
fun seekBarEnabledWhenSeekNotAvailable() {
// WHEN seek is available
val isSeekAvailable = true
- val data = SeekBarViewModel.Progress(true, isSeekAvailable, 3000, 120000, -1)
+ val data = SeekBarViewModel.Progress(true, isSeekAvailable, 3000, 120000)
observer.onChanged(data)
// THEN seek bar is not enabled
assertThat(seekBarView.isEnabled()).isTrue()
}
-
- @Test
- fun seekBarColor() {
- // WHEN data included color
- val data = SeekBarViewModel.Progress(true, true, 3000, 120000, Color.RED)
- observer.onChanged(data)
- // THEN seek bar is colored
- val red = ColorStateList.valueOf(Color.RED)
- assertThat(elapsedTimeView.getTextColors()).isEqualTo(red)
- assertThat(totalTimeView.getTextColors()).isEqualTo(red)
- }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
index cde575d25cdf..e5ced0d066b8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarViewModelTest.kt
@@ -80,12 +80,6 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
@Test
- fun updateColor() {
- viewModel.updateController(mockController, Color.RED)
- assertThat(viewModel.progress.value!!.color).isEqualTo(Color.RED)
- }
-
- @Test
fun updateDurationWithPlayback() {
// GIVEN that the duration is contained within the metadata
val duration = 12000L
@@ -101,7 +95,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN the duration is extracted
assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
assertThat(viewModel.progress.value!!.enabled).isTrue()
@@ -117,7 +111,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getMetadata()).thenReturn(metadata)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN the duration is extracted
assertThat(viewModel.progress.value!!.duration).isEqualTo(duration)
assertThat(viewModel.progress.value!!.enabled).isFalse()
@@ -139,7 +133,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN the seek bar is disabled
assertThat(viewModel.progress.value!!.enabled).isFalse()
}
@@ -160,7 +154,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN the seek bar is disabled
assertThat(viewModel.progress.value!!.enabled).isFalse()
}
@@ -175,7 +169,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN elapsed time is captured
assertThat(viewModel.progress.value!!.elapsedTime).isEqualTo(200.toInt())
}
@@ -189,7 +183,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN seek is available
assertThat(viewModel.progress.value!!.seekAvailable).isTrue()
}
@@ -203,7 +197,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN seek is not available
assertThat(viewModel.progress.value!!.seekAvailable).isFalse()
}
@@ -211,7 +205,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
@Test
fun handleSeek() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN user input is dispatched
val pos = 42L
viewModel.onSeek(pos)
@@ -223,7 +217,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
@Test
fun handleProgressChangedUser() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN user starts dragging the seek bar
val pos = 42
viewModel.seekBarListener.onProgressChanged(SeekBar(context), pos, true)
@@ -235,7 +229,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
@Test
fun handleProgressChangedOther() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN user starts dragging the seek bar
val pos = 42
viewModel.seekBarListener.onProgressChanged(SeekBar(context), pos, false)
@@ -247,7 +241,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
@Test
fun handleStartTrackingTouch() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN user starts dragging the seek bar
val pos = 42
val bar = SeekBar(context).apply {
@@ -262,7 +256,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
@Test
fun handleStopTrackingTouch() {
whenever(mockController.getTransportControls()).thenReturn(mockTransport)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN user ends drag
val pos = 42
val bar = SeekBar(context).apply {
@@ -283,7 +277,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN the controller is updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN a task is queued
assertThat(fakeExecutor.numPending()).isEqualTo(1)
}
@@ -297,7 +291,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN an update task is not queued
assertThat(fakeExecutor.numPending()).isEqualTo(0)
}
@@ -317,7 +311,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN an update task is queued
assertThat(fakeExecutor.numPending()).isEqualTo(1)
}
@@ -337,7 +331,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// WHEN updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// THEN an update task is not queued
assertThat(fakeExecutor.numPending()).isEqualTo(0)
}
@@ -350,7 +344,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
build()
}
whenever(mockController.getPlaybackState()).thenReturn(state)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN the next task runs
with(fakeExecutor) {
advanceClockToNext()
@@ -369,7 +363,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
build()
}
whenever(mockController.getPlaybackState()).thenReturn(state)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN the task runs
with(fakeExecutor) {
advanceClockToNext()
@@ -393,7 +387,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
build()
}
whenever(mockController.getPlaybackState()).thenReturn(state)
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN start listening
viewModel.listening = true
// THEN an update task is queued
@@ -415,7 +409,7 @@ public class SeekBarViewModelTest : SysuiTestCase() {
}
whenever(mockController.getPlaybackState()).thenReturn(state)
// AND the controller has been updated
- viewModel.updateController(mockController, Color.RED)
+ viewModel.updateController(mockController)
// WHEN the controller is cleared on the event when the session is destroyed
viewModel.clearController()
with(fakeExecutor) {