diff options
| author | Marco Jacob <mjacob@union06.de> | 2012-05-30 20:53:43 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2012-05-30 21:02:24 +0200 |
| commit | a171744ae264fb91b442348235ee6a2474a3f240 (patch) | |
| tree | 03c57c0eb90129e16eda74a5dc17576039fcc583 | |
| parent | 451fbf9c155deeec4e77b22d1f98a87fff2a5a84 (diff) | |
| download | cgeo-a171744ae264fb91b442348235ee6a2474a3f240.zip cgeo-a171744ae264fb91b442348235ee6a2474a3f240.tar.gz cgeo-a171744ae264fb91b442348235ee6a2474a3f240.tar.bz2 | |
remove double underscore files from geocode dirs
| -rw-r--r-- | main/src/cgeo/geocaching/cgData.java | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java index 51b03f3..37f8b7d 100644 --- a/main/src/cgeo/geocaching/cgData.java +++ b/main/src/cgeo/geocaching/cgData.java @@ -30,6 +30,7 @@ import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteStatement; import java.io.File; +import java.io.FilenameFilter; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -72,7 +73,7 @@ public class cgData { private static int[] cacheColumnIndex; private CacheCache cacheCache = new CacheCache(); private SQLiteDatabase database = null; - private static final int dbVersion = 62; + private static final int dbVersion = 63; public static final int customListIdOffset = 10; private static final String dbName = "data"; private static final String dbTableCaches = "cg_caches"; @@ -640,6 +641,14 @@ public class cgData { } } + if (oldVersion < 63) { + try { + removeDoubleUnderscoreMapFiles(); + } catch (Exception e) { + Log.e("Failed to upgrade to ver. 63: " + e.toString()); + + } + } } db.setTransactionSuccessful(); @@ -649,6 +658,26 @@ public class cgData { Log.i("Upgrade database from ver. " + oldVersion + " to ver. " + newVersion + ": completed"); } + + /** + * Method to remove static map files with double underscore due to issue#1670 + * introduced with release on 2012-05-24. + */ + private static void removeDoubleUnderscoreMapFiles() { + File[] geocodeDirs = LocalStorage.getStorage().listFiles(); + final FilenameFilter filter = new FilenameFilter() { + @Override + public boolean accept(File dir, String filename) { + return (filename.startsWith("map_") && filename.contains("__")); + } + }; + for (File dir : geocodeDirs) { + File[] wrongFiles = dir.listFiles(filter); + for (File wrongFile : wrongFiles) { + wrongFile.delete(); + } + } + } } /** |
