incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Kim (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-621) camera.getPicture() calls both the success and error callbacks when a picture is taken.
Date Thu, 07 Jun 2012 22:04:23 GMT

    [ https://issues.apache.org/jira/browse/CB-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291363#comment-13291363
] 

Tim Kim commented on CB-621:
----------------------------

Hey Wayne, 

I was able to reproduce this issue in version 1.7.0 and 1.8.0. Adding in Gord's changes seemed
to fixed this right up. So either pull in the changes from the apache repo or wait till we
do a 1.9.0 release.

Thanks for reporting. 
                
> camera.getPicture() calls both the success and error callbacks when a picture is taken.
> ---------------------------------------------------------------------------------------
>
>                 Key: CB-621
>                 URL: https://issues.apache.org/jira/browse/CB-621
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: BlackBerry
>    Affects Versions: 1.4.0, 1.7.0
>         Environment: BlackBerry PlayBook v2.0.
>            Reporter: Wayne Fisher
>            Assignee: Tim Kim
>             Fix For: 1.9.0
>
>
> Testing on a 2.0 Playbook, I saw both of my callbacks (success and error) called when
a picture was successfully taken and returned to my app.
> The problem appears to be here:
> {code}
>     cameraAPI = {
>         execute: function (webWorksResult, action, args, win, fail) {
>             if (action === 'takePicture') {
>                 blackberry.media.camera.takePicture(win, fail, fail);
>                 return retAsyncCall();
>             }
>             else {
>                 return retInvalidAction();
>             }
>         }
>     },
> {code}
> The second parameter to WebWorks takePicture() is defined to be "onCameraClosed". It
appears that onCameraClosed is called after the onCaptured (the first parameter) callback
is called.
> I was able to achieve the documented behaviour for camera.getPicture() by modifying the
above code to the following:
> {code}
>     cameraAPI = {
>         execute: function (webWorksResult, action, args, win, fail) {
>             var pictureTaken = false;
>             if (action === 'takePicture') {
>                 function success( picture ) {
>                     pictureTaken = true;
>                     win( picture );
>                 }
>                 function cameraClose() {
>                     if( !pictureTaken ) {
>                         fail( "User canceled operation." );
>                     }
>                 }
>                 blackberry.media.camera.takePicture(success, cameraClose, fail);
>                 return retAsyncCall();
>             }
>             else {
>                 return retInvalidAction();
>             }
>         }
>     },
> {code}
> I would expect that this issue also affects the use of the takePicture method as used
in the Media APIs.
> I tested with PhoneGap v1.4.0. The code example from above is from v1.7.0rc1 which is
implemented virtually the same as v1.4.0.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message