Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java +11 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.Dumpable; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.controls.domain.pipeline.MediaDataManager; import com.android.systemui.media.controls.shared.model.MediaData; Loading @@ -47,6 +48,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Objects; import java.util.Optional; import java.util.concurrent.Executor; /** * Handles tasks and state related to media notifications. For example, there is a 'current' media Loading Loading @@ -75,6 +77,8 @@ public class NotificationMediaManager implements Dumpable { private final Context mContext; private final ArrayList<MediaListener> mMediaListeners; private final Executor mBackgroundExecutor; protected NotificationPresenter mPresenter; private MediaController mMediaController; private String mMediaNotificationKey; Loading Loading @@ -115,13 +119,15 @@ public class NotificationMediaManager implements Dumpable { NotifPipeline notifPipeline, NotifCollection notifCollection, MediaDataManager mediaDataManager, DumpManager dumpManager) { DumpManager dumpManager, @Background Executor backgroundExecutor) { mContext = context; mMediaListeners = new ArrayList<>(); mVisibilityProvider = visibilityProvider; mMediaDataManager = mediaDataManager; mNotifPipeline = notifPipeline; mNotifCollection = notifCollection; mBackgroundExecutor = backgroundExecutor; setupNotifPipeline(); Loading Loading @@ -381,9 +387,11 @@ public class NotificationMediaManager implements Dumpable { Log.v(TAG, "DEBUG_MEDIA: Disconnecting from old controller: " + mMediaController.getPackageName()); } mBackgroundExecutor.execute(() -> { mMediaController.unregisterCallback(mMediaListener); } mMediaController = null; }); } } public interface MediaListener { Loading packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java +7 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.systemui.animation.AnimationFeatureFlags; import com.android.systemui.animation.DialogTransitionAnimator; import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dump.DumpHandler; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.controls.domain.pipeline.MediaDataManager; Loading Loading @@ -68,6 +69,8 @@ import dagger.Provides; import dagger.multibindings.ClassKey; import dagger.multibindings.IntoMap; import java.util.concurrent.Executor; import javax.inject.Provider; /** Loading @@ -94,14 +97,16 @@ public interface CentralSurfacesDependenciesModule { NotifPipeline notifPipeline, NotifCollection notifCollection, MediaDataManager mediaDataManager, DumpManager dumpManager) { DumpManager dumpManager, @Background Executor backgroundExecutor) { return new NotificationMediaManager( context, visibilityProvider, notifPipeline, notifCollection, mediaDataManager, dumpManager); dumpManager, backgroundExecutor); } /** */ Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java +11 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.service.notification.StatusBarNotification; import android.util.Log; import com.android.systemui.Dumpable; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.controls.domain.pipeline.MediaDataManager; import com.android.systemui.media.controls.shared.model.MediaData; Loading @@ -47,6 +48,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Objects; import java.util.Optional; import java.util.concurrent.Executor; /** * Handles tasks and state related to media notifications. For example, there is a 'current' media Loading Loading @@ -75,6 +77,8 @@ public class NotificationMediaManager implements Dumpable { private final Context mContext; private final ArrayList<MediaListener> mMediaListeners; private final Executor mBackgroundExecutor; protected NotificationPresenter mPresenter; private MediaController mMediaController; private String mMediaNotificationKey; Loading Loading @@ -115,13 +119,15 @@ public class NotificationMediaManager implements Dumpable { NotifPipeline notifPipeline, NotifCollection notifCollection, MediaDataManager mediaDataManager, DumpManager dumpManager) { DumpManager dumpManager, @Background Executor backgroundExecutor) { mContext = context; mMediaListeners = new ArrayList<>(); mVisibilityProvider = visibilityProvider; mMediaDataManager = mediaDataManager; mNotifPipeline = notifPipeline; mNotifCollection = notifCollection; mBackgroundExecutor = backgroundExecutor; setupNotifPipeline(); Loading Loading @@ -381,9 +387,11 @@ public class NotificationMediaManager implements Dumpable { Log.v(TAG, "DEBUG_MEDIA: Disconnecting from old controller: " + mMediaController.getPackageName()); } mBackgroundExecutor.execute(() -> { mMediaController.unregisterCallback(mMediaListener); } mMediaController = null; }); } } public interface MediaListener { Loading
packages/SystemUI/src/com/android/systemui/statusbar/dagger/CentralSurfacesDependenciesModule.java +7 −2 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.systemui.animation.AnimationFeatureFlags; import com.android.systemui.animation.DialogTransitionAnimator; import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dump.DumpHandler; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.controls.domain.pipeline.MediaDataManager; Loading Loading @@ -68,6 +69,8 @@ import dagger.Provides; import dagger.multibindings.ClassKey; import dagger.multibindings.IntoMap; import java.util.concurrent.Executor; import javax.inject.Provider; /** Loading @@ -94,14 +97,16 @@ public interface CentralSurfacesDependenciesModule { NotifPipeline notifPipeline, NotifCollection notifCollection, MediaDataManager mediaDataManager, DumpManager dumpManager) { DumpManager dumpManager, @Background Executor backgroundExecutor) { return new NotificationMediaManager( context, visibilityProvider, notifPipeline, notifCollection, mediaDataManager, dumpManager); dumpManager, backgroundExecutor); } /** */ Loading