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

Commit 4488e1bd authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Run onPrimaryMetadataOrStateChange on main thread

Flag: com.android.systemui.notification_media_manager_background_execution
Bug: 348376898
Bug: 336612071
Test: atest SystemUiRoboTests:NotificationMediaManagerTest
Change-Id: I68a57f00ff167df590e1a7f0d16d3cc7cf9f77ce
parent 2257abae
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -291,8 +291,9 @@ public class NotificationMediaManager implements Dumpable {
    }

    private void updateMediaMetaData(MediaListener callback) {
        callback.onPrimaryMetadataOrStateChanged(mMediaMetadata,
                getMediaControllerPlaybackState(mMediaController));
        int playbackState = getMediaControllerPlaybackState(mMediaController);
        mHandler.post(
                () -> callback.onPrimaryMetadataOrStateChanged(mMediaMetadata, playbackState));
    }

    public void removeCallback(MediaListener callback) {
@@ -437,9 +438,11 @@ public class NotificationMediaManager implements Dumpable {

    private void updateMediaMetaData(List<MediaListener> callbacks) {
        @PlaybackState.State int state = getMediaControllerPlaybackState(mMediaController);
        mHandler.post(() -> {
            for (int i = 0; i < callbacks.size(); i++) {
                callbacks.get(i).onPrimaryMetadataOrStateChanged(mMediaMetadata, state);
            }
        });
    }

    @Override