diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java index 8a877b843e9da..904376bf97e18 100644 --- a/media/java/android/media/session/MediaSession.java +++ b/media/java/android/media/session/MediaSession.java @@ -197,8 +197,12 @@ public final class MediaSession { } mContext = context; - mMaxBitmapSize = context.getResources().getDimensionPixelSize( + + int bitmapSize = context.getResources().getDimensionPixelSize( com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize); + + mMaxBitmapSize = Math.min(bitmapSize, 300); + mCbStub = new CallbackStub(this); MediaSessionManager manager = (MediaSessionManager) context .getSystemService(Context.MEDIA_SESSION_SERVICE); diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataLoader.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataLoader.kt index 1a4687b59dbdf..b4bc20611a3e3 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataLoader.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDataLoader.kt @@ -72,6 +72,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.cancel import kotlinx.coroutines.delay import kotlinx.coroutines.ensureActive +import kotlin.math.min /** Loads media information from media style [StatusBarNotification] classes. */ @SysUISingleton @@ -90,8 +91,11 @@ constructor( private val mediaProcessingJobs = ConcurrentHashMap() private val artworkWidth: Int = - context.resources.getDimensionPixelSize( - com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize + min( + context.resources.getDimensionPixelSize( + com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize + ), + 300 ) private val artworkHeight: Int = context.resources.getDimensionPixelSize(R.dimen.qs_media_session_height_expanded)