diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-07-24 20:06:20 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2013-07-25 09:50:23 -0700 |
commit | 568b8d8bade4aac4bc598dff9b76ced159c533bf (patch) | |
tree | 742e4f4596b39be61214b682464332f6ba6401e5 /src/com/android/gallery3d/filtershow/pipeline | |
parent | 2d3b8b11f03ab41558866d2b996b76e0ceef845a (diff) | |
download | android_packages_apps_Gallery2-568b8d8bade4aac4bc598dff9b76ced159c533bf.tar.gz android_packages_apps_Gallery2-568b8d8bade4aac4bc598dff9b76ced159c533bf.tar.bz2 android_packages_apps_Gallery2-568b8d8bade4aac4bc598dff9b76ced159c533bf.zip |
Added support to export to a flattened photo.
Bug: 10008212
- Adds a menu item to allow a photo with edits to be flattened
into a separate photo.
- Fixes bug where crop intents fail to save cropped images.
Change-Id: I1dcf1bb9ba22e72378f24e7971a74f81b8db7564
Diffstat (limited to 'src/com/android/gallery3d/filtershow/pipeline')
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/ImageSavingTask.java | 10 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java | 13 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/filtershow/pipeline/ImageSavingTask.java b/src/com/android/gallery3d/filtershow/pipeline/ImageSavingTask.java index e93ec1687..ebd3ed91b 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/ImageSavingTask.java +++ b/src/com/android/gallery3d/filtershow/pipeline/ImageSavingTask.java @@ -33,6 +33,7 @@ public class ImageSavingTask extends ProcessingTask { Uri selectedUri; File destinationFile; ImagePreset preset; + boolean flatten; } static class UpdateBitmap implements Update { @@ -53,12 +54,13 @@ public class ImageSavingTask extends ProcessingTask { } public void saveImage(Uri sourceUri, Uri selectedUri, - File destinationFile, ImagePreset preset) { + File destinationFile, ImagePreset preset, boolean flatten) { SaveRequest request = new SaveRequest(); request.sourceUri = sourceUri; request.selectedUri = selectedUri; request.destinationFile = destinationFile; request.preset = preset; + request.flatten = flatten; postRequest(request); } @@ -68,13 +70,12 @@ public class ImageSavingTask extends ProcessingTask { Uri selectedUri = request.selectedUri; File destinationFile = request.destinationFile; ImagePreset preset = request.preset; - + boolean flatten = request.flatten; // We create a small bitmap showing the result that we can // give to the notification UpdateBitmap updateBitmap = new UpdateBitmap(); updateBitmap.bitmap = createNotificationBitmap(sourceUri, preset); postUpdate(updateBitmap); - SaveImage saveImage = new SaveImage(mProcessingService, sourceUri, selectedUri, destinationFile, new SaveImage.Callback() { @@ -86,8 +87,7 @@ public class ImageSavingTask extends ProcessingTask { postUpdate(updateProgress); } }); - - Uri uri = saveImage.processAndSaveImage(preset); + Uri uri = saveImage.processAndSaveImage(preset, !flatten); URIResult result = new URIResult(); result.uri = uri; return result; diff --git a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java index 8f1b2a266..f0f3e5399 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java +++ b/src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java @@ -48,6 +48,7 @@ public class ProcessingService extends Service { private static final String SELECTED_URI = "selectedUri"; private static final String DESTINATION_FILE = "destinationFile"; private static final String SAVING = "saving"; + private static final String FLATTEN = "flatten"; private ProcessingTaskController mProcessingTaskController; private ImageSavingTask mImageSavingTask; @@ -116,7 +117,7 @@ public class ProcessingService extends Service { } public static Intent getSaveIntent(Context context, ImagePreset preset, File destination, - Uri selectedImageUri, Uri sourceImageUri) { + Uri selectedImageUri, Uri sourceImageUri, boolean doFlatten) { Intent processIntent = new Intent(context, ProcessingService.class); processIntent.putExtra(ProcessingService.SOURCE_URI, sourceImageUri.toString()); @@ -128,6 +129,9 @@ public class ProcessingService extends Service { processIntent.putExtra(ProcessingService.PRESET, preset.getJsonString(context.getString(R.string.saved))); processIntent.putExtra(ProcessingService.SAVING, true); + if (doFlatten) { + processIntent.putExtra(ProcessingService.FLATTEN, true); + } return processIntent; } @@ -162,6 +166,7 @@ public class ProcessingService extends Service { String source = intent.getStringExtra(SOURCE_URI); String selected = intent.getStringExtra(SELECTED_URI); String destination = intent.getStringExtra(DESTINATION_FILE); + boolean flatten = intent.getBooleanExtra(FLATTEN, false); Uri sourceUri = Uri.parse(source); Uri selectedUri = null; if (selected != null) { @@ -175,7 +180,7 @@ public class ProcessingService extends Service { preset.readJsonFromString(presetJson); mNeedsAlive = false; mSaving = true; - handleSaveRequest(sourceUri, selectedUri, destinationFile, preset); + handleSaveRequest(sourceUri, selectedUri, destinationFile, preset, flatten); } return START_REDELIVER_INTENT; } @@ -193,7 +198,7 @@ public class ProcessingService extends Service { } public void handleSaveRequest(Uri sourceUri, Uri selectedUri, - File destinationFile, ImagePreset preset) { + File destinationFile, ImagePreset preset, boolean flatten) { mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mNotificationId++; @@ -210,7 +215,7 @@ public class ProcessingService extends Service { // Process the image - mImageSavingTask.saveImage(sourceUri, selectedUri, destinationFile, preset); + mImageSavingTask.saveImage(sourceUri, selectedUri, destinationFile, preset, flatten); } public void updateNotificationWithBitmap(Bitmap bitmap) { |