diff options
author | Michael Wright <michaelwr@google.com> | 2014-12-03 01:14:20 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-12-03 01:14:22 +0000 |
commit | 7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e (patch) | |
tree | cae5f3369dc4574a3330cbdfead520f59b1fdee3 | |
parent | 4eb2e04f4d3eafdf56840a0988dd730dc433478d (diff) | |
parent | 9e8d9aca07913b3e8a017614088048c721a82ccb (diff) | |
download | frameworks_base-7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e.zip frameworks_base-7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e.tar.gz frameworks_base-7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e.tar.bz2 |
Merge "Correctly iterate through MediaProjection callbacks." into lmp-mr1-dev
-rw-r--r-- | media/java/android/media/projection/MediaProjection.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/media/java/android/media/projection/MediaProjection.java b/media/java/android/media/projection/MediaProjection.java index 2ca9b9a..a6bde1d 100644 --- a/media/java/android/media/projection/MediaProjection.java +++ b/media/java/android/media/projection/MediaProjection.java @@ -76,6 +76,9 @@ public final class MediaProjection { if (callback == null) { throw new IllegalArgumentException("callback should not be null"); } + if (handler == null) { + handler = new Handler(); + } mCallbacks.put(callback, new CallbackRecord(callback, handler)); } @@ -182,16 +185,15 @@ public final class MediaProjection { private final class MediaProjectionCallback extends IMediaProjectionCallback.Stub { @Override public void onStop() { - final int N = mCallbacks.size(); - for (int i = 0; i < N; i++) { - mCallbacks.get(i).onStop(); + for (CallbackRecord cbr : mCallbacks.values()) { + cbr.onStop(); } } } private final static class CallbackRecord { - private Callback mCallback; - private Handler mHandler; + private final Callback mCallback; + private final Handler mHandler; public CallbackRecord(Callback callback, Handler handler) { mCallback = callback; |