diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-09-15 16:41:06 -0400 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-09-15 16:41:06 -0400 |
commit | 66d36ec00f4932d17ba10eb0b81ed47c8ea94d49 (patch) | |
tree | e39b2fd23574180316bd6b6923cdf4845d8c029e /app/src/main/java/de/danoeh/antennapod | |
parent | 496f859197db100086129c4686f66010346cbca3 (diff) | |
parent | 75dfc89a445c84e22639d101c229b0cfef6346f0 (diff) | |
download | AntennaPod-66d36ec00f4932d17ba10eb0b81ed47c8ea94d49.zip |
Merge pull request #1191 from mfietz/refactor_database_utils
Refactor database access
testReplayEpisodeContinuousPlaybackOff and testReplayEpisodeContinuousPlaybackOn are broken, but I'll fix those in an upcoming PR.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
24 files changed, 111 insertions, 114 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java index 5442c6988..66d7a25f0 100644 --- a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java +++ b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java @@ -9,6 +9,7 @@ import com.joanzapata.iconify.fonts.FontAwesomeModule; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.storage.PodDBAdapter; import de.danoeh.antennapod.core.util.NetworkUtils; import de.danoeh.antennapod.spa.SPAUtil; @@ -40,6 +41,7 @@ public class PodcastApp extends Application { singleton = this; LOGICAL_DENSITY = getResources().getDisplayMetrics().density; + PodDBAdapter.init(this); UpdateManager.init(this); UserPreferences.init(this); PlaybackPreferences.init(this); diff --git a/app/src/main/java/de/danoeh/antennapod/UpdateManager.java b/app/src/main/java/de/danoeh/antennapod/UpdateManager.java index 2f6bb1b50..b1d7fffc8 100644 --- a/app/src/main/java/de/danoeh/antennapod/UpdateManager.java +++ b/app/src/main/java/de/danoeh/antennapod/UpdateManager.java @@ -65,9 +65,9 @@ public class UpdateManager { // from now on, Glide will handle caching images new Thread() { public void run() { - List<Feed> feeds = DBReader.getFeedList(context); + List<Feed> feeds = DBReader.getFeedList(); for (Feed podcast : feeds) { - List<FeedItem> episodes = DBReader.getFeedItemList(context, podcast); + List<FeedItem> episodes = DBReader.getFeedItemList(podcast); for (FeedItem episode : episodes) { FeedImage image = episode.getImage(); if (image != null && image.isDownloaded() && image.getFile_url() != null) { @@ -76,7 +76,7 @@ public class UpdateManager { imageFile.delete(); } image.setFile_url(null); // calls setDownloaded(false) - DBWriter.setFeedImage(context, image); + DBWriter.setFeedImage(image); } } } diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java index c3d82c41d..417d49e83 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java @@ -6,7 +6,6 @@ import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.drawable.BitmapDrawable; -import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; @@ -60,6 +59,10 @@ import de.danoeh.antennapod.fragment.CoverFragment; import de.danoeh.antennapod.fragment.ItemDescriptionFragment; import de.danoeh.antennapod.menuhandler.NavDrawerActivity; import de.danoeh.antennapod.preferences.PreferenceController; +import rx.Observable; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; /** * Activity for playing audio files. @@ -104,6 +107,8 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc private ImageButton butNavChaptersShownotes; private ImageButton butShowCover; + private Subscription subscription; + private PopupWindow popupWindow; private void resetFragmentView() { @@ -145,7 +150,9 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc protected void onStop() { super.onStop(); Log.d(TAG, "onStop()"); - cancelLoadTask(); + if(subscription != null) { + subscription.unsubscribe(); + } EventDistributor.getInstance().unregister(contentUpdate); } @@ -716,10 +723,10 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc Feed feed = navDrawerData.feeds.get(position - navAdapter.getSubscriptionOffset()); switch(item.getItemId()) { case R.id.mark_all_seen_item: - DBWriter.markFeedSeen(this, feed.getId()); + DBWriter.markFeedSeen(feed.getId()); return true; case R.id.mark_all_read_item: - DBWriter.markFeedRead(this, feed.getId()); + DBWriter.markFeedRead(feed.getId()); return true; case R.id.remove_item: final FeedRemover remover = new FeedRemover(this, feed) { @@ -747,32 +754,22 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc private DBReader.NavDrawerData navDrawerData; - private AsyncTask<Void, Void, DBReader.NavDrawerData> loadTask; private void loadData() { - loadTask = new AsyncTask<Void, Void, DBReader.NavDrawerData>() { - @Override - protected DBReader.NavDrawerData doInBackground(Void... params) { - return DBReader.getNavDrawerData(AudioplayerActivity.this); - } - - @Override - protected void onPostExecute(DBReader.NavDrawerData result) { - super.onPostExecute(result); - navDrawerData = result; - if (navAdapter != null) { - navAdapter.notifyDataSetChanged(); - } - } - }; - loadTask.execute(); + subscription = Observable.defer(() -> Observable.just(DBReader.getNavDrawerData())) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(result -> { + navDrawerData = result; + if (navAdapter != null) { + navAdapter.notifyDataSetChanged(); + } + }, error -> { + Log.e(TAG, Log.getStackTraceString(error)); + }); } - private void cancelLoadTask() { - if (loadTask != null) { - loadTask.cancel(true); - } - } + private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java index cc4d459c8..80883e4ae 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java @@ -26,7 +26,6 @@ import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; -import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.joanzapata.iconify.Iconify; import de.danoeh.antennapod.R; @@ -111,7 +110,7 @@ public class FeedInfoActivity extends ActionBarActivity { @Override protected Feed doInBackground(Long... params) { - return DBReader.getFeed(FeedInfoActivity.this, params[0]); + return DBReader.getFeed(params[0]); } @Override @@ -239,7 +238,7 @@ public class FeedInfoActivity extends ActionBarActivity { prefs.setPassword(etxtPassword.getText().toString()); } if (authInfoChanged || autoDeleteChanged) { - DBWriter.setFeedPreferences(this, prefs); + DBWriter.setFeedPreferences(prefs); } authInfoChanged = false; autoDeleteChanged = false; @@ -299,7 +298,7 @@ public class FeedInfoActivity extends ActionBarActivity { @Override public void onConfirmButtonPressed(DialogInterface dialog) { - DBWriter.setFeedsItemsAutoDownload(context, feed, autoDownload); + DBWriter.setFeedsItemsAutoDownload(feed, autoDownload); } } diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java index 9caa35b5b..76d657585 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -58,6 +58,10 @@ import de.danoeh.antennapod.fragment.QueueFragment; import de.danoeh.antennapod.menuhandler.NavDrawerActivity; import de.danoeh.antennapod.preferences.PreferenceController; import de.greenrobot.event.EventBus; +import rx.Observable; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; /** * The activity that is shown when the user launches the app. @@ -106,6 +110,8 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity private ProgressDialog pd; + private Subscription subscription; + @Override public void onCreate(Bundle savedInstanceState) { setTheme(UserPreferences.getNoTitleTheme()); @@ -478,9 +484,11 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity @Override protected void onStop() { super.onStop(); - cancelLoadTask(); EventDistributor.getInstance().unregister(contentUpdate); EventBus.getDefault().unregister(this); + if(subscription != null) { + subscription.unsubscribe(); + } if(pd != null) { pd.dismiss(); } @@ -551,10 +559,10 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity Feed feed = navDrawerData.feeds.get(position - navAdapter.getSubscriptionOffset()); switch(item.getItemId()) { case R.id.mark_all_seen_item: - DBWriter.markFeedSeen(this, feed.getId()); + DBWriter.markFeedSeen(feed.getId()); return true; case R.id.mark_all_read_item: - DBWriter.markFeedRead(this, feed.getId()); + DBWriter.markFeedRead(feed.getId()); return true; case R.id.remove_item: final FeedRemover remover = new FeedRemover(this, feed) { @@ -629,33 +637,21 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity }; private void loadData() { - cancelLoadTask(); - loadTask = new AsyncTask<Void, Void, DBReader.NavDrawerData>() { - @Override - protected DBReader.NavDrawerData doInBackground(Void... params) { - return DBReader.getNavDrawerData(MainActivity.this); - } - - @Override - protected void onPostExecute(DBReader.NavDrawerData result) { - super.onPostExecute(navDrawerData); - boolean handleIntent = (navDrawerData == null); + subscription = Observable.defer(() -> Observable.just(DBReader.getNavDrawerData())) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(result -> { + boolean handleIntent = (navDrawerData == null); - navDrawerData = result; - navAdapter.notifyDataSetChanged(); + navDrawerData = result; + navAdapter.notifyDataSetChanged(); - if (handleIntent) { - handleNavIntent(); - } - } - }; - loadTask.execute(); - } - - private void cancelLoadTask() { - if (loadTask != null) { - loadTask.cancel(true); - } + if (handleIntent) { + handleNavIntent(); + } + }, error -> { + Log.e(TAG, Log.getStackTraceString(error)); + }); } public void onEvent(QueueEvent event) { diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index 13d5e7acf..a629b8758 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -109,7 +109,7 @@ public class OnlineFeedViewActivity extends ActionBarActivity { @Override public void update(EventDistributor eventDistributor, Integer arg) { if ((arg & EventDistributor.FEED_LIST_UPDATE) != 0) { - updater = Observable.defer(() -> Observable.just(DBReader.getFeedList(OnlineFeedViewActivity.this))) + updater = Observable.defer(() -> Observable.just(DBReader.getFeedList())) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(feeds -> { @@ -263,7 +263,7 @@ public class OnlineFeedViewActivity extends ActionBarActivity { download = Observable.create(new Observable.OnSubscribe<DownloadStatus>() { @Override public void call(Subscriber<? super DownloadStatus> subscriber) { - feeds = DBReader.getFeedList(OnlineFeedViewActivity.this); + feeds = DBReader.getFeedList(); downloader = new HttpDownloader(request); downloader.call(); Log.d(TAG, "Download was completed"); diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java index aca2b359a..d60888a43 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java @@ -64,7 +64,7 @@ public class ActionButtonUtils { butSecondary.setContentDescription(context.getString(labels[1])); } else { // item is not downloaded and not being downloaded - LongList queueIds = DBReader.getQueueIDList(context); + LongList queueIds = DBReader.getQueueIDList(); if(DefaultActionButtonCallback.userAllowedMobileDownloads() || !DefaultActionButtonCallback.userChoseAddToQueue() || queueIds.contains(item.getId())) { butSecondary.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java index b9247e76b..f17f0ba0f 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java @@ -57,7 +57,7 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { final FeedMedia media = item.getMedia(); boolean isDownloading = DownloadRequester.getInstance().isDownloadingFile(media); if (!isDownloading && !media.isDownloaded()) { - LongList queueIds = DBReader.getQueueIDList(context); + LongList queueIds = DBReader.getQueueIDList(); if (NetworkUtils.isDownloadAllowed() || userAllowedMobileDownloads()) { try { DBTasks.downloadFeedItems(context, item); @@ -75,7 +75,7 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { } else if (isDownloading) { DownloadRequester.getInstance().cancelDownload(context, media); if(UserPreferences.isEnableAutodownload()) { - DBWriter.setFeedItemAutoDownload(context, media.getItem(), false); + DBWriter.setFeedItemAutoDownload(media.getItem(), false); Toast.makeText(context, R.string.download_canceled_autodownload_enabled_msg, Toast.LENGTH_LONG).show(); } else { Toast.makeText(context, R.string.download_canceled_msg, Toast.LENGTH_LONG).show(); @@ -93,7 +93,7 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { } } else { if (!item.isPlayed()) { - DBWriter.markItemPlayed(context, item, FeedItem.PLAYED, true); + DBWriter.markItemPlayed(item, FeedItem.PLAYED, true); } } } @@ -117,7 +117,7 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { } } }); - LongList queueIds = DBReader.getQueueIDList(context); + LongList queueIds = DBReader.getQueueIDList(); if(!queueIds.contains(item.getId())) { builder.setNeutralButton(context.getText(R.string.confirm_mobile_download_dialog_only_add_to_queue), new DialogInterface.OnClickListener() { diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java index 6961cf5c1..4ccff39af 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java @@ -123,7 +123,7 @@ public class DownloadLogAdapter extends BaseAdapter { public void onClick(View v) { ButtonHolder holder = (ButtonHolder) v.getTag(); if(holder.typeId == Feed.FEEDFILETYPE_FEED) { - Feed feed = DBReader.getFeed(context, holder.id); + Feed feed = DBReader.getFeed(holder.id); if (feed != null) { feed.setLastUpdate(new Date(0)); // force refresh try { @@ -135,7 +135,7 @@ public class DownloadLogAdapter extends BaseAdapter { Log.wtf(TAG, "Could not find feed for feed id: " + holder.id); } } else if(holder.typeId == FeedMedia.FEEDFILETYPE_FEEDMEDIA) { - FeedMedia media = DBReader.getFeedMedia(context, holder.id); + FeedMedia media = DBReader.getFeedMedia(holder.id); try { DBTasks.downloadFeedItems(context, media.getItem()); Toast.makeText(context, R.string.status_downloading_label, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlExportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlExportWorker.java index f12b0fe3a..3656c3638 100644 --- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlExportWorker.java +++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlExportWorker.java @@ -59,7 +59,7 @@ public class OpmlExportWorker extends AsyncTask<Void, Void, Void> { OutputStreamWriter writer = null; try { writer = new OutputStreamWriter(new FileOutputStream(output), LangUtils.UTF_8); - opmlWriter.writeDocument(DBReader.getFeedList(context), writer); + opmlWriter.writeDocument(DBReader.getFeedList(), writer); } catch (IOException e) { e.printStackTrace(); exception = e; diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java index dbc99b21a..37ca0ad26 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java @@ -372,12 +372,12 @@ public class EpisodesApplyActionFragment extends Fragment { } private void markedCheckedPlayed() { - DBWriter.markItemPlayed(getActivity(), FeedItem.PLAYED, checkedIds.toArray()); + DBWriter.markItemPlayed(FeedItem.PLAYED, checkedIds.toArray()); close(); } private void markedCheckedUnplayed() { - DBWriter.markItemPlayed(getActivity(), FeedItem.UNPLAYED, checkedIds.toArray()); + DBWriter.markItemPlayed(FeedItem.UNPLAYED, checkedIds.toArray()); close(); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java index d55466b10..5d0edb638 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java @@ -38,6 +38,7 @@ import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; +import de.danoeh.antennapod.core.feed.QueueEvent; import de.danoeh.antennapod.core.service.download.DownloadService; import de.danoeh.antennapod.core.service.download.Downloader; import de.danoeh.antennapod.core.storage.DBReader; @@ -57,6 +58,7 @@ public class AllEpisodesFragment extends Fragment { public static final String TAG = "AllEpisodesFragment"; private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED | + EventDistributor.FEED_LIST_UPDATE | EventDistributor.DOWNLOAD_QUEUED | EventDistributor.UNREAD_ITEMS_UPDATE | EventDistributor.PLAYER_STATUS_UPDATE; @@ -251,7 +253,7 @@ public class AllEpisodesFragment extends Fragment { public void onConfirmButtonPressed( DialogInterface dialog) { dialog.dismiss(); - DBWriter.markAllItemsRead(getActivity()); + DBWriter.markAllItemsRead(); Toast.makeText(getActivity(), R.string.mark_all_read_msg, Toast.LENGTH_SHORT).show(); } }; @@ -485,14 +487,14 @@ public class AllEpisodesFragment extends Fragment { if (context != null) { if(showOnlyNewEpisodes) { return new Object[] { - DBReader.getNewItemsList(context), - DBReader.getQueueIDList(context), + DBReader.getNewItemsList(), + DBReader.getQueueIDList(), null // see ItemAccess.isNew }; } else { return new Object[]{ - DBReader.getRecentlyPublishedEpisodes(context, RECENT_EPISODES_LIMIT), - DBReader.getQueueIDList(context) + DBReader.getRecentlyPublishedEpisodes(RECENT_EPISODES_LIMIT), + DBReader.getQueueIDList() }; } } else { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java index 3ca5b3c89..278928f3d 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java @@ -179,7 +179,7 @@ public class CompletedDownloadsFragment extends ListFragment { protected List<FeedItem> doInBackground(Void... params) { Context context = getActivity(); if (context != null) { - return DBReader.getDownloadedItems(context); + return DBReader.getDownloadedItems(); } return Collections.emptyList(); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java index 074a87ea0..da2c05a69 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java @@ -142,7 +142,7 @@ public class DownloadLogFragment extends ListFragment { if (!super.onOptionsItemSelected(item)) { switch (item.getItemId()) { case R.id.clear_history_item: - DBWriter.clearDownloadLog(getActivity()); + DBWriter.clearDownloadLog(); return true; default: return false; @@ -170,7 +170,7 @@ public class DownloadLogFragment extends ListFragment { protected List<DownloadStatus> doInBackground(Void... params) { Context context = getActivity(); if (context != null) { - return DBReader.getDownloadLog(context); + return DBReader.getDownloadLog(); } return null; } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java index 9693e6886..faa4413bb 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java @@ -210,7 +210,7 @@ public class ItemDescriptionFragment extends Fragment { @Override protected FeedItem doInBackground(Void... voids) { - return DBReader.getFeedItem(getActivity(), getArguments().getLong(ARG_FEEDITEM_ID)); + return DBReader.getFeedItem(getArguments().getLong(ARG_FEEDITEM_ID)); } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index 4edb7f36f..353d8149c 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -36,7 +36,6 @@ import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; -import com.bumptech.glide.load.engine.DiskCacheStrategy; import java.util.List; @@ -497,12 +496,12 @@ public class ItemFragment extends Fragment implements LoaderManager.LoaderCallba return new DBTaskLoader<Pair<FeedItem,LongList>>(getActivity()) { @Override public Pair<FeedItem,LongList> loadInBackground() { - FeedItem data1 = DBReader.getFeedItem(getContext(), itemID); + FeedItem data1 = DBReader.getFeedItem(itemID); if (data1 != null) { Timeline t = new Timeline(getActivity(), data1); webviewData = t.processShownotes(false); } - LongList data2 = DBReader.getQueueIDList(getContext()); + LongList data2 = DBReader.getQueueIDList(); return Pair.create(data1, data2); } }; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java index 18a9d09d6..38c9b645a 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java @@ -630,12 +630,12 @@ public class ItemlistFragment extends ListFragment { long feedID = params[0]; Context context = getActivity(); if (context != null) { - Feed feed = DBReader.getFeed(context, feedID); + Feed feed = DBReader.getFeed(feedID); if(feed != null && feed.getItemFilter() != null) { FeedItemFilter filter = feed.getItemFilter(); feed.setItems(filter.filter(context, feed.getItems())); } - LongList queuedItemsIds = DBReader.getQueueIDList(context); + LongList queuedItemsIds = DBReader.getQueueIDList(); return new Object[] { feed, queuedItemsIds }; } else { return null; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java index 6c2271d79..6177f2a50 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java @@ -73,7 +73,7 @@ public class NewEpisodesFragment extends AllEpisodesFragment { FeedItem item = (FeedItem) listView.getAdapter().getItem(which); // we're marking it as unplayed since the user didn't actually play it // but they don't want it considered 'NEW' anymore - DBWriter.markItemPlayed(getActivity(), FeedItem.UNPLAYED, item.getId()); + DBWriter.markItemPlayed(FeedItem.UNPLAYED, item.getId()); undoBarController.showUndoBar(false, getString(R.string.marked_as_read_label), new FeedItemUndoToken(item, which) @@ -89,14 +89,14 @@ public class NewEpisodesFragment extends AllEpisodesFragment { public void onUndo(FeedItemUndoToken token) { if (token != null) { long itemId = token.getFeedItemId(); - DBWriter.markItemPlayed(context, FeedItem.NEW, itemId); + DBWriter.markItemPlayed(FeedItem.NEW, itemId); } } @Override public void onHide(FeedItemUndoToken token) { if (token != null && context != null) { long itemId = token.getFeedItemId(); - FeedItem item = DBReader.getFeedItem(context, itemId); + FeedItem item = DBReader.getFeedItem(itemId); FeedMedia media = item.getMedia(); if(media != null && media.hasAlmostEnded() && item.getFeed().getPreferences().getCurrentAutoDelete()) { DBWriter.deleteFeedMediaOfItem(context, media.getId()); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java index b094133d3..530883667 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java @@ -164,7 +164,7 @@ public class PlaybackHistoryFragment extends ListFragment { if (!super.onOptionsItemSelected(item)) { switch (item.getItemId()) { case R.id.clear_history_item: - DBWriter.clearPlaybackHistory(getActivity()); + DBWriter.clearPlaybackHistory(); return true; default: return false; @@ -267,9 +267,9 @@ public class PlaybackHistoryFragment extends ListFragment { protected Pair<List<FeedItem>,LongList> doInBackground(Void... params) { Context context = activity.get(); if (context != null) { - List<FeedItem> history = DBReader.getPlaybackHistory(context); - LongList queue = DBReader.getQueueIDList(context); - DBReader.loadFeedDataOfFeedItemlist(context, history); + List<FeedItem> history = DBReader.getPlaybackHistory(); + LongList queue = DBReader.getQueueIDList(); + DBReader.loadFeedDataOfFeedItemlist(history); return Pair.create(history, queue); } else { return null; diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 24c9fc425..63c319e03 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -269,7 +269,7 @@ public class QueueFragment extends Fragment { public void onConfirmButtonPressed( DialogInterface dialog) { dialog.dismiss(); - DBWriter.clearQueue(getActivity()); + DBWriter.clearQueue(); } }; conDialog.createNewDialog().show(); @@ -402,7 +402,7 @@ public class QueueFragment extends Fragment { final FeedItem item = queue.remove(from); queue.add(to, item); listAdapter.notifyDataSetChanged(); - DBWriter.moveQueueItem(getActivity(), from, to, true); + DBWriter.moveQueueItem(from, to, true); } @Override @@ -432,10 +432,12 @@ public class QueueFragment extends Fragment { public void onHide(FeedItemUndoToken token) { if (token != null && context != null) { long itemId = token.getFeedItemId(); - FeedItem item = DBReader.getFeedItem(context, itemId); - FeedMedia media = item.getMedia(); - if(media != null && media.hasAlmostEnded() && item.getFeed().getPreferences().getCurrentAutoDelete()) { - DBWriter.deleteFeedMediaOfItem(context, media.getId()); + FeedItem item = DBReader.getFeedItem(itemId); + if(item != null) { + FeedMedia media = item.getMedia(); + if (media != null && media.hasAlmostEnded() && item.getFeed().getPreferences().getCurrentAutoDelete()) { + DBWriter.deleteFeedMediaOfItem(context, media.getId()); + } } } } @@ -608,7 +610,7 @@ public class QueueFragment extends Fragment { protected List<FeedItem> doInBackground(Void... params) { Context context = activity.get(); if (context != null) { - return DBReader.getQueue(context); + return DBReader.getQueue(); } return null; } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java index eb4d18328..544bdfc43 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java @@ -81,8 +81,8 @@ public class RunningDownloadsFragment extends ListFragment { if(downloadRequest.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA && UserPreferences.isEnableAutodownload()) { - FeedMedia media = DBReader.getFeedMedia(getActivity(), downloadRequest.getFeedfileId()); - DBWriter.setFeedItemAutoDownload(getActivity(), media.getItem(), false); + FeedMedia media = DBReader.getFeedMedia(downloadRequest.getFeedfileId()); + DBWriter.setFeedItemAutoDownload(media.getItem(), false); Toast.makeText(getActivity(), R.string.download_canceled_autodownload_enabled_msg, Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getActivity(), R.string.download_canceled_msg, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index 014b44078..510ea2760 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -155,7 +155,7 @@ public class FeedItemMenuHandler { break; case R.id.mark_read_item: selectedItem.setPlayed(true); - DBWriter.markItemPlayed(context, selectedItem, FeedItem.PLAYED, false); + DBWriter.markItemPlayed(selectedItem, FeedItem.PLAYED, false); if(GpodnetPreferences.loggedIn()) { FeedMedia media = selectedItem.getMedia(); // not all items have media, Gpodder only cares about those that do @@ -173,7 +173,7 @@ public class FeedItemMenuHandler { break; case R.id.mark_unread_item: selectedItem.setPlayed(false); - DBWriter.markItemPlayed(context, selectedItem, FeedItem.UNPLAYED, false); + DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, false); if(GpodnetPreferences.loggedIn()) { GpodnetEpisodeAction actionNew = new GpodnetEpisodeAction.Builder(selectedItem, Action.NEW) .currentDeviceId() @@ -183,10 +183,10 @@ public class FeedItemMenuHandler { } break; case R.id.move_to_top_item: - DBWriter.moveQueueItemToTop(context, selectedItem.getId(), true); + DBWriter.moveQueueItemToTop(selectedItem.getId(), true); return true; case R.id.move_to_bottom_item: - DBWriter.moveQueueItemToBottom(context, selectedItem.getId(), true); + DBWriter.moveQueueItemToBottom(selectedItem.getId(), true); case R.id.add_to_queue_item: DBWriter.addQueueItem(context, selectedItem.getId()); break; @@ -195,15 +195,15 @@ public class FeedItemMenuHandler { break; case R.id.reset_position: selectedItem.getMedia().setPosition(0); - DBWriter.markItemPlayed(context, selectedItem, FeedItem.UNPLAYED, true); + DBWriter.markItemPlayed(selectedItem, FeedItem.UNPLAYED, true); break; case R.id.activate_auto_download: selectedItem.setAutoDownload(true); - DBWriter.setFeedItemAutoDownload(context, selectedItem, true); + DBWriter.setFeedItemAutoDownload(selectedItem, true); break; case R.id.deactivate_auto_download: selectedItem.setAutoDownload(false); - DBWriter.setFeedItemAutoDownload(context, selectedItem, false); + DBWriter.setFeedItemAutoDownload(selectedItem, false); break; case R.id.visit_website_item: Uri uri = Uri.parse(selectedItem.getLink()); diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java index 3df59724d..f32a1c2ee 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java @@ -78,7 +78,7 @@ public class FeedMenuHandler { public void onConfirmButtonPressed( DialogInterface dialog) { dialog.dismiss(); - DBWriter.markFeedRead(context, selectedFeed.getId()); + DBWriter.markFeedRead(selectedFeed.getId()); } }; conDialog.createNewDialog().show(); @@ -138,7 +138,7 @@ public class FeedMenuHandler { @Override public void onClick(DialogInterface dialog, int which) { feed.setHiddenItemProperties(hidden.toArray(new String[hidden.size()])); - DBWriter.setFeedItemsFilter(context, feed.getId(), hidden); + DBWriter.setFeedItemsFilter(feed.getId(), hidden); } }); builder.setNegativeButton(R.string.cancel_label, null); diff --git a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java index 0f726f214..d7a049a32 100644 --- a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java +++ b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java @@ -58,9 +58,9 @@ public class PlayerWidgetService extends Service { if (media.hasAlmostEnded()) { Log.d(TAG, "smart mark as read"); FeedItem item = media.getItem(); - DBWriter.markItemPlayed(this, item, FeedItem.PLAYED, false); + DBWriter.markItemPlayed(item, FeedItem.PLAYED, false); DBWriter.removeQueueItem(this, item, false); - DBWriter.addItemToPlaybackHistory(this, media); + DBWriter.addItemToPlaybackHistory(media); if (item.getFeed().getPreferences().getCurrentAutoDelete()) { Log.d(TAG, "Delete " + media.toString()); DBWriter.deleteFeedMediaOfItem(this, media.getId()); |