From b10e37228491abcdae1dbf72ce4877c8eaffe9b0 Mon Sep 17 00:00:00 2001 From: Jaewan Kim Date: Tue, 6 Mar 2018 19:48:32 +0900 Subject: MediaSession2: Fix random NPE in MediaBrowser2Test MediaSessionService#getSession() may be null until the MediaSessionService#onCreate(), and its session callback can be called before that. (e.g. System service can try connecting to the session in another thread) Don't use MediaSessionService#getSession() when it's unclear whether the MediaSessionService#onCreate() is finished. Bug: 74177171 Test: Run MediaComponents test 10 times Change-Id: I89f3d1a59f84f5d950a14a7b412cfbbdad2c8bee --- media/java/android/media/MediaSessionService2.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/MediaSessionService2.java b/media/java/android/media/MediaSessionService2.java index 9032e0ed8215..d352a86d6719 100644 --- a/media/java/android/media/MediaSessionService2.java +++ b/media/java/android/media/MediaSessionService2.java @@ -173,10 +173,12 @@ public abstract class MediaSessionService2 extends Service { /** * Get instance of the {@link MediaSession2} that you've previously created with the * {@link #onCreateSession} for this service. + *

+ * This may be {@code null} before the {@link #onCreate()} is finished. * * @return created session */ - public final MediaSession2 getSession() { + public final @Nullable MediaSession2 getSession() { return mProvider.getSession_impl(); } -- cgit v1.2.3-59-g8ed1b