So, our camera API doesn't have error codes. Per the docs, it returns a
string [1]. Gnarly.

The strings are also all different across platforms. Android [2] and iOS
[3] (search for "error").

For extra-good times, BlackBerry-webworks-java [4] does not ever return an
error, except in the case where the file is deemed "too big" [5]. So, if
the camera app is closed, we don't return an error code back to the user
for this platform, which is different from iOS + Android.

BlackBerry-webworks-air registers JS-based callbacks using the BB HTML5
transport API [6]. Unfortunately I can't find documentation about what
kind of parameters are passed into the error callbacks (anyone from RIM
help me out?). Finally, if the camera is closed, no callback gets invoked
either [7], which is at odds with Android + iOS.

BlackBerry 10 implementation [8] no-ops the onCancel and onInvoke
callbacks as well, which again, is at odds.

---

Proposal: add error codes.

[1] 
http://docs.phonegap.com/en/2.1.0/cordova_camera_camera.md.html#cameraError
[2] 
https://github.com/apache/incubator-cordova-android/blob/master/framework/s
rc/org/apache/cordova/CameraLauncher.java#L352-L363
[3] 
https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Clas
ses/CDVCamera.m#L80
[4] 
https://github.com/apache/incubator-cordova-blackberry-webworks/blob/master
/framework/ext/src/org/apache/cordova/camera/Camera.java
[5] 
https://github.com/apache/incubator-cordova-blackberry-webworks/blob/master
/framework/ext/src/org/apache/cordova/camera/Camera.java#L225
[6] 
https://github.com/apache/incubator-cordova-js/blob/master/lib/webworks/air
/plugin/air/camera.js
[7] 
https://github.com/apache/incubator-cordova-js/blob/master/lib/webworks/air
/plugin/air/camera.js#L27
[8] 
https://github.com/apache/incubator-cordova-js/blob/master/lib/webworks/qnx
/plugin/qnx/camera.js

Reply via email to