From cdb49eaa1fda8a9ee262035cf6d162baa4f95828 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Wed, 16 Oct 2013 11:58:07 -0700 Subject: [PATCH] CB-4471: Mitigating Android 4.3 errors where data isn't being passed so NPE doesn't happen --- framework/src/org/apache/cordova/Capture.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/framework/src/org/apache/cordova/Capture.java b/framework/src/org/apache/cordova/Capture.java index e6e9ecec..85e0743e 100644 --- a/framework/src/org/apache/cordova/Capture.java +++ b/framework/src/org/apache/cordova/Capture.java @@ -305,14 +305,20 @@ public class Capture extends CordovaPlugin { // Get the uri of the video clip Uri data = intent.getData(); // create a file object from the uri - results.put(createMediaFile(data)); - - if (results.length() >= limit) { - // Send Uri back to JavaScript for viewing video - this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, results)); - } else { - // still need to capture more video clips - captureVideo(duration); + if(data == null) + { + this.fail(createErrorObject(CAPTURE_NO_MEDIA_FILES, "Error: data is null")); + } + else + { + results.put(createMediaFile(data)); + if (results.length() >= limit) { + // Send Uri back to JavaScript for viewing video + this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, results)); + } else { + // still need to capture more video clips + captureVideo(duration); + } } } }