incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wayne Fisher (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CB-621) camera.getPicture() calls both the success and error callbacks when a picture is taken.
Date Tue, 01 May 2012 20:42:55 GMT
Wayne Fisher created CB-621:
-------------------------------

             Summary: 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 Callback
          Issue Type: Bug
          Components: BlackBerry
    Affects Versions: 1.4.0, 1.7.0
         Environment: BlackBerry PlayBook v2.0.

            Reporter: Wayne Fisher


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