summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2014-12-03 01:14:20 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-03 01:14:22 +0000
commit7081a5d1ae6b9fe5d92dca25a85524c2c2421e1e (patch)
treecae5f3369dc4574a3330cbdfead520f59b1fdee3
parent4eb2e04f4d3eafdf56840a0988dd730dc433478d (diff)
parent9e8d9aca07913b3e8a017614088048c721a82ccb (diff)
downloadframeworks_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.java12
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;