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:05 UTC
[8/15] 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/167b6001
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/167b6001
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/167b6001
Branch: refs/heads/master
Commit: 167b60013536dd20f74fb7041fee52e4278c3a99
Parents: 6c465e2
Author: Fil Maj <ma...@gmail.com>
Authored: Wed Jun 20 14:12:06 2012 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Thu Jun 21 14:03:58 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/167b6001/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();