diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-08-21 15:23:47 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-08-21 15:23:47 +0200 |
commit | 4291a96f2f8d83aa8571d404f9a8143695785780 (patch) | |
tree | 320a671e4702b0bc11f11858e6faa76299b16f7d /src/de | |
parent | fd5f1fcc0b52f5aefcfcc979a1d7d07e26f9eb76 (diff) | |
download | AntennaPod-4291a96f2f8d83aa8571d404f9a8143695785780.zip |
Fixed problems with auto-cleanup
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/danoeh/antennapod/storage/DBTasks.java | 17 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/storage/PodDBAdapter.java | 9 |
2 files changed, 20 insertions, 6 deletions
diff --git a/src/de/danoeh/antennapod/storage/DBTasks.java b/src/de/danoeh/antennapod/storage/DBTasks.java index b1efda658..741699bdf 100644 --- a/src/de/danoeh/antennapod/storage/DBTasks.java +++ b/src/de/danoeh/antennapod/storage/DBTasks.java @@ -406,12 +406,13 @@ public final class DBTasks { private static int performAutoCleanup(final Context context, final int episodeNumber) { - List<FeedItem> candidates = DBReader.getDownloadedItems(context); - List<FeedItem> queue = DBReader.getQueue(context); + List<FeedItem> candidates = new ArrayList<FeedItem>(); + List<FeedItem> downloadedItems = DBReader.getDownloadedItems(context); + QueueAccess queue = QueueAccess.IDListAccess(DBReader.getQueueIDList(context)); List<FeedItem> delete; - for (FeedItem item : candidates) { + for (FeedItem item : downloadedItems) { if (item.hasMedia() && item.getMedia().isDownloaded() - && !queue.contains(item) && item.isRead()) { + && !queue.contains(item.getId()) && item.isRead()) { candidates.add(item); } @@ -440,7 +441,13 @@ public final class DBTasks { } for (FeedItem item : delete) { - DBWriter.deleteFeedMediaOfItem(context, item.getId()); + try { + DBWriter.deleteFeedMediaOfItem(context, item.getId()).get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } } int counter = delete.size(); diff --git a/src/de/danoeh/antennapod/storage/PodDBAdapter.java b/src/de/danoeh/antennapod/storage/PodDBAdapter.java index 317035017..5799c6896 100644 --- a/src/de/danoeh/antennapod/storage/PodDBAdapter.java +++ b/src/de/danoeh/antennapod/storage/PodDBAdapter.java @@ -278,6 +278,13 @@ public class PodDBAdapter { //db.close(); } + public static boolean deleteDatabase(Context context) { + Log.w(TAG, "Deleting database"); + dbHelperSingleton.close(); + dbHelperSingleton = null; + return context.deleteDatabase(DATABASE_NAME); + } + /** * Inserts or updates a feed entry * @@ -763,7 +770,7 @@ public class PodDBAdapter { final String query = "SELECT " + SEL_FI_SMALL_STR + " FROM " + TABLE_NAME_FEED_ITEMS + " INNER JOIN " + TABLE_NAME_FEED_MEDIA + " ON " + TABLE_NAME_FEED_ITEMS + "." + KEY_ID + "=" - + TABLE_NAME_FEED_MEDIA + "." + KEY_ID + " WHERE " + + TABLE_NAME_FEED_MEDIA + "." + KEY_FEEDITEM + " WHERE " + TABLE_NAME_FEED_MEDIA + "." + KEY_DOWNLOADED + ">0"; Cursor c = db.rawQuery(query, null); return c; |