[
https://issues.apache.org/jira/browse/CB-9490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14743243#comment-14743243
]
ASF GitHub Bot commented on CB-9490:
------------------------------------
Github user sgrebnov commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-camera/pull/115#discussion_r39375449
--- Diff: src/android/CameraLauncher.java ---
@@ -983,12 +983,39 @@ private Cursor queryImgDB(Uri contentStore) {
* @param newImage
*/
private void cleanup(int imageType, Uri oldImage, Uri newImage, Bitmap
bitmap) {
+ Uri contentStore = whichContentStore();
+ Cursor cursor = queryImgDB(contentStore);
+ int currentNumOfImages = cursor.getCount();
+ int diff = currentNumOfImages - numPics;
+ int id;
+
if (bitmap != null) {
bitmap.recycle();
}
- // Clean up initial camera-written image file.
- (new
File(FileHelper.stripFileProtocol(oldImage.toString()))).delete();
+ // Check for camera-written image files that are not the chosen
image
+ // Gets rid of inital camera-written image file as well as any
retakes
+ // Addresses issue CD-9490
+ if (currentNumOfImages > 0 && diff > 0) {
+ cursor.moveToLast();
+ id =
Integer.valueOf(cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media._ID)));
+
+ if (imageType == FILE_URI) {
+ id--;
+ for (int i = diff; i > 0; i--) {
+ Uri uri = Uri.parse(contentStore + "/" + id);
+
this.cordova.getActivity().getContentResolver().delete(uri, null, null);
+ id--;
+ }
+ } else {
+ for (int i = diff; i > 0; i--) {
--- End diff --
looks like this `for` loop is the same as above; what if we keep only one
loop, for example
```
if (imageType == FILE_URI) {
id--;
}
for (int i = diff; i > 0; i--) {
Uri uri = Uri.parse(contentStore + "/" + id);
this.cordova.getActivity().getContentResolver().delete(uri, null, null);
id--;
}
```
> LG G4 camera application saves photos when using destinationType DATA_URL
> -------------------------------------------------------------------------
>
> Key: CB-9490
> URL: https://issues.apache.org/jira/browse/CB-9490
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Camera
> Environment: LG G4, Android 5.1
> Reporter: Cody Balos
> Assignee: Cody Balos
> Time Spent: 6h
> Remaining Estimate: 0h
>
> So far this issue only happens on an LG G4 using the stock camera application:
> Using the camera plugin, with destinationType set to DATA_URL,
> the expected functionality is for the base64 string to be returned to the
> javascript interface, and not saved to the file system without explicitly
> saving it separately. Using the LG G4 stock camera application, all photos
> are saved even when using destinationType DATA_URL if the retake option is
> used.
> The issue does not occur when using the Google Camera application or Camera
> 360 (both on the Play Store).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]