From 320a45f7d621c266c854af95348eb2407d89df12 Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 12 Sep 2023 09:49:21 -0700 Subject: [PATCH] Session tests: Log when no controllers are connected While debugging various session tests failure I found that sometimes this list was empty (e.g. when a controller had failed to connect, or hadn't finished connecting yet) - resulting in these methods being silent no-ops. I think it's basically never expected for there to be no controllers connected when these methods are invoked, so this logs at ERROR level to give a clue of what happened when looking at the test logcat. PiperOrigin-RevId: 564750969 --- .../media3/session/MediaSessionProviderService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index 49850464f3..4cc7992577 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -454,6 +454,11 @@ public class MediaSessionProviderService extends Service { () -> { MediaSession session = sessionMap.get(sessionId); List controllerInfos = MediaTestUtils.getTestControllerInfos(session); + if (controllerInfos.isEmpty()) { + Log.e( + TAG, + "No connected controllers to receive custom command. sessionId=" + sessionId); + } for (ControllerInfo info : controllerInfos) { session.sendCustomCommand(info, SessionCommand.CREATOR.fromBundle(command), args); } @@ -476,6 +481,11 @@ public class MediaSessionProviderService extends Service { () -> { MediaSession session = sessionMap.get(sessionId); List controllerInfos = MediaTestUtils.getTestControllerInfos(session); + if (controllerInfos.isEmpty()) { + Log.e( + TAG, + "No connected controllers to receive available commands. sessionId=" + sessionId); + } for (ControllerInfo info : controllerInfos) { session.setAvailableCommands( info,