diff --git a/android/src/main/java/com/facebook/flipper/plugins/fresco/FrescoFlipperPlugin.java b/android/src/main/java/com/facebook/flipper/plugins/fresco/FrescoFlipperPlugin.java index 6e7d593b2..ba21d89eb 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/fresco/FrescoFlipperPlugin.java +++ b/android/src/main/java/com/facebook/flipper/plugins/fresco/FrescoFlipperPlugin.java @@ -175,12 +175,20 @@ public class FrescoFlipperPlugin extends BufferingFlipperPlugin getImageData( imageID, encodedBitmap, bitmap, mFlipperImageTracker.getUriString(cacheKey))); } - responder.success( + + FlipperArray.Builder arrayBuilder = new FlipperArray.Builder(); + for (FlipperObject obj : mEvents) { + arrayBuilder.put(obj); + } + mEvents.clear(); + + FlipperObject object = new FlipperObject.Builder() .put("levels", levels) .put("imageDataList", imageDataListBuilder.build()) - .put("events", new FlipperArray(new JSONArray(mEvents))) - .build()); + .put("events", arrayBuilder.build()) + .build(); + responder.success(object); } }); connection.receive( diff --git a/src/plugins/fresco/index.js b/src/plugins/fresco/index.js index 3865ccf25..b4d8d2b6b 100644 --- a/src/plugins/fresco/index.js +++ b/src/plugins/fresco/index.js @@ -105,8 +105,15 @@ export default class extends FlipperPlugin { }; events.forEach((event: ImageEventWithId, index) => { + if (!event) { + return; + } const {attribution} = event; - if (attribution instanceof Array && attribution.length > 0) { + if ( + attribution && + attribution instanceof Array && + attribution.length > 0 + ) { const surface = attribution[0].trim(); if (surface.length > 0) { pluginData.surfaceList.add(surface);