From 1e4451ce41da8becf7a6913ecd6762c8a4905791 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Fri, 22 Nov 2013 16:09:57 -0800 Subject: [PATCH] Prepend MyTracks to photo folder --- .../apps/mytracks/TrackDetailActivity.java | 3 +- .../importer/AbstractFileTrackImporter.java | 6 ++-- .../io/file/importer/KmzTrackImporter.java | 6 ++-- .../content/MyTracksProviderUtilsImpl.java | 9 ++---- .../android/apps/mytracks/util/FileUtils.java | 32 ++++++++++++------- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index d518c9002..ea1a27bc0 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -404,8 +404,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity return false; } - File dir = new File( - FileUtils.getPath(FileUtils.PICTURES_DIR, Long.toString(trackId))); + File dir = FileUtils.getPhotoDir(trackId); FileUtils.ensureDirectoryExists(dir); String fileName = SimpleDateFormat.getDateTimeInstance().format(new Date()); diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/AbstractFileTrackImporter.java b/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/AbstractFileTrackImporter.java index dabf6344b..1273c4bd2 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/AbstractFileTrackImporter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/AbstractFileTrackImporter.java @@ -472,9 +472,9 @@ abstract class AbstractFileTrackImporter extends DefaultHandler implements Track if (importTrackId == -1L) { return null; } - String path = FileUtils.getPath( - FileUtils.PICTURES_DIR, Long.toString(importTrackId), fileName); - return Uri.fromFile(new File(path)).toString(); + File dir = FileUtils.getPhotoDir(importTrackId); + File file = new File(dir, fileName); + return Uri.fromFile(file).toString(); } /** diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/KmzTrackImporter.java b/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/KmzTrackImporter.java index 02557c981..da3318adf 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/KmzTrackImporter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/file/importer/KmzTrackImporter.java @@ -115,8 +115,7 @@ public class KmzTrackImporter implements TrackImporter { } if (importTrackId != -1L) { - File dir = new File( - FileUtils.getPath(FileUtils.PICTURES_DIR, Long.toString(importTrackId))); + File dir = FileUtils.getPhotoDir(importTrackId); if (FileUtils.isDirectory(dir)) { for (File file : dir.listFiles()) { file.delete(); @@ -182,8 +181,7 @@ public class KmzTrackImporter implements TrackImporter { if (fileName.equals("")) { return; } - File dir = new File( - FileUtils.getPath(FileUtils.PICTURES_DIR, Long.toString(importTrackId))); + File dir = FileUtils.getPhotoDir(importTrackId); FileUtils.ensureDirectoryExists(dir); fileOutputStream = new FileOutputStream(new File(dir, fileName)); diff --git a/MyTracksLib/src/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImpl.java b/MyTracksLib/src/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImpl.java index da77fea69..7500f8c8a 100644 --- a/MyTracksLib/src/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImpl.java +++ b/MyTracksLib/src/com/google/android/apps/mytracks/content/MyTracksProviderUtilsImpl.java @@ -183,7 +183,7 @@ public class MyTracksProviderUtilsImpl implements MyTracksProviderUtils { // Delete tracks last since it triggers a database vaccum call contentResolver.delete(TracksColumns.CONTENT_URI, null, null); - File dir = new File(FileUtils.getPath(FileUtils.PICTURES_DIR)); + File dir = FileUtils.getPhotoDir(); deleteDirectoryRecurse(dir); } @@ -212,11 +212,8 @@ public class MyTracksProviderUtilsImpl implements MyTracksProviderUtils { contentResolver.delete(TrackPointsColumns.CONTENT_URI, where, selectionArgs); } contentResolver.delete(WaypointsColumns.CONTENT_URI, WaypointsColumns.TRACKID + "=?", - new String[] { Long.toString(trackId) }); - - File dir = new File( - FileUtils.getPath(FileUtils.PICTURES_DIR, Long.toString(trackId))); - deleteDirectoryRecurse(dir); + new String[] { Long.toString(trackId) }); + deleteDirectoryRecurse(FileUtils.getPhotoDir(trackId)); } /** diff --git a/MyTracksLib/src/com/google/android/apps/mytracks/util/FileUtils.java b/MyTracksLib/src/com/google/android/apps/mytracks/util/FileUtils.java index 6fd8105ed..ea1b7cee8 100644 --- a/MyTracksLib/src/com/google/android/apps/mytracks/util/FileUtils.java +++ b/MyTracksLib/src/com/google/android/apps/mytracks/util/FileUtils.java @@ -33,11 +33,6 @@ public class FileUtils { */ public static final String BACKUPS_DIR = "backups"; - /** - * The pictures directory under the My Tracks external storage directory. - */ - public static final String PICTURES_DIR = "pictures"; - /** * The My Tracks external storage directory. */ @@ -53,12 +48,17 @@ public class FileUtils { * The play tracks directory under the My Tracks cache directory. */ public static final String PLAY_TRACKS_DIR = "temp"; - + /** * The temp files directory under the My Tracks cache directory. */ - public static final String TEMP_FILES_DIR = "temp_files"; - + public static final String TEMP_FILES_DIR = "temp_files"; + + /** + * The pictures directory under the My Tracks external storage directory. + */ + private static final String PICTURES_DIR = "pictures"; + /** * Returns true if the external storage is available. */ @@ -98,6 +98,14 @@ public class FileUtils { return dir.mkdirs(); } + public static File getPhotoDir() { + return new File(getPath(PICTURES_DIR)); + } + + public static File getPhotoDir(long trackId) { + return new File(getPath(PICTURES_DIR, "MyTracks" + Long.toString(trackId))); + } + /** * Gets the display name for a path on the external storage. * @@ -150,9 +158,9 @@ public class FileUtils { if (index == -1) { return fileName; } - return fileName.substring(0, index); + return fileName.substring(0, index); } - + /** * Gets the extension from a file name. Returns null if there is no extension. * @@ -164,8 +172,8 @@ public class FileUtils { return null; } return fileName.substring(index + 1); - } - + } + /** * Builds a filename with the given base and the given extension, possibly * adding a suffix to ensure the file doesn't exist.