You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2012/06/21 21:37:01 UTC
[4/7] android commit: Removing images and saving images to jail if
SaveToPhotoAlbum is set to true
Removing images and saving images to jail if SaveToPhotoAlbum is set to true
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/f6d4402f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/f6d4402f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/f6d4402f
Branch: refs/heads/master
Commit: f6d4402fdc8eae41352f2f268a69e578bf33754f
Parents: 9f66ccb
Author: Fil Maj <ma...@gmail.com>
Authored: Wed Jun 20 14:12:06 2012 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Thu Jun 21 12:09:50 2012 -0700
----------------------------------------------------------------------
.../src/org/apache/cordova/CameraLauncher.java | 27 ++++++++++++++-
1 files changed, 26 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/f6d4402f/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 f2c3e12..d9467fb 100755
--- a/framework/src/org/apache/cordova/CameraLauncher.java
+++ b/framework/src/org/apache/cordova/CameraLauncher.java
@@ -338,6 +338,7 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
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) {
@@ -350,6 +351,22 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
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()));
+
+ // Clean up initial URI before writing out safe URI
+ boolean didWeDeleteIt = tempFile.delete();
+ if (!didWeDeleteIt) {
+ int result = this.cordova.getActivity().getContentResolver().delete(
+ MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
+ MediaStore.Images.Media.DATA + " = ?",
+ new String[] { this.imageUri.toString() }
+ );
+ LOG.d("TAG!","result is " + result);
+ }
+ this.imageUri = jailURI;
+ }
// If all this is true we shouldn't compress the image.
if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100) {
@@ -378,10 +395,18 @@ public class CameraLauncher extends Plugin implements MediaScannerConnectionClie
os.close();
// Restore exif data to file
+
if (this.encodingType == JPEG) {
- exif.createOutFile(FileUtils.getRealPathFromURI(this.imageUri, this.cordova));
+ String exifPath;
+ if (this.saveToPhotoAlbum) {
+ exifPath = FileUtils.getRealPathFromURI(this.imageUri, this.cordova);
+ } else {
+ exifPath = this.imageUri.toString();
+ }
+ exif.createOutFile(exifPath);
exif.writeExifData();
}
+
// Scan for the gallery to update pic refs in gallery
this.scanForGallery();