From bd4631126d55aa91df2b83aebd5afa1e8ef0c841 Mon Sep 17 00:00:00 2001 From: Nathan Mascitelli Date: Mon, 10 Feb 2020 09:31:53 -0500 Subject: [PATCH] Updates based on QA feedback --- .../activity/OnlineFeedViewActivity.java | 14 +++++++------- app/src/main/res/xml/preferences_network.xml | 10 +++++----- .../antennapod/core/service/FeedUpdateWorker.java | 2 +- .../download/DownloadServiceNotification.java | 3 +-- .../core/service/download/DownloadStatus.java | 5 ++--- .../core/service/download/Downloader.java | 2 +- .../de/danoeh/antennapod/core/storage/DBTasks.java | 11 +++++++---- .../core/util/download/AutoUpdateManager.java | 2 +- 8 files changed, 25 insertions(+), 24 deletions(-) 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 9951eee23..1f0039189 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -137,9 +137,9 @@ public class OnlineFeedViewActivity extends AppCompatActivity { feedUrl = feedUrl.replaceFirst("((www.)?(subscribeonandroid.com/))", ""); } if (savedInstanceState == null) { - startFeedDownload(feedUrl, null, null, true); + startFeedDownload(feedUrl, null, null); } else { - startFeedDownload(feedUrl, savedInstanceState.getString("username"), savedInstanceState.getString("password"), true); + startFeedDownload(feedUrl, savedInstanceState.getString("username"), savedInstanceState.getString("password")); } } } @@ -223,7 +223,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { return super.onOptionsItemSelected(item); } - private void startFeedDownload(String url, String username, String password, boolean initiatedByUser) { + private void startFeedDownload(String url, String username, String password) { Log.d(TAG, "Starting feed download"); url = URLChecker.prepareURL(url); feed = new Feed(url, null); @@ -235,7 +235,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { feed.setFile_url(fileUrl); final DownloadRequest request = new DownloadRequest(feed.getFile_url(), feed.getDownload_url(), "OnlineFeed", 0, Feed.FEEDFILETYPE_FEED, username, password, - true, null, initiatedByUser); + true, null, true); download = Observable.fromCallable(() -> { feeds = DBReader.getFeedList(); @@ -589,9 +589,9 @@ public class OnlineFeedViewActivity extends AppCompatActivity { resetIntent(selectedUrl, titles.get(which)); FeedPreferences prefs = feed.getPreferences(); if(prefs != null) { - startFeedDownload(selectedUrl, prefs.getUsername(), prefs.getPassword(), true); + startFeedDownload(selectedUrl, prefs.getUsername(), prefs.getPassword()); } else { - startFeedDownload(selectedUrl, null, null, true); + startFeedDownload(selectedUrl, null, null); } }; @@ -627,7 +627,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { @Override protected void onConfirmed(String username, String password, boolean saveUsernamePassword) { - startFeedDownload(feedUrl, username, password, true); + startFeedDownload(feedUrl, username, password); } } diff --git a/app/src/main/res/xml/preferences_network.xml b/app/src/main/res/xml/preferences_network.xml index bd52c2929..5d1831ef0 100644 --- a/app/src/main/res/xml/preferences_network.xml +++ b/app/src/main/res/xml/preferences_network.xml @@ -36,11 +36,11 @@ android:summary="@string/pref_showDownloadReport_sum" android:title="@string/pref_showDownloadReport_title"/> + android:defaultValue="false" + android:enabled="true" + android:key="prefShowAutoDownloadReport" + android:summary="@string/pref_showAutoDownloadReport_sum" + android:title="@string/pref_showAutoDownloadReport_title"/> 0 || showAutoDownloadReport && !status.isInitiatedByUser() && status.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA) { createReport = true; } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadStatus.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadStatus.java index 78ac8ecea..6b21dd58c 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadStatus.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadStatus.java @@ -51,8 +51,7 @@ public class DownloadStatus { DownloadError reason, boolean successful, boolean cancelled, - String reasonDetailed, - boolean initiatedByUser) { + String reasonDetailed) { this(0, request.getTitle(), request.getFeedfileId(), @@ -63,7 +62,7 @@ public class DownloadStatus { reason, new Date(), reasonDetailed, - initiatedByUser); + request.isInitiatedByUser()); } /** Constructor for creating new completed downloads. */ diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/Downloader.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/Downloader.java index 51190a82a..2a0989d23 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/Downloader.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/Downloader.java @@ -29,7 +29,7 @@ public abstract class Downloader implements Callable { this.request = request; this.request.setStatusMsg(R.string.download_pending); this.cancelled = false; - this.result = new DownloadStatus(request, null, false, false, null, request.isInitiatedByUser()); + this.result = new DownloadStatus(request, null, false, false, null); } protected abstract void download(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java index 9bad98135..0695b1d04 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java @@ -105,8 +105,9 @@ public final class DBTasks { * enqueuing Feeds for download from a previous call * * @param context Might be used for accessing the database + * @param initiatedByUser a boolean indicating if the refresh was triggered by user action. */ - public static void refreshAllFeeds(final Context context) { + public static void refreshAllFeeds(final Context context, boolean initiatedByUser) { if (!isRefreshing.compareAndSet(false, true)) { Log.d(TAG, "Ignoring request to refresh all feeds: Refresh lock is locked"); return; @@ -116,7 +117,7 @@ public final class DBTasks { throw new IllegalStateException("DBTasks.refreshAllFeeds() must not be called from the main thread."); } - refreshFeeds(context, DBReader.getFeedList()); + refreshFeeds(context, DBReader.getFeedList(), initiatedByUser); isRefreshing.set(false); SharedPreferences prefs = context.getSharedPreferences(PREF_NAME, MODE_PRIVATE); @@ -134,9 +135,11 @@ public final class DBTasks { /** * @param context * @param feedList the list of feeds to refresh + * @param initiatedByUser a boolean indicating if the refresh was triggered by user action. */ private static void refreshFeeds(final Context context, - final List feedList) { + final List feedList, + boolean initiatedByUser) { for (Feed feed : feedList) { FeedPreferences prefs = feed.getPreferences(); @@ -153,7 +156,7 @@ public final class DBTasks { DownloadError.ERROR_REQUEST_ERROR, false, e.getMessage(), - false) + initiatedByUser) ); } } diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/download/AutoUpdateManager.java b/core/src/main/java/de/danoeh/antennapod/core/util/download/AutoUpdateManager.java index e093a7e00..fc04d82cc 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/download/AutoUpdateManager.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/download/AutoUpdateManager.java @@ -115,7 +115,7 @@ public class AutoUpdateManager { public static void runImmediate(@NonNull Context context) { Log.d(TAG, "Run auto update immediately in background."); new Thread(() -> { - DBTasks.refreshAllFeeds(context.getApplicationContext()); + DBTasks.refreshAllFeeds(context.getApplicationContext(), true); }, "ManualRefreshAllFeeds").start(); }