diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2013-06-03 22:57:58 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-06-03 22:57:58 +0000 |
commit | 8ce743f577b2056519fd8e74da272c461ff74e33 (patch) | |
tree | 910bf03664fe10fc7edf08281ca7a35dbc724874 /src | |
parent | 61544549e543aebb69742ceda6e6235bea979630 (diff) | |
parent | 2d06a167933509422076d4f8e90e4de212866905 (diff) | |
download | android_packages_apps_Snap-8ce743f577b2056519fd8e74da272c461ff74e33.tar.gz android_packages_apps_Snap-8ce743f577b2056519fd8e74da272c461ff74e33.tar.bz2 android_packages_apps_Snap-8ce743f577b2056519fd8e74da272c461ff74e33.zip |
Merge "Fixes save filename for panos after edit." into gb-ub-photos-carlsbad
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java b/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java index 2862be286..9f7cba30b 100644 --- a/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java +++ b/src/com/android/gallery3d/filtershow/tools/SaveCopyTask.java @@ -65,7 +65,10 @@ public class SaveCopyTask extends AsyncTask<ImagePreset, Void, Uri> { void onCursorResult(Cursor cursor); } - private static final String TIME_STAMP_NAME = "'IMG'_yyyyMMdd_HHmmss"; + private static final String TIME_STAMP_NAME = "_yyyyMMdd_HHmmss"; + private static final String PREFIX_PANO = "PANO"; + private static final String PREFIX_IMG = "IMG"; + private static final String POSTFIX_JPG = ".jpg"; private final Context context; private final Uri sourceUri; @@ -84,7 +87,7 @@ public class SaveCopyTask extends AsyncTask<ImagePreset, Void, Uri> { this.destinationFile = destination; } - saveFileName = new SimpleDateFormat(TIME_STAMP_NAME).format(new Date( + saveFileName = PREFIX_IMG + new SimpleDateFormat(TIME_STAMP_NAME).format(new Date( System.currentTimeMillis())); } @@ -104,7 +107,10 @@ public class SaveCopyTask extends AsyncTask<ImagePreset, Void, Uri> { File saveDirectory = getFinalSaveDirectory(context, sourceUri); String filename = new SimpleDateFormat(TIME_STAMP_NAME).format(new Date( System.currentTimeMillis())); - return new File(saveDirectory, filename + ".JPG"); + if (hasPanoPrefix(context, sourceUri)) { + return new File(saveDirectory, PREFIX_PANO + filename + POSTFIX_JPG); + } + return new File(saveDirectory, PREFIX_IMG + filename + POSTFIX_JPG); } public Object getPanoramaXMPData(Uri source, ImagePreset preset) { @@ -264,6 +270,33 @@ public class SaveCopyTask extends AsyncTask<ImagePreset, Void, Uri> { } /** + * Gets the actual filename for a Uri from Gallery's ContentProvider. + */ + private static String getTrueFilename(Context context, Uri src) { + if (context == null || src == null) { + return null; + } + final String[] trueName = new String[1]; + querySource(context, src, new String[] { + ImageColumns.DATA + }, new ContentResolverQueryCallback() { + @Override + public void onCursorResult(Cursor cursor) { + trueName[0] = new File(cursor.getString(0)).getName(); + } + }); + return trueName[0]; + } + + /** + * Checks whether the true filename has the panorama image prefix. + */ + private static boolean hasPanoPrefix(Context context, Uri src) { + String name = getTrueFilename(context, src); + return name != null && name.startsWith(PREFIX_PANO); + } + + /** * Insert the content (saved file) with proper source photo properties. */ public static Uri insertContent(Context context, Uri sourceUri, File file, String saveFileName, |