cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Bond-Caron (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-4071) Capture error callback (should be an object)
Date Wed, 03 Jul 2013 14:15:20 GMT

     [ https://issues.apache.org/jira/browse/CB-4071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Bond-Caron updated CB-4071:
------------------------------------

    Description: 
When using camera.getPicture(), the cameraError is documented as a string but on Android &
iOS, it's actually an object.

On the native side in 2.7: 

Android:

    private static final int CAPTURE_INTERNAL_ERR = 0;

//  private static final int CAPTURE_APPLICATION_BUSY = 1;

//  private static final int CAPTURE_INVALID_ARGUMENT = 2;
    
    private static final int CAPTURE_NO_MEDIA_FILES = 3;

iOS:
enum CDVCaptureError {
   
 CAPTURE_INTERNAL_ERR = 0,
    
 CAPTURE_APPLICATION_BUSY = 1,
    
 CAPTURE_INVALID_ARGUMENT = 2,
    
 CAPTURE_NO_MEDIA_FILES = 3,
    
 CAPTURE_NOT_SUPPORTED = 20

};

Windows 8:
only string errors

Android and iOS have the same looking api on the native side, error callback Android returns
JSON: {message: '', code: int}, iOS returns JSON: {message: '', status: int}, 

Looking at the javascript api, it looks like it should return a 'new CaptureError()' on the
errorCallback, is that the direction for 3.0?

Windows only sends a string as the callback error, it's difficult to know if the user just
cancelled taking a picture or what kind of specific error occurred.

Should I look into creating a patch?

This probably affects other apis, overall I'd like to see the CaptureError() returned more
consistently instead of strings.

It would make sense to improve this in 3.0 and possibly break BC for those expecting strings.

CaptureError() could implemented a 'toString()' to mitigate potential issues.



  was:
When using camera.getPicture(), the cameraError is documented as a string but on Android &
iOS, it's actually an object.

On the native side in 2.7: 

Android:

    private static final int CAPTURE_INTERNAL_ERR = 0;

//  private static final int CAPTURE_APPLICATION_BUSY = 1;

//  private static final int CAPTURE_INVALID_ARGUMENT = 2;
    
    private static final int CAPTURE_NO_MEDIA_FILES = 3;

iOS:
enum CDVCaptureError {
   
 CAPTURE_INTERNAL_ERR = 0,
    
 CAPTURE_APPLICATION_BUSY = 1,
    
 CAPTURE_INVALID_ARGUMENT = 2,
    
 CAPTURE_NO_MEDIA_FILES = 3,
    
 CAPTURE_NOT_SUPPORTED = 20

};

Windows 8:
only string errors

Android and iOS have the same looking api on the native side, error callback Android returns
JSON: {message: '', code: int}, iOS returns JSON: {message: '', status: int}, 

Looking at the javascript api, it looks like it should return a 'new CaptureError()' on the
errorCallback, is that the direction for 3.0?

Windows only sends a string as the callback error, it's difficult to know if the user just
cancelled taking a picture or what kind of specific error occurred.

Should I look into creating a patch?

This probably affects other apis, overall I'd like to see the CaptureError() returned more
consistently instead of strings.

It must sense to improve this in 3.0 and possibly break BC for those expecting strings.

CaptureError() could implemented a 'toString()' to mitigate potential issues.



    
> Capture error callback (should be an object)
> --------------------------------------------
>
>                 Key: CB-4071
>                 URL: https://issues.apache.org/jira/browse/CB-4071
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android, iOS, Windows 8
>    Affects Versions: 2.9.0
>         Environment: All
>            Reporter: Jonathan Bond-Caron
>            Assignee: Joe Bowser
>            Priority: Critical
>
> When using camera.getPicture(), the cameraError is documented as a string but on Android
& iOS, it's actually an object.
> On the native side in 2.7: 
> Android:
>     private static final int CAPTURE_INTERNAL_ERR = 0;
> //  private static final int CAPTURE_APPLICATION_BUSY = 1;
> //  private static final int CAPTURE_INVALID_ARGUMENT = 2;
>     
>     private static final int CAPTURE_NO_MEDIA_FILES = 3;
> iOS:
> enum CDVCaptureError {
>    
>  CAPTURE_INTERNAL_ERR = 0,
>     
>  CAPTURE_APPLICATION_BUSY = 1,
>     
>  CAPTURE_INVALID_ARGUMENT = 2,
>     
>  CAPTURE_NO_MEDIA_FILES = 3,
>     
>  CAPTURE_NOT_SUPPORTED = 20
> };
> Windows 8:
> only string errors
> Android and iOS have the same looking api on the native side, error callback Android
returns JSON: {message: '', code: int}, iOS returns JSON: {message: '', status: int}, 
> Looking at the javascript api, it looks like it should return a 'new CaptureError()'
on the errorCallback, is that the direction for 3.0?
> Windows only sends a string as the callback error, it's difficult to know if the user
just cancelled taking a picture or what kind of specific error occurred.
> Should I look into creating a patch?
> This probably affects other apis, overall I'd like to see the CaptureError() returned
more consistently instead of strings.
> It would make sense to improve this in 3.0 and possibly break BC for those expecting
strings.
> CaptureError() could implemented a 'toString()' to mitigate potential issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message