From 2b22f9e255217240151217e130ec9f51ec4beac7 Mon Sep 17 00:00:00 2001 From: Jaewan Kim Date: Tue, 12 May 2020 15:17:18 +0900 Subject: [PATCH] MediaSessionService: Leave log for any session creation failure This would help to debug why MediaSessionService fails to create a new session without leaving log from the app side. Bug: 155993197 Test: Build Change-Id: I8427467d5866a5611d539ec08425be6e948b5540 --- .../android/server/media/MediaSessionService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index bc0e8166fb428..84ec440dde0ef 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -1134,8 +1134,19 @@ public class MediaSessionService extends SystemService implements Monitor { if (cb == null) { throw new IllegalArgumentException("Controller callback cannot be null"); } - return createSessionInternal(pid, uid, resolvedUserId, packageName, cb, tag, - sessionInfo).getSessionBinder(); + MediaSessionRecord session = createSessionInternal( + pid, uid, resolvedUserId, packageName, cb, tag, sessionInfo); + if (session == null) { + throw new IllegalStateException("Failed to create a new session record"); + } + ISession sessionBinder = session.getSessionBinder(); + if (sessionBinder == null) { + throw new IllegalStateException("Invalid session record"); + } + return sessionBinder; + } catch (Exception e) { + Slog.w(TAG, "Exception in creating a new session", e); + throw e; } finally { Binder.restoreCallingIdentity(token); }