summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Caitlin Cassidy <ccassidy@google.com> 2022-04-14 17:39:45 +0000
committer Caitlin Cassidy <ccassidy@google.com> 2022-04-15 13:53:15 +0000
commitf9c2af711f3ca6e7404e08c5d661a010a00dfab9 (patch)
tree927750b25e1c572ee2b8edfee04ba456830dbf3a
parentf6453bc32fe93e0b526402e136285a5a6dfa5a23 (diff)
[Media] Simplify how we get the background color for the media player.
The color was being passed down all the way from MediaDataManager to ColorSchemeTransition when it doesn't need to be. This moves the background color fetch to ColorSchemeTransition, which groups it with all the other color fetching. Bug: 228960370 Test: atest SystemUITests Test: manual: verify media player still looks good Change-Id: I0a542fd68847b942c3cb1e3c4576344068a06a07
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt7
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt1
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaData.kt1
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt6
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/MediaDataCombineLatestTest.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/media/MediaTestUtils.kt1
9 files changed, 12 insertions, 24 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
index 8f0305f6dc6d..2ae1806f3b3d 100644
--- a/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/ColorSchemeTransition.kt
@@ -85,12 +85,13 @@ typealias ColorTransitionFactory = (Int, (ColorScheme) -> Int, (Int) -> Unit) ->
*/
class ColorSchemeTransition internal constructor(
private val context: Context,
- bgColor: Int,
mediaViewHolder: MediaViewHolder,
colorTransitionFactory: ColorTransitionFactory
) {
- constructor(context: Context, bgColor: Int, mediaViewHolder: MediaViewHolder) :
- this(context, bgColor, mediaViewHolder, ::ColorTransition)
+ constructor(context: Context, mediaViewHolder: MediaViewHolder) :
+ this(context, mediaViewHolder, ::ColorTransition)
+
+ val bgColor = context.getColor(com.android.systemui.R.color.material_dynamic_secondary95)
val surfaceColor = colorTransitionFactory(
bgColor,
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
index 8e81831a8dc3..49966a6de36f 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
@@ -904,7 +904,6 @@ internal object MediaPlayerData {
private val EMPTY = MediaData(
userId = -1,
initialized = false,
- backgroundColor = 0,
app = null,
appIcon = null,
artist = null,
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
index 571723cea616..766e7b02cdbc 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
@@ -150,7 +150,6 @@ public class MediaControlPanel {
private MediaSession.Token mToken;
private MediaController mController;
private Lazy<MediaDataManager> mMediaDataManagerLazy;
- private int mBackgroundColor;
// Uid for the media app.
protected int mUid = Process.INVALID_UID;
private int mSmartspaceMediaItemsCount;
@@ -343,8 +342,7 @@ public class MediaControlPanel {
AnimatorSet exit = loadAnimator(R.anim.media_metadata_exit,
Interpolators.EMPHASIZED_ACCELERATE, titleText, artistText);
- mColorSchemeTransition = new ColorSchemeTransition(
- mContext, mBackgroundColor, mMediaViewHolder);
+ mColorSchemeTransition = new ColorSchemeTransition(mContext, mMediaViewHolder);
mMetadataAnimationHandler = new MetadataAnimationHandler(exit, enter);
}
@@ -409,7 +407,6 @@ public class MediaControlPanel {
}
mInstanceId = data.getInstanceId();
- mBackgroundColor = data.getBackgroundColor();
if (mToken == null || !mToken.equals(token)) {
mToken = token;
}
@@ -485,7 +482,7 @@ public class MediaControlPanel {
Drawable icon = device.getIcon();
if (icon instanceof AdaptiveIcon) {
AdaptiveIcon aIcon = (AdaptiveIcon) icon;
- aIcon.setBackgroundColor(mBackgroundColor);
+ aIcon.setBackgroundColor(mColorSchemeTransition.getBgColor());
iconView.setImageDrawable(aIcon);
} else {
iconView.setImageDrawable(icon);
@@ -956,11 +953,11 @@ public class MediaControlPanel {
}
mSmartspaceId = SmallHash.hash(data.getTargetId());
- mBackgroundColor = data.getBackgroundColor();
+ int backgroundColor = data.getBackgroundColor();
mPackageName = data.getPackageName();
mInstanceId = data.getInstanceId();
TransitionLayout recommendationCard = mRecommendationViewHolder.getRecommendations();
- recommendationCard.setBackgroundTintList(ColorStateList.valueOf(mBackgroundColor));
+ recommendationCard.setBackgroundTintList(ColorStateList.valueOf(backgroundColor));
List<SmartspaceAction> mediaRecommendationList = data.getRecommendations();
if (mediaRecommendationList == null || mediaRecommendationList.isEmpty()) {
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
index f6d531b5b9d6..d04ec40c9f28 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaData.kt
@@ -27,7 +27,6 @@ import com.android.systemui.R
data class MediaData(
val userId: Int,
val initialized: Boolean = false,
- val backgroundColor: Int,
/**
* App name that will be displayed on the player.
*/
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
index cf58fc76b1ab..fd44993b45d8 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
@@ -85,7 +85,6 @@ private const val EXTRAS_SMARTSPACE_DISMISS_INTENT_KEY = "dismiss_intent"
private val LOADING = MediaData(
userId = -1,
initialized = false,
- backgroundColor = 0,
app = null,
appIcon = null,
artist = null,
@@ -177,7 +176,6 @@ class MediaDataManager(
private val themeText = com.android.settingslib.Utils.getColorAttr(context,
com.android.internal.R.attr.textColorPrimary).defaultColor
- private val bgColor = context.getColor(R.color.material_dynamic_secondary95)
// Internal listeners are part of the internal pipeline. External listeners (those registered
// with [MediaDeviceManager.addListener]) receive events after they have propagated through
@@ -591,7 +589,7 @@ class MediaDataManager(
val mediaAction = getResumeMediaAction(resumeAction)
val lastActive = systemClock.elapsedRealtime()
foregroundExecutor.execute {
- onMediaDataLoaded(packageName, null, MediaData(userId, true, bgColor, appName,
+ onMediaDataLoaded(packageName, null, MediaData(userId, true, appName,
null, desc.subtitle, desc.title, artworkIcon, listOf(mediaAction), listOf(0),
MediaButton(playOrPause = mediaAction), packageName, token, appIntent,
device = null, active = false,
@@ -713,7 +711,7 @@ class MediaDataManager(
val resumeAction: Runnable? = mediaEntries[key]?.resumeAction
val hasCheckedForResume = mediaEntries[key]?.hasCheckedForResume == true
val active = mediaEntries[key]?.active ?: true
- onMediaDataLoaded(key, oldKey, MediaData(sbn.normalizedUserId, true, bgColor, app,
+ onMediaDataLoaded(key, oldKey, MediaData(sbn.normalizedUserId, true, app,
smallIcon, artist, song, artWorkIcon, actionIcons, actionsToShowCollapsed,
semanticActions, sbn.packageName, token, notif.contentIntent, device,
active, resumeAction = resumeAction, playbackLocation = playbackLocation,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt
index 86527d9558fd..8f967ab5294f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/ColorSchemeTransitionTest.kt
@@ -38,7 +38,6 @@ import org.mockito.junit.MockitoJUnit
private const val DEFAULT_COLOR = Color.RED
private const val TARGET_COLOR = Color.BLUE
-private const val BG_COLOR = Color.GREEN
@SmallTest
@RunWith(AndroidTestingRunner::class)
@@ -66,8 +65,7 @@ class ColorSchemeTransitionTest : SysuiTestCase() {
transitionFactory = { default, extractColor, applyColor -> mockTransition }
whenever(extractColor.invoke(colorScheme)).thenReturn(TARGET_COLOR)
- colorSchemeTransition = ColorSchemeTransition(context,
- BG_COLOR, mediaViewHolder, transitionFactory)
+ colorSchemeTransition = ColorSchemeTransition(context, mediaViewHolder, transitionFactory)
colorTransition = object : ColorTransition(DEFAULT_COLOR, extractColor, applyColor) {
override fun buildAnimator(): ValueAnimator {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
index df9da0ea4f37..33db99342586 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
@@ -90,7 +90,6 @@ import org.mockito.Mockito.verify
import org.mockito.junit.MockitoJUnit
private const val KEY = "TEST_KEY"
-private const val BG_COLOR = Color.RED
private const val PACKAGE = "PKG"
private const val ARTIST = "ARTIST"
private const val TITLE = "TITLE"
@@ -247,7 +246,6 @@ public class MediaControlPanelTest : SysuiTestCase() {
session.setActive(true)
mediaData = MediaTestUtils.emptyMediaData.copy(
- backgroundColor = BG_COLOR,
artist = ARTIST,
song = TITLE,
packageName = PACKAGE,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataCombineLatestTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataCombineLatestTest.java
index eacec20cac12..3e335c5163a9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataCombineLatestTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataCombineLatestTest.java
@@ -57,7 +57,6 @@ public class MediaDataCombineLatestTest extends SysuiTestCase {
private static final String OLD_KEY = "TEST_KEY_OLD";
private static final String APP = "APP";
private static final String PACKAGE = "PKG";
- private static final int BG_COLOR = Color.RED;
private static final String ARTIST = "ARTIST";
private static final String TITLE = "TITLE";
private static final String DEVICE_NAME = "DEVICE_NAME";
@@ -76,7 +75,7 @@ public class MediaDataCombineLatestTest extends SysuiTestCase {
mManager.addListener(mListener);
mMediaData = new MediaData(
- USER_ID, true, BG_COLOR, APP, null, ARTIST, TITLE, null,
+ USER_ID, true, APP, null, ARTIST, TITLE, null,
new ArrayList<>(), new ArrayList<>(), null, PACKAGE, null, null, null, true, null,
MediaData.PLAYBACK_LOCAL, false, KEY, false, false, false, 0L,
InstanceId.fakeInstanceId(-1), -1);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaTestUtils.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaTestUtils.kt
index c7ef94eb6a64..ae58fe67da23 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaTestUtils.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaTestUtils.kt
@@ -7,7 +7,6 @@ class MediaTestUtils {
val emptyMediaData = MediaData(
userId = 0,
initialized = true,
- backgroundColor = 0,
app = null,
appIcon = null,
artist = null,