diff options
| author | 2018-03-13 11:00:25 +0000 | |
|---|---|---|
| committer | 2018-03-13 11:00:25 +0000 | |
| commit | f0927b0726f2a900cba03fdc6e7976754ed8618a (patch) | |
| tree | 4c8d934fb0b4d6e9b6c26159d283e655cfacd466 | |
| parent | 5a0b48a13d6a7e7de4286522546dfb6ecd1dc2e2 (diff) | |
| parent | 623122cd98594e295b91f5d7b883f8b5126bd4b8 (diff) | |
Merge "Ensure members are non-null in callback" into pi-dev
| -rw-r--r-- | media/java/android/media/session/MediaSessionManager.java | 17 |
1 files 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<MediaController> controllers - = new ArrayList<MediaController>(); + ArrayList<MediaController> 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<Bundle> bundles) { - mExecutor.execute(() -> { - List<SessionToken2> 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)); + } + }); + } } }; |