From 093206127440fe34d7496ed13ee8bd2345237d45 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Sun, 22 Nov 2020 12:10:18 +0100 Subject: [PATCH] Application: Delete unused downloaded station databases. --- .../src/de/schildbach/oeffi/Application.java | 11 ++++---- .../oeffi/network/NetworkPickerActivity.java | 6 +--- .../oeffi/network/list/NetworksAdapter.java | 10 +------ .../stations/NetworkContentProvider.java | 28 ------------------- 4 files changed, 8 insertions(+), 47 deletions(-) delete mode 100644 oeffi/src/de/schildbach/oeffi/stations/NetworkContentProvider.java diff --git a/oeffi/src/de/schildbach/oeffi/Application.java b/oeffi/src/de/schildbach/oeffi/Application.java index 742b52a..7606495 100644 --- a/oeffi/src/de/schildbach/oeffi/Application.java +++ b/oeffi/src/de/schildbach/oeffi/Application.java @@ -18,8 +18,8 @@ package de.schildbach.oeffi; import java.io.File; +import java.io.FilenameFilter; import java.lang.reflect.Method; -import java.util.Locale; import java.util.concurrent.TimeUnit; import org.osmdroid.config.Configuration; @@ -32,7 +32,6 @@ import com.google.common.base.Stopwatch; import de.schildbach.oeffi.directions.QueryHistoryProvider; import de.schildbach.oeffi.stations.FavoriteStationsProvider; import de.schildbach.oeffi.stations.NearestFavoriteStationWidgetService; -import de.schildbach.oeffi.util.Downloader; import de.schildbach.oeffi.util.ErrorReporter; import de.schildbach.pte.NetworkId; @@ -106,24 +105,26 @@ public class Application extends android.app.Application { // 2018-07-06: migrate IVB to use OEBB final String IVB = "IVB"; migrateSelectedNetwork(IVB, NetworkId.OEBB); - Downloader.deleteDownload(new File(getFilesDir(), IVB.toLowerCase(Locale.ENGLISH) + ".db")); FavoriteStationsProvider.deleteFavoriteStations(this, IVB); QueryHistoryProvider.deleteQueryHistory(this, IVB); // 2018-11-05: migrate NRI to use RT final String NRI = "NRI"; migrateSelectedNetwork(NRI, NetworkId.RT); - Downloader.deleteDownload(new File(getFilesDir(), NRI.toLowerCase(Locale.ENGLISH) + ".db")); FavoriteStationsProvider.deleteFavoriteStations(this, NRI); QueryHistoryProvider.deleteQueryHistory(this, NRI); // 2018-12-06: migrate VAGFR to use NVBW final String VAGFR = "VAGFR"; migrateSelectedNetwork(VAGFR, NetworkId.NVBW); - Downloader.deleteDownload(new File(getFilesDir(), VAGFR.toLowerCase(Locale.ENGLISH) + ".db")); FavoriteStationsProvider.migrateFavoriteStations(this, VAGFR, NetworkId.NVBW); QueryHistoryProvider.migrateQueryHistory(this, VAGFR, NetworkId.NVBW); + // 2020-11-22: delete unused downloaded station databases + final FilenameFilter filter = (dir, name) -> name.endsWith(".db") || name.endsWith(".db.meta"); + for (final File file : getFilesDir().listFiles(filter)) + file.delete(); + log.info("Migrations took {}", watch); initNotificationManager(); diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java index 46bcae8..14bbfae 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java @@ -18,7 +18,6 @@ package de.schildbach.oeffi.network; import java.io.BufferedReader; -import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.Iterator; @@ -41,9 +40,7 @@ import de.schildbach.oeffi.network.list.NetworkClickListener; import de.schildbach.oeffi.network.list.NetworkContextMenuItemListener; import de.schildbach.oeffi.network.list.NetworkListEntry; import de.schildbach.oeffi.network.list.NetworksAdapter; -import de.schildbach.oeffi.stations.NetworkContentProvider; import de.schildbach.oeffi.util.DividerItemDecoration; -import de.schildbach.oeffi.util.Downloader; import de.schildbach.oeffi.util.GeocoderThread; import de.schildbach.oeffi.util.LocationHelper; import de.schildbach.pte.AbstractNavitiaProvider; @@ -322,8 +319,7 @@ public class NetworkPickerActivity extends Activity implements ActivityCompat.On public boolean onNetworkContextMenuItemClick(final NetworkListEntry.Network entry, final int menuItemId) { if (menuItemId == R.id.network_picker_context_remove) { - final File dbFile = new File(getFilesDir(), NetworkContentProvider.dbName(NetworkId.valueOf(entry.id))); - Downloader.deleteDownload(dbFile); + // placeholder for action listAdapter.notifyDataSetChanged(); return true; } else { diff --git a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java index d37745d..af08a8b 100644 --- a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java @@ -17,13 +17,10 @@ package de.schildbach.oeffi.network.list; -import java.io.File; import java.util.LinkedList; import java.util.List; import de.schildbach.oeffi.R; -import de.schildbach.oeffi.stations.NetworkContentProvider; -import de.schildbach.pte.NetworkId; import android.content.Context; import android.view.LayoutInflater; @@ -89,12 +86,7 @@ public class NetworksAdapter extends RecyclerView.Adapter. - */ - -package de.schildbach.oeffi.stations; - -import de.schildbach.pte.NetworkId; - -import java.util.Locale; - -public class NetworkContentProvider { - public static String dbName(final NetworkId networkId) { - return networkId.name().toLowerCase(Locale.ENGLISH) + ".db"; - } -}