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

Commit c5bd0301 authored by Beth Thibodeau's avatar Beth Thibodeau
Browse files

Dump list of saved resume components

Bug: 176956314
Test: take bugreport, verify is in dumpsys
Test: atest MediaResumeListenerTest
Change-Id: Ie2e3b982a112b03d336d749e3d113071225058bc
parent f17961cd
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -29,11 +29,15 @@ import android.provider.Settings
import android.service.media.MediaBrowserService
import android.util.Log
import com.android.internal.annotations.VisibleForTesting
import com.android.systemui.Dumpable
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dump.DumpManager
import com.android.systemui.tuner.TunerService
import com.android.systemui.util.Utils
import java.io.FileDescriptor
import java.io.PrintWriter
import java.util.concurrent.ConcurrentLinkedQueue
import java.util.concurrent.Executor
import javax.inject.Inject
@@ -49,8 +53,9 @@ class MediaResumeListener @Inject constructor(
    private val broadcastDispatcher: BroadcastDispatcher,
    @Background private val backgroundExecutor: Executor,
    private val tunerService: TunerService,
    private val mediaBrowserFactory: ResumeMediaBrowserFactory
) : MediaDataManager.Listener {
    private val mediaBrowserFactory: ResumeMediaBrowserFactory,
    dumpManager: DumpManager
) : MediaDataManager.Listener, Dumpable {

    private var useMediaResumption: Boolean = Utils.useMediaResumption(context)
    private val resumeComponents: ConcurrentLinkedQueue<ComponentName> = ConcurrentLinkedQueue()
@@ -99,6 +104,7 @@ class MediaResumeListener @Inject constructor(

    init {
        if (useMediaResumption) {
            dumpManager.registerDumpable(TAG, this)
            val unlockFilter = IntentFilter()
            unlockFilter.addAction(Intent.ACTION_USER_UNLOCKED)
            unlockFilter.addAction(Intent.ACTION_USER_SWITCHED)
@@ -283,4 +289,10 @@ class MediaResumeListener @Inject constructor(
            mediaBrowser?.restart()
        }
    }

    override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
        pw.apply {
            println("resumeComponents: $resumeComponents")
        }
    }
}
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.testing.TestableLooper
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.dump.DumpManager
import com.android.systemui.tuner.TunerService
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.time.FakeSystemClock
@@ -85,6 +86,7 @@ class MediaResumeListenerTest : SysuiTestCase() {
    @Mock private lateinit var sharedPrefsEditor: SharedPreferences.Editor
    @Mock private lateinit var mockContext: Context
    @Mock private lateinit var pendingIntent: PendingIntent
    @Mock private lateinit var dumpManager: DumpManager

    @Captor lateinit var callbackCaptor: ArgumentCaptor<ResumeMediaBrowser.Callback>

@@ -120,7 +122,7 @@ class MediaResumeListenerTest : SysuiTestCase() {

        executor = FakeExecutor(FakeSystemClock())
        resumeListener = MediaResumeListener(mockContext, broadcastDispatcher, executor,
                tunerService, resumeBrowserFactory)
                tunerService, resumeBrowserFactory, dumpManager)
        resumeListener.setManager(mediaDataManager)
        mediaDataManager.addListener(resumeListener)

@@ -159,7 +161,7 @@ class MediaResumeListenerTest : SysuiTestCase() {

        // When listener is created, we do NOT register a user change listener
        val listener = MediaResumeListener(context, broadcastDispatcher, executor, tunerService,
                resumeBrowserFactory)
                resumeBrowserFactory, dumpManager)
        listener.setManager(mediaDataManager)
        verify(broadcastDispatcher, never()).registerReceiver(eq(listener.userChangeReceiver),
            any(), any(), any())