summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/pipeline
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-07-24 20:06:20 -0700
committerRuben Brunk <rubenbrunk@google.com>2013-07-25 09:50:23 -0700
commit568b8d8bade4aac4bc598dff9b76ced159c533bf (patch)
tree742e4f4596b39be61214b682464332f6ba6401e5 /src/com/android/gallery3d/filtershow/pipeline
parent2d3b8b11f03ab41558866d2b996b76e0ceef845a (diff)
downloadandroid_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.java10
-rw-r--r--src/com/android/gallery3d/filtershow/pipeline/ProcessingService.java13
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) {