diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index 15f953aaa..2b130009c 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -83,6 +83,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key"; private static final String PHOTO_URI_KEY = "photo_uri_key"; private static final String HAS_PHOTO_KEY = "has_photo_key"; + private static final String JPEG_EXTENSION = "jpeg"; // The following are set in onCreate private boolean hasCamera; @@ -399,7 +400,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements FileUtils.ensureDirectoryExists(dir); String fileName = SimpleDateFormat.getDateTimeInstance().format(new Date()); - File file = new File(dir, FileUtils.buildUniqueFileName(dir, fileName, "jpeg")); + File file = new File(dir, FileUtils.buildUniqueFileName(dir, fileName, JPEG_EXTENSION)); photoUri = Uri.fromFile(file); intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE).putExtra( diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/MyTracksProvider.java b/MyTracks/src/com/google/android/apps/mytracks/content/MyTracksProvider.java index c85ba0956..30a6c00a9 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/MyTracksProvider.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/MyTracksProvider.java @@ -17,6 +17,7 @@ package com.google.android.apps.mytracks.content; import com.google.android.apps.mytracks.io.sync.SyncUtils; +import com.google.android.apps.mytracks.util.FileUtils; import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.maps.mytracks.R; import com.google.common.annotations.VisibleForTesting; @@ -435,8 +436,8 @@ public class MyTracksProvider extends ContentProvider { } throw new FileNotFoundException(uri.getPath()); } finally { - File[] files = getContext().getCacheDir().listFiles(); - for (File file : files) { + File dir = new File(getContext().getCacheDir(), FileUtils.PLAY_TRACKS_DIR); + for (File file : dir.listFiles()) { file.delete(); } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/file/exporter/SaveActivity.java b/MyTracks/src/com/google/android/apps/mytracks/io/file/exporter/SaveActivity.java index c623713be..95766f418 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/file/exporter/SaveActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/file/exporter/SaveActivity.java @@ -81,7 +81,7 @@ public class SaveActivity extends Activity { return; } - File directory = playTrack ? getCacheDir() + File directory = playTrack ? new File(getCacheDir(), FileUtils.PLAY_TRACKS_DIR) : new File(FileUtils.getPath(trackFileFormat.getExtension())); if (!FileUtils.ensureDirectoryExists(directory)) { Toast.makeText(this, R.string.external_storage_not_writable, Toast.LENGTH_LONG).show(); @@ -90,12 +90,12 @@ public class SaveActivity extends Activity { } if (playTrack) { - for (File file : getCacheDir().listFiles()) { + for (File file : directory.listFiles()) { file.delete(); } } - directoryDisplayName = playTrack ? getCacheDir().getName() + directoryDisplayName = playTrack ? directory.getName() : FileUtils.getPathDisplayName(trackFileFormat.getExtension()); Object retained = getLastNonConfigurationInstance(); diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java index 2e1111596..cac4bc72f 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sync/SyncUtils.java @@ -101,7 +101,6 @@ public class SyncUtils { private static final String TAG = SyncUtils.class.getSimpleName(); private static final String SYNC_AUTHORITY = "com.google.android.maps.mytracks"; - private static final String TEMP_DIR = "temp"; private SyncUtils() {} @@ -454,7 +453,7 @@ public class SyncUtils { Context context, MyTracksProviderUtils myTracksProviderUtils, Track track, boolean useKmz) throws FileNotFoundException { String extension = useKmz ? KmzTrackExporter.KMZ_EXTENSION : TrackFileFormat.KML.getExtension(); - java.io.File directory = new java.io.File(context.getCacheDir(), TEMP_DIR); + java.io.File directory = new java.io.File(context.getCacheDir(), FileUtils.TEMP_FILES_DIR); if (!FileUtils.ensureDirectoryExists(directory)) { Log.d(TAG, "Unable to create " + directory.getAbsolutePath()); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/FileUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/FileUtils.java index 35e1de5e7..ef95ade02 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/FileUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/FileUtils.java @@ -53,6 +53,16 @@ public class FileUtils { @VisibleForTesting static final int MAX_FAT32_PATH_LENGTH = 260; + /** + * 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"; + /** * Returns true if the external storage is available. */