Loading packages/SystemUI/src/com/android/systemui/media/controls/domain/resume/MediaResumeListener.kt +22 −19 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.media.controls.domain.resume package com.android.systemui.media.controls.domain.resume import android.annotation.WorkerThread import android.content.BroadcastReceiver import android.content.BroadcastReceiver import android.content.ComponentName import android.content.ComponentName import android.content.Context import android.content.Context Loading @@ -41,6 +42,7 @@ import com.android.systemui.media.controls.util.MediaFlags import com.android.systemui.settings.UserTracker import com.android.systemui.settings.UserTracker import com.android.systemui.tuner.TunerService import com.android.systemui.tuner.TunerService import com.android.systemui.util.Utils import com.android.systemui.util.Utils import com.android.systemui.util.kotlin.logD import com.android.systemui.util.time.SystemClock import com.android.systemui.util.time.SystemClock import java.io.PrintWriter import java.io.PrintWriter import java.util.concurrent.ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue Loading Loading @@ -86,11 +88,12 @@ constructor( @VisibleForTesting @VisibleForTesting val userUnlockReceiver = val userUnlockReceiver = object : BroadcastReceiver() { object : BroadcastReceiver() { @WorkerThread override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) { if (Intent.ACTION_USER_UNLOCKED == intent.action) { if (Intent.ACTION_USER_UNLOCKED == intent.action) { val userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1) val userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1) if (userId == currentUserId) { if (userId == currentUserId) { backgroundExecutor.execute { loadMediaResumptionControls() } loadMediaResumptionControls() } } } } } } Loading @@ -109,7 +112,7 @@ constructor( override fun addTrack( override fun addTrack( desc: MediaDescription, desc: MediaDescription, component: ComponentName, component: ComponentName, browser: ResumeMediaBrowser browser: ResumeMediaBrowser, ) { ) { val token = browser.token val token = browser.token val appIntent = browser.appIntent val appIntent = browser.appIntent Loading @@ -123,7 +126,7 @@ constructor( Log.e(TAG, "Error getting package information", e) Log.e(TAG, "Error getting package information", e) } } Log.d(TAG, "Adding resume controls for ${browser.userId}: $desc") logD(TAG) { "Adding resume controls for ${browser.userId}: $desc" } mediaDataManager.addResumptionControls( mediaDataManager.addResumptionControls( browser.userId, browser.userId, desc, desc, Loading @@ -131,7 +134,7 @@ constructor( token, token, appName.toString(), appName.toString(), appIntent, appIntent, component.packageName component.packageName, ) ) } } } } Loading @@ -144,8 +147,8 @@ constructor( broadcastDispatcher.registerReceiver( broadcastDispatcher.registerReceiver( userUnlockReceiver, userUnlockReceiver, unlockFilter, unlockFilter, null, backgroundExecutor, UserHandle.ALL UserHandle.ALL, ) ) userTracker.addCallback(userTrackerCallback, mainExecutor) userTracker.addCallback(userTrackerCallback, mainExecutor) loadSavedComponents() loadSavedComponents() Loading @@ -163,7 +166,7 @@ constructor( mediaDataManager.setMediaResumptionEnabled(useMediaResumption) mediaDataManager.setMediaResumptionEnabled(useMediaResumption) } } }, }, Settings.Secure.MEDIA_CONTROLS_RESUME Settings.Secure.MEDIA_CONTROLS_RESUME, ) ) } } Loading Loading @@ -197,11 +200,11 @@ constructor( } } resumeComponents.add(component to lastPlayed) resumeComponents.add(component to lastPlayed) } } Log.d( TAG, logD(TAG) { "loaded resume components for $currentUserId: " + "loaded resume components for $currentUserId: " + "${resumeComponents.toArray().contentToString()}" resumeComponents.toArray().contentToString() ) } if (needsUpdate) { if (needsUpdate) { // Save any missing times that we had to fill in // Save any missing times that we had to fill in Loading @@ -228,7 +231,7 @@ constructor( mediaBrowserFactory.create(mediaBrowserCallback, it.first, currentUserId) mediaBrowserFactory.create(mediaBrowserCallback, it.first, currentUserId) browser.findRecentMedia() browser.findRecentMedia() } else { } else { Log.d(TAG, "User $currentUserId does not have component ${it.first}") logD(TAG) { "User $currentUserId does not have component ${it.first}" } } } } } } } Loading @@ -240,7 +243,7 @@ constructor( data: MediaData, data: MediaData, immediately: Boolean, immediately: Boolean, receivedSmartspaceCardLatency: Int, receivedSmartspaceCardLatency: Int, isSsReactivated: Boolean isSsReactivated: Boolean, ) { ) { if (useMediaResumption) { if (useMediaResumption) { // If this had been started from a resume state, disconnect now that it's live // If this had been started from a resume state, disconnect now that it's live Loading Loading @@ -281,7 +284,7 @@ constructor( mediaBrowserFactory.create( mediaBrowserFactory.create( object : ResumeMediaBrowser.Callback() { object : ResumeMediaBrowser.Callback() { override fun onConnected() { override fun onConnected() { Log.d(TAG, "Connected to $componentName") logD(TAG) { "Connected to $componentName" } } } override fun onError() { override fun onError() { Loading @@ -292,20 +295,20 @@ constructor( override fun addTrack( override fun addTrack( desc: MediaDescription, desc: MediaDescription, component: ComponentName, component: ComponentName, browser: ResumeMediaBrowser browser: ResumeMediaBrowser, ) { ) { // Since this is a test, just save the component for later // Since this is a test, just save the component for later Log.d( logD(TAG) { TAG, "Can get resumable media for ${browser.userId} from $componentName" "Can get resumable media for ${browser.userId} from $componentName" ) } mediaDataManager.setResumeAction(key, getResumeAction(componentName)) mediaDataManager.setResumeAction(key, getResumeAction(componentName)) updateResumptionList(componentName) updateResumptionList(componentName) mediaBrowser = null mediaBrowser = null } } }, }, componentName, componentName, currentUserId currentUserId, ) ) mediaBrowser?.testConnection() mediaBrowser?.testConnection() } } Loading Loading
packages/SystemUI/src/com/android/systemui/media/controls/domain/resume/MediaResumeListener.kt +22 −19 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.media.controls.domain.resume package com.android.systemui.media.controls.domain.resume import android.annotation.WorkerThread import android.content.BroadcastReceiver import android.content.BroadcastReceiver import android.content.ComponentName import android.content.ComponentName import android.content.Context import android.content.Context Loading @@ -41,6 +42,7 @@ import com.android.systemui.media.controls.util.MediaFlags import com.android.systemui.settings.UserTracker import com.android.systemui.settings.UserTracker import com.android.systemui.tuner.TunerService import com.android.systemui.tuner.TunerService import com.android.systemui.util.Utils import com.android.systemui.util.Utils import com.android.systemui.util.kotlin.logD import com.android.systemui.util.time.SystemClock import com.android.systemui.util.time.SystemClock import java.io.PrintWriter import java.io.PrintWriter import java.util.concurrent.ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue Loading Loading @@ -86,11 +88,12 @@ constructor( @VisibleForTesting @VisibleForTesting val userUnlockReceiver = val userUnlockReceiver = object : BroadcastReceiver() { object : BroadcastReceiver() { @WorkerThread override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) { if (Intent.ACTION_USER_UNLOCKED == intent.action) { if (Intent.ACTION_USER_UNLOCKED == intent.action) { val userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1) val userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1) if (userId == currentUserId) { if (userId == currentUserId) { backgroundExecutor.execute { loadMediaResumptionControls() } loadMediaResumptionControls() } } } } } } Loading @@ -109,7 +112,7 @@ constructor( override fun addTrack( override fun addTrack( desc: MediaDescription, desc: MediaDescription, component: ComponentName, component: ComponentName, browser: ResumeMediaBrowser browser: ResumeMediaBrowser, ) { ) { val token = browser.token val token = browser.token val appIntent = browser.appIntent val appIntent = browser.appIntent Loading @@ -123,7 +126,7 @@ constructor( Log.e(TAG, "Error getting package information", e) Log.e(TAG, "Error getting package information", e) } } Log.d(TAG, "Adding resume controls for ${browser.userId}: $desc") logD(TAG) { "Adding resume controls for ${browser.userId}: $desc" } mediaDataManager.addResumptionControls( mediaDataManager.addResumptionControls( browser.userId, browser.userId, desc, desc, Loading @@ -131,7 +134,7 @@ constructor( token, token, appName.toString(), appName.toString(), appIntent, appIntent, component.packageName component.packageName, ) ) } } } } Loading @@ -144,8 +147,8 @@ constructor( broadcastDispatcher.registerReceiver( broadcastDispatcher.registerReceiver( userUnlockReceiver, userUnlockReceiver, unlockFilter, unlockFilter, null, backgroundExecutor, UserHandle.ALL UserHandle.ALL, ) ) userTracker.addCallback(userTrackerCallback, mainExecutor) userTracker.addCallback(userTrackerCallback, mainExecutor) loadSavedComponents() loadSavedComponents() Loading @@ -163,7 +166,7 @@ constructor( mediaDataManager.setMediaResumptionEnabled(useMediaResumption) mediaDataManager.setMediaResumptionEnabled(useMediaResumption) } } }, }, Settings.Secure.MEDIA_CONTROLS_RESUME Settings.Secure.MEDIA_CONTROLS_RESUME, ) ) } } Loading Loading @@ -197,11 +200,11 @@ constructor( } } resumeComponents.add(component to lastPlayed) resumeComponents.add(component to lastPlayed) } } Log.d( TAG, logD(TAG) { "loaded resume components for $currentUserId: " + "loaded resume components for $currentUserId: " + "${resumeComponents.toArray().contentToString()}" resumeComponents.toArray().contentToString() ) } if (needsUpdate) { if (needsUpdate) { // Save any missing times that we had to fill in // Save any missing times that we had to fill in Loading @@ -228,7 +231,7 @@ constructor( mediaBrowserFactory.create(mediaBrowserCallback, it.first, currentUserId) mediaBrowserFactory.create(mediaBrowserCallback, it.first, currentUserId) browser.findRecentMedia() browser.findRecentMedia() } else { } else { Log.d(TAG, "User $currentUserId does not have component ${it.first}") logD(TAG) { "User $currentUserId does not have component ${it.first}" } } } } } } } Loading @@ -240,7 +243,7 @@ constructor( data: MediaData, data: MediaData, immediately: Boolean, immediately: Boolean, receivedSmartspaceCardLatency: Int, receivedSmartspaceCardLatency: Int, isSsReactivated: Boolean isSsReactivated: Boolean, ) { ) { if (useMediaResumption) { if (useMediaResumption) { // If this had been started from a resume state, disconnect now that it's live // If this had been started from a resume state, disconnect now that it's live Loading Loading @@ -281,7 +284,7 @@ constructor( mediaBrowserFactory.create( mediaBrowserFactory.create( object : ResumeMediaBrowser.Callback() { object : ResumeMediaBrowser.Callback() { override fun onConnected() { override fun onConnected() { Log.d(TAG, "Connected to $componentName") logD(TAG) { "Connected to $componentName" } } } override fun onError() { override fun onError() { Loading @@ -292,20 +295,20 @@ constructor( override fun addTrack( override fun addTrack( desc: MediaDescription, desc: MediaDescription, component: ComponentName, component: ComponentName, browser: ResumeMediaBrowser browser: ResumeMediaBrowser, ) { ) { // Since this is a test, just save the component for later // Since this is a test, just save the component for later Log.d( logD(TAG) { TAG, "Can get resumable media for ${browser.userId} from $componentName" "Can get resumable media for ${browser.userId} from $componentName" ) } mediaDataManager.setResumeAction(key, getResumeAction(componentName)) mediaDataManager.setResumeAction(key, getResumeAction(componentName)) updateResumptionList(componentName) updateResumptionList(componentName) mediaBrowser = null mediaBrowser = null } } }, }, componentName, componentName, currentUserId currentUserId, ) ) mediaBrowser?.testConnection() mediaBrowser?.testConnection() } } Loading