incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brion Vibber (JIRA)" <>
Subject [jira] [Commented] (CB-1293) Camera.getPicture crashes when selecting from a Picasa album on Android
Date Wed, 29 Aug 2012 19:26:08 GMT


Brion Vibber commented on CB-1293:

Problem seems to be that different things can store at different locations, which may not
be very predictable. :( Safest thing is probably to read the file through Android's ContentResolver.

FileTransfer does that like so:

        if (path.startsWith("content:")) {
            Uri uri = Uri.parse(path);
            return cordova.getActivity().getContentResolver().openInputStream(uri);

Changing CameraLauncher.getScaledBitmap to be able to take a 'content:' URI directly and do
BitmapFactory.decodeStream() instead of BitmapFactory.decodeFile() might do the job.

(However I'm seeing some trouble using FileTransfer.upload on the Picasa images on my phone,
so .... mileage may vary. :P)
> Camera.getPicture crashes when selecting from a Picasa album on Android
> -----------------------------------------------------------------------
>                 Key: CB-1293
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 2.0.0
>         Environment: Crash found with 2.0.0 on Galaxy Nexus running Android 4.0.4
>            Reporter: Brion Vibber
>            Assignee: Simon MacDonald
> When using camera.getPicture with options:
>   destinationType: Camera.DestinationType.FILE_URI,
>   sourceType: Camera.PictureSourceType.PHOTOLIBRARY
> and selecting a photo from a Picasa-synced album, the application crashes immediately
upon trying to return the data.
> Here's our downstream bug with some analysis:
> FileUtils.getRealPathFromURI() cannot read the "_data" column from the content provider
database, so imagePath and bitmap in CameraLauncher.onActivityResult are null. The crash occurs
when trying to run bitmap.recycle().
> I can avoid the crash by adding a guard check for bitmap != null and the content: URI
is usable in the app to load the image, but doesn't appear to work with FileTransfer.

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:

View raw message