You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2012/06/21 23:05:04 UTC
[4/15] android commit: Fixed the 0-byte files in gallery. Also fixed
exif rewriter for saveToPhotoAlbum:false JPG files. Thanks for your help
Simon!
Fixed the 0-byte files in gallery. Also fixed exif rewriter for saveToPhotoAlbum:false JPG files. Thanks for your help Simon!
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/9d1edc45
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/9d1edc45
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/9d1edc45
Branch: refs/heads/master
Commit: 9d1edc4554ef8d1cece0daea18ee51b41a157802
Parents: 5143b8a
Author: Fil Maj <ma...@gmail.com>
Authored: Thu Jun 21 12:08:07 2012 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Thu Jun 21 14:03:59 2012 -0700
----------------------------------------------------------------------
.../src/org/apache/cordova/CameraLauncher.java | 40 +++++++-------
1 files changed, 20 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/9d1edc45/framework/src/org/apache/cordova/CameraLauncher.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CameraLauncher.java b/framework/src/org/apache/cordova/CameraLauncher.java
index 6838983..d3938ff 100755
--- a/framework/src/org/apache/cordova/CameraLauncher.java
+++ b/framework/src/org/apache/cordova/CameraLauncher.java
@@ -333,27 +333,9 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
// If sending filename back
else if (destType == FILE_URI) {
- // Create entry in media store for image
- // (Don't use insertImage() because it uses default compression setting of 50 - no way to change it)
- ContentValues values = new ContentValues();
- values.put(android.provider.MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
-
-
- try {
- this.imageUri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
- } catch (UnsupportedOperationException e) {
- LOG.d(LOG_TAG, "Can't write to external media storage.");
- try {
- this.imageUri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, values);
- } catch (UnsupportedOperationException ex) {
- LOG.d(LOG_TAG, "Can't write to internal media storage.");
- this.failPicture("Error capturing image - no media storage found.");
- return;
- }
- }
if (!this.saveToPhotoAlbum) {
File tempFile = new File(this.imageUri.toString());
- Uri jailURI = Uri.fromFile(new File("/data/data/" + this.cordova.getActivity().getPackageName() + "/", tempFile.getName() + "." + (this.encodingType == JPEG ? "jpg" : "png" )));
+ Uri jailURI = Uri.fromFile(new File("/data/data/" + this.cordova.getActivity().getPackageName() + "/", tempFile.getName()));
// Clean up initial URI before writing out safe URI.
// First try File-based approach to delete. Then use the media delete method. Neither seem to work on ICS right now...
@@ -366,6 +348,24 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
);
}
this.imageUri = jailURI;
+ } else {
+ // Create entry in media store for image
+ // (Don't use insertImage() because it uses default compression setting of 50 - no way to change it)
+ ContentValues values = new ContentValues();
+ values.put(android.provider.MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
+
+ try {
+ this.imageUri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
+ } catch (UnsupportedOperationException e) {
+ LOG.d(LOG_TAG, "Can't write to external media storage.");
+ try {
+ this.imageUri = this.cordova.getActivity().getContentResolver().insert(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI, values);
+ } catch (UnsupportedOperationException ex) {
+ LOG.d(LOG_TAG, "Can't write to internal media storage.");
+ this.failPicture("Error capturing image - no media storage found.");
+ return;
+ }
+ }
}
// If all this is true we shouldn't compress the image.
@@ -401,7 +401,7 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
if (this.saveToPhotoAlbum) {
exifPath = FileUtils.getRealPathFromURI(this.imageUri, this.cordova);
} else {
- exifPath = this.imageUri.toString();
+ exifPath = this.imageUri.getPath();
}
exif.createOutFile(exifPath);
exif.writeExifData();