Loading packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt +14 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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() Loading Loading @@ -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) Loading Loading @@ -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 packages/SystemUI/tests/src/com/android/systemui/media/MediaResumeListenerTest.kt +4 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading Loading @@ -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) Loading Loading @@ -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()) Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaResumeListener.kt +14 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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() Loading Loading @@ -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) Loading Loading @@ -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
packages/SystemUI/tests/src/com/android/systemui/media/MediaResumeListenerTest.kt +4 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading Loading @@ -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) Loading Loading @@ -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()) Loading