Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7f6b215 authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "[Flexiglass] avoid memory usage increase due to media notification spam" into main

parents 18fa0832 9d219168
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.util.Log
import androidx.media.utils.MediaConstants
import com.android.systemui.media.controls.domain.pipeline.LegacyMediaDataManagerImpl.Companion.MAX_COMPACT_ACTIONS
import com.android.systemui.media.controls.domain.pipeline.LegacyMediaDataManagerImpl.Companion.MAX_NOTIFICATION_ACTIONS
import com.android.systemui.media.controls.shared.MediaControlDrawables
import com.android.systemui.media.controls.shared.model.MediaAction
import com.android.systemui.media.controls.shared.model.MediaButton
import com.android.systemui.plugins.ActivityStarter
@@ -58,14 +59,13 @@ fun createActionsFromState(
    val playOrPause =
        if (isConnectingState(state.state)) {
            // Spinner needs to be animating to render anything. Start it here.
            val drawable =
                context.getDrawable(com.android.internal.R.drawable.progress_small_material)
            val drawable = MediaControlDrawables.getProgress(context)
            (drawable as Animatable).start()
            MediaAction(
                drawable,
                null, // no action to perform when clicked
                context.getString(R.string.controls_media_button_connecting),
                context.getDrawable(R.drawable.ic_media_connecting_container),
                MediaControlDrawables.getConnecting(context),
                // Specify a rebind id to prevent the spinner from restarting on later binds.
                com.android.internal.R.drawable.progress_small_material
            )
@@ -153,23 +153,23 @@ private fun getStandardAction(
    return when (action) {
        PlaybackState.ACTION_PLAY -> {
            MediaAction(
                context.getDrawable(R.drawable.ic_media_play),
                MediaControlDrawables.getPlayIcon(context),
                { controller.transportControls.play() },
                context.getString(R.string.controls_media_button_play),
                context.getDrawable(R.drawable.ic_media_play_container)
                MediaControlDrawables.getPlayBackground(context)
            )
        }
        PlaybackState.ACTION_PAUSE -> {
            MediaAction(
                context.getDrawable(R.drawable.ic_media_pause),
                MediaControlDrawables.getPauseIcon(context),
                { controller.transportControls.pause() },
                context.getString(R.string.controls_media_button_pause),
                context.getDrawable(R.drawable.ic_media_pause_container)
                MediaControlDrawables.getPauseBackground(context)
            )
        }
        PlaybackState.ACTION_SKIP_TO_PREVIOUS -> {
            MediaAction(
                context.getDrawable(R.drawable.ic_media_prev),
                MediaControlDrawables.getPrevIcon(context),
                { controller.transportControls.skipToPrevious() },
                context.getString(R.string.controls_media_button_prev),
                null
@@ -177,7 +177,7 @@ private fun getStandardAction(
        }
        PlaybackState.ACTION_SKIP_TO_NEXT -> {
            MediaAction(
                context.getDrawable(R.drawable.ic_media_next),
                MediaControlDrawables.getNextIcon(context),
                { controller.transportControls.skipToNext() },
                context.getString(R.string.controls_media_button_next),
                null
+191 −270

File changed.

Preview size limit exceeded, changes collapsed.

+200 −187

File changed.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.media.controls.domain.pipeline

import android.app.smartspace.SmartspaceManager
import android.content.applicationContext
import android.os.fakeExecutorHandler
import com.android.keyguard.keyguardUpdateMonitor
import com.android.systemui.broadcast.broadcastDispatcher
import com.android.systemui.concurrency.fakeExecutor
@@ -45,7 +44,7 @@ val Kosmos.mediaDataProcessor by
            backgroundExecutor = fakeExecutor,
            uiExecutor = fakeExecutor,
            foregroundExecutor = fakeExecutor,
            handler = fakeExecutorHandler,
            mainDispatcher = testDispatcher,
            mediaControllerFactory = fakeMediaControllerFactory,
            broadcastDispatcher = broadcastDispatcher,
            dumpManager = dumpManager,
@@ -60,5 +59,6 @@ val Kosmos.mediaDataProcessor by
            smartspaceManager = SmartspaceManager(applicationContext),
            keyguardUpdateMonitor = keyguardUpdateMonitor,
            mediaDataRepository = mediaDataRepository,
            mediaDataLoader = { mediaDataLoader },
        )
    }