From 623122cd98594e295b91f5d7b883f8b5126bd4b8 Mon Sep 17 00:00:00 2001 From: Christofer Ã…kersten Date: Tue, 13 Mar 2018 13:30:06 +0900 Subject: Ensure members are non-null in callback Bug: 74570008 Test: runtest-cts-MediaComponents -r 100 Change-Id: I59590afae4e67fa8a90f8a7b4a6be58ce54e2806 --- .../java/android/media/session/MediaSessionManager.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java index 6b130cc1c402..051321c84d9a 100644 --- a/media/java/android/media/session/MediaSessionManager.java +++ b/media/java/android/media/session/MediaSessionManager.java @@ -775,8 +775,7 @@ public final class MediaSessionManager { public void run() { final Context context = mContext; if (context != null) { - ArrayList controllers - = new ArrayList(); + ArrayList controllers = new ArrayList<>(); int size = tokens.size(); for (int i = 0; i < size; i++) { controllers.add(new MediaController(context, tokens.get(i))); @@ -814,10 +813,16 @@ public final class MediaSessionManager { private final ISessionTokensListener.Stub mStub = new ISessionTokensListener.Stub() { @Override public void onSessionTokensChanged(final List bundles) { - mExecutor.execute(() -> { - List tokens = toTokenList(mContext, bundles); - mListener.onSessionTokensChanged(tokens); - }); + final Executor executor = mExecutor; + if (executor != null) { + executor.execute(() -> { + final Context context = mContext; + final OnSessionTokensChangedListener listener = mListener; + if (context != null && listener != null) { + listener.onSessionTokensChanged(toTokenList(context, bundles)); + } + }); + } } }; -- cgit v1.2.3-59-g8ed1b