am 4de2ab4c: am 7081a5d1: Merge "Correctly iterate through MediaProjection callbacks." into lmp-mr1-dev
* commit '4de2ab4c55f74a7e166f58c7b7e72fc47c0d24c1': Correctly iterate through MediaProjection callbacks.
This commit is contained in:
@@ -76,6 +76,9 @@ public final class MediaProjection {
|
|||||||
if (callback == null) {
|
if (callback == null) {
|
||||||
throw new IllegalArgumentException("callback should not be null");
|
throw new IllegalArgumentException("callback should not be null");
|
||||||
}
|
}
|
||||||
|
if (handler == null) {
|
||||||
|
handler = new Handler();
|
||||||
|
}
|
||||||
mCallbacks.put(callback, new CallbackRecord(callback, handler));
|
mCallbacks.put(callback, new CallbackRecord(callback, handler));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,16 +185,15 @@ public final class MediaProjection {
|
|||||||
private final class MediaProjectionCallback extends IMediaProjectionCallback.Stub {
|
private final class MediaProjectionCallback extends IMediaProjectionCallback.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
final int N = mCallbacks.size();
|
for (CallbackRecord cbr : mCallbacks.values()) {
|
||||||
for (int i = 0; i < N; i++) {
|
cbr.onStop();
|
||||||
mCallbacks.get(i).onStop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final static class CallbackRecord {
|
private final static class CallbackRecord {
|
||||||
private Callback mCallback;
|
private final Callback mCallback;
|
||||||
private Handler mHandler;
|
private final Handler mHandler;
|
||||||
|
|
||||||
public CallbackRecord(Callback callback, Handler handler) {
|
public CallbackRecord(Callback callback, Handler handler) {
|
||||||
mCallback = callback;
|
mCallback = callback;
|
||||||
|
|||||||
Reference in New Issue
Block a user