summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java5
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java4
-rw-r--r--app/src/main/res/layout/feeditemlist_header.xml3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java2
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java31
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java28
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java59
12 files changed, 115 insertions, 23 deletions
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 613216610..66f85d84d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -73,7 +73,6 @@ public class CompletedDownloadsFragment extends Fragment {
recyclerView = root.findViewById(R.id.recyclerView);
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
- recyclerView.setVisibility(View.GONE);
adapter = new CompletedDownloadsListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
progressBar = root.findViewById(R.id.progLoading);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
index b43ae97a4..e88ef432c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java
@@ -194,7 +194,6 @@ public abstract class EpisodesListFragment extends Fragment {
txtvInformation = root.findViewById(R.id.txtvInformation);
recyclerView = root.findViewById(android.R.id.list);
- recyclerView.setVisibility(View.GONE);
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
setupLoadMoreScrollListener();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
index 7aa4d5094..de27ff0af 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
@@ -156,7 +156,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
recyclerView = root.findViewById(R.id.recyclerView);
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
- recyclerView.setVisibility(View.GONE);
progressBar = root.findViewById(R.id.progLoading);
txtvTitle = root.findViewById(R.id.txtvTitle);
@@ -436,7 +435,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
adapter = new FeedItemListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
}
- recyclerView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
if (feed != null) {
adapter.updateItems(feed.getItems());
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 c067af4e4..84b0e97c1 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
@@ -75,7 +75,6 @@ public class PlaybackHistoryFragment extends Fragment implements Toolbar.OnMenuI
recyclerView = root.findViewById(R.id.recyclerView);
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
- recyclerView.setVisibility(View.GONE);
adapter = new PlaybackHistoryListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
progressBar = root.findViewById(R.id.progLoading);
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 1fda42d41..80f666fa2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -556,11 +556,9 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
emptyView.updateAdapter(recyclerAdapter);
}
recyclerAdapter.updateItems(queue);
- recyclerView.setVisibility(View.VISIBLE);
} else {
recyclerAdapter = null;
- recyclerView.setVisibility(View.GONE);
- emptyView.updateAdapter(recyclerAdapter);
+ emptyView.updateAdapter(null);
}
if (restoreScrollPosition) {
@@ -602,7 +600,6 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi
disposable.dispose();
}
if (queue == null) {
- recyclerView.setVisibility(View.GONE);
emptyView.hide();
progLoading.setVisibility(View.VISIBLE);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
index c4fa0a3b1..0394b5987 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
@@ -120,7 +120,6 @@ public class SearchFragment extends Fragment {
recyclerView = layout.findViewById(R.id.recyclerView);
recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
- recyclerView.setVisibility(View.GONE);
adapter = new EpisodeItemListAdapter((MainActivity) getActivity());
recyclerView.setAdapter(adapter);
diff --git a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java
index ce8f08511..567918bec 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/EmptyViewHandler.java
@@ -18,7 +18,6 @@ import de.danoeh.antennapod.R;
public class EmptyViewHandler {
private boolean layoutAdded = false;
- private View list;
private ListAdapter listAdapter;
private RecyclerView.Adapter<?> recyclerAdapter;
@@ -61,7 +60,6 @@ public class EmptyViewHandler {
}
addToParentView(listView);
layoutAdded = true;
- this.list = listView;
listView.setEmptyView(emptyView);
updateAdapter(listView.getAdapter());
}
@@ -72,7 +70,6 @@ public class EmptyViewHandler {
}
addToParentView(recyclerView);
layoutAdded = true;
- this.list = recyclerView;
updateAdapter(recyclerView.getAdapter());
}
@@ -142,7 +139,6 @@ public class EmptyViewHandler {
} else {
empty = true;
}
- list.setVisibility(empty ? View.GONE : View.VISIBLE);
emptyView.setVisibility(empty ? View.VISIBLE : View.GONE);
}
}
diff --git a/app/src/main/res/layout/feeditemlist_header.xml b/app/src/main/res/layout/feeditemlist_header.xml
index 540baf4a7..9e83051d6 100644
--- a/app/src/main/res/layout/feeditemlist_header.xml
+++ b/app/src/main/res/layout/feeditemlist_header.xml
@@ -113,8 +113,10 @@
android:layout_height="wrap_content"
android:padding="2dp"
android:background="?android:attr/windowBackground"
+ android:foreground="?android:attr/selectableItemBackground"
android:visibility="gone"
android:gravity="center"
+ android:textColor="?attr/colorAccent"
tools:visibility="visible"
tools:text="(i) Information"/>
@@ -126,6 +128,7 @@
android:background="?android:attr/windowBackground"
android:visibility="gone"
android:gravity="center"
+ android:textColor="?attr/colorAccent"
tools:visibility="visible"
tools:text="Updates disabled"/>
</LinearLayout>
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index 89a947fdc..4f3962efd 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -968,7 +968,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
taskManager.cancelWidgetUpdater();
if (playable != null) {
if (playable instanceof FeedMedia) {
- SyncService.enqueueEpisodePlayed(getApplicationContext(), (FeedMedia) playable, true);
+ SyncService.enqueueEpisodePlayed(getApplicationContext(), (FeedMedia) playable, false);
}
playable.onPlaybackPause(getApplicationContext());
}
diff --git a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java b/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java
index ddf802858..c9c941d38 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java
@@ -12,6 +12,7 @@ import java.util.ArrayList;
import de.danoeh.antennapod.model.feed.FeedFile;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
@RunWith(RobolectricTestRunner.class)
public class DownloadRequestTest {
@@ -34,6 +35,36 @@ public class DownloadRequestTest {
null, null, "usr2", "pass2");
}
+ @Test
+ public void downloadRequestTestEquals() {
+ String destStr = "file://location/media.mp3";
+ String username = "testUser";
+ String password = "testPassword";
+ FeedFile item = createFeedItem(1);
+ Bundle arg = new Bundle();
+ arg.putString("arg1", "value1");
+ DownloadRequest request1 = new DownloadRequest.Builder(destStr, item, true)
+ .deleteOnFailure(true)
+ .withAuthentication(username, password)
+ .withArguments(arg)
+ .build();
+
+ DownloadRequest request2 = new DownloadRequest.Builder(destStr, item, true)
+ .deleteOnFailure(true)
+ .withAuthentication(username, password)
+ .withArguments(arg)
+ .build();
+
+ DownloadRequest request3 = new DownloadRequest.Builder(destStr, item, true)
+ .deleteOnFailure(true)
+ .withAuthentication("diffUsername", "diffPassword")
+ .withArguments(arg)
+ .build();
+
+ assertEquals(request1, request2);
+ assertNotEquals(request1, request3);
+ }
+
// Test to ensure parcel using put/getParcelableArrayList() API work
// based on: https://stackoverflow.com/a/13507191
private void doTestParcelInArrayList(String message,
diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java
index 093c416d1..e38d4adb7 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java
@@ -780,6 +780,34 @@ public class DbWriterTest {
}
@Test
+ public void testRemoveAllNewFlags() throws Exception {
+ final int numItems = 10;
+ Feed feed = new Feed("url", null, "title");
+ feed.setItems(new ArrayList<>());
+ for (int i = 0; i < numItems; i++) {
+ FeedItem item = new FeedItem(0, "title " + i, "id " + i, "link " + i,
+ new Date(), FeedItem.NEW, feed);
+ feed.getItems().add(item);
+ }
+
+ PodDBAdapter adapter = PodDBAdapter.getInstance();
+ adapter.open();
+ adapter.setCompleteFeed(feed);
+ adapter.close();
+
+ assertTrue(feed.getId() != 0);
+ for (FeedItem item : feed.getItems()) {
+ assertTrue(item.getId() != 0);
+ }
+
+ DBWriter.removeAllNewFlags();
+ List<FeedItem> loadedItems = DBReader.getFeedItemList(feed);
+ for (FeedItem item : loadedItems) {
+ assertFalse(item.isNew());
+ }
+ }
+
+ @Test
public void testMarkAllItemsReadSameFeed() throws Exception {
final int numItems = 10;
Feed feed = new Feed("url", null, "title");
diff --git a/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java b/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
index ffb788c25..6bc3c09a2 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
@@ -5,9 +5,11 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
@@ -26,14 +28,14 @@ public class FeedItemUtilTest {
@Parameters
public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][] {
- { "average", FEED_LINK, ITEM_LINK, ITEM_LINK },
- { "null item link - fallback to feed", FEED_LINK, null, FEED_LINK},
- { "empty item link - same as null", FEED_LINK, "", FEED_LINK},
- { "blank item link - same as null", FEED_LINK, " ", FEED_LINK},
- { "fallback, but feed link is null too", null, null, null },
- { "fallback - but empty feed link - same as null", "", null, null},
- { "fallback - but blank feed link - same as null", " ", null, null}
+ return Arrays.asList(new Object[][]{
+ {"average", FEED_LINK, ITEM_LINK, ITEM_LINK},
+ {"null item link - fallback to feed", FEED_LINK, null, FEED_LINK},
+ {"empty item link - same as null", FEED_LINK, "", FEED_LINK},
+ {"blank item link - same as null", FEED_LINK, " ", FEED_LINK},
+ {"fallback, but feed link is null too", null, null, null},
+ {"fallback - but empty feed link - same as null", "", null, null},
+ {"fallback - but blank feed link - same as null", " ", null, null}
});
}
@@ -44,6 +46,47 @@ public class FeedItemUtilTest {
this.expected = expected;
}
+
+ // Test the getIds() method
+ @Test
+ public void testGetIds() {
+ List<FeedItem> feedItemsList = new ArrayList<FeedItem>(5);
+ List<Integer> idList = new ArrayList<Integer>();
+
+ idList.add(980);
+ idList.add(324);
+ idList.add(226);
+ idList.add(164);
+ idList.add(854);
+
+ for (int i = 0; i < 5; i++) {
+ FeedItem item = createFeedItem(feedLink, itemLink);
+ item.setId(idList.get(i));
+ feedItemsList.add(item);
+ }
+
+ long[] actual = FeedItemUtil.getIds(feedItemsList);
+
+ // covers edge case for getIds() method
+ List<FeedItem> emptyList = new ArrayList<FeedItem>();
+ long[] testEmptyList = FeedItemUtil.getIds(emptyList);
+ assertEquals(msg, 0, testEmptyList.length);
+ assertEquals(msg, 980, actual[0]);
+ assertEquals(msg, 324, actual[1]);
+ assertEquals(msg, 226, actual[2]);
+ assertEquals(msg, 164, actual[3]);
+ assertEquals(msg, 854, actual[4]);
+
+ }
+
+ // Tests the Null value for getLinkWithFallback() method
+ @Test
+ public void testLinkWithFallbackNullValue() {
+ String actual = FeedItemUtil.getLinkWithFallback(null);
+ assertEquals(msg, null, actual);
+ }
+
+
@Test
public void testLinkWithFallback() {
String actual = FeedItemUtil.getLinkWithFallback(createFeedItem(feedLink, itemLink));