diff options
Diffstat (limited to 'app/src/androidTest/java')
9 files changed, 261 insertions, 60 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java index 7862e986d..6f8dbcb1a 100644 --- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java +++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java @@ -21,13 +21,14 @@ import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.feed.FeedMedia; import de.danoeh.antennapod.core.feed.FeedPreferences; import de.danoeh.antennapod.core.service.playback.PlaybackServiceMediaPlayer; +import de.danoeh.antennapod.core.service.playback.LocalPSMP; import de.danoeh.antennapod.core.service.playback.PlayerStatus; import de.danoeh.antennapod.core.storage.PodDBAdapter; import de.danoeh.antennapod.core.util.playback.Playable; import de.test.antennapod.util.service.download.HTTPBin; /** - * Test class for PlaybackServiceMediaPlayer + * Test class for LocalPSMP */ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { private static final String TAG = "PlaybackServiceMediaPlayerTest"; @@ -53,7 +54,10 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { super.setUp(); assertionError = null; + final Context context = getInstrumentation().getTargetContext(); + // create new database + PodDBAdapter.init(context); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); @@ -62,7 +66,6 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { httpServer = new HTTPBin(); httpServer.start(); - final Context context = getInstrumentation().getTargetContext(); File cacheDir = context.getExternalFilesDir("testFiles"); if (cacheDir == null) cacheDir = context.getExternalFilesDir("testFiles"); @@ -83,7 +86,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { assertEquals(0, httpServer.serveFile(dest)); } - private void checkPSMPInfo(PlaybackServiceMediaPlayer.PSMPInfo info) { + private void checkPSMPInfo(LocalPSMP.PSMPInfo info) { try { switch (info.playerStatus) { case PLAYING: @@ -109,7 +112,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { public void testInit() { final Context c = getInstrumentation().getTargetContext(); - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, defaultCallback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, defaultCallback); psmp.shutdown(); } @@ -137,7 +140,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(2); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -168,12 +171,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -183,12 +196,12 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); psmp.playMediaObject(p, true, false, false); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -206,7 +219,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(2); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -237,12 +250,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -252,11 +275,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); psmp.playMediaObject(p, true, true, false); @@ -275,7 +298,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(4); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -309,12 +332,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -324,11 +357,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); psmp.playMediaObject(p, true, false, true); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -345,7 +378,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(5); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -382,12 +415,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -397,12 +440,12 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, null); psmp.playMediaObject(p, true, true, true); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -418,7 +461,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(2); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -449,12 +492,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -464,12 +517,12 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); psmp.playMediaObject(p, false, false, false); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -486,7 +539,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(2); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -517,12 +570,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -532,11 +595,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); psmp.playMediaObject(p, false, true, false); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -553,7 +616,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(4); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -587,12 +650,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -602,11 +675,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); psmp.playMediaObject(p, false, false, true); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -622,7 +695,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(5); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { try { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) @@ -660,12 +733,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -675,11 +758,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); psmp.playMediaObject(p, false, true, true); boolean res = countDownLatch.await(LATCH_TIMEOUT_SECONDS, TimeUnit.SECONDS); @@ -693,7 +776,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { private final PlaybackServiceMediaPlayer.PSMPCallback defaultCallback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); } @@ -708,12 +791,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { return false; } + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @Override public boolean onMediaPlayerError(Object inObj, int what, int extra) { @@ -721,7 +814,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; @@ -733,7 +826,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) { if (assertionError == null) @@ -776,12 +869,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -793,11 +896,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); if (initialState == PlayerStatus.PLAYING) { psmp.playMediaObject(p, stream, true, true); @@ -854,7 +957,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) { if (assertionError == null) @@ -881,12 +984,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -899,11 +1012,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); if (initialState == PlayerStatus.PREPARED || initialState == PlayerStatus.PLAYING || initialState == PlayerStatus.PAUSED) { boolean startWhenPrepared = (initialState != PlayerStatus.PREPARED); psmp.playMediaObject(writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL), false, startWhenPrepared, true); @@ -937,7 +1050,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(latchCount); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) { if (assertionError == null) @@ -963,12 +1076,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -980,11 +1103,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); if (initialState == PlayerStatus.INITIALIZED || initialState == PlayerStatus.PLAYING @@ -1032,7 +1155,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { final CountDownLatch countDownLatch = new CountDownLatch(latchCount); PlaybackServiceMediaPlayer.PSMPCallback callback = new PlaybackServiceMediaPlayer.PSMPCallback() { @Override - public void statusChanged(PlaybackServiceMediaPlayer.PSMPInfo newInfo) { + public void statusChanged(LocalPSMP.PSMPInfo newInfo) { checkPSMPInfo(newInfo); if (newInfo.playerStatus == PlayerStatus.ERROR) { if (assertionError == null) @@ -1057,12 +1180,22 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override + public void setSpeedAbilityChanged() { + + } + + @Override + public void onMediaChanged(boolean reloadUI) { + + } + + @Override public void onBufferingUpdate(int percent) { } @Override - public boolean onMediaPlayerInfo(int code) { + public boolean onMediaPlayerInfo(int code, int resourceId) { return false; } @@ -1074,11 +1207,11 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + public boolean endPlayback(Playable p, boolean playNextEpisode, boolean wasSkipped, boolean switchingPlayers) { return false; } }; - PlaybackServiceMediaPlayer psmp = new PlaybackServiceMediaPlayer(c, callback); + PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback); Playable p = writeTestPlayable(PLAYABLE_FILE_URL, PLAYABLE_LOCAL_URL); boolean prepareImmediately = initialState != PlayerStatus.INITIALIZED; boolean startImmediately = initialState != PlayerStatus.PREPARED; diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceTaskManagerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceTaskManagerTest.java index 5c3d32960..6ab6e5c61 100644 --- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceTaskManagerTest.java +++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceTaskManagerTest.java @@ -34,6 +34,7 @@ public class PlaybackServiceTaskManagerTest extends InstrumentationTestCase { super.setUp(); // create new database + PodDBAdapter.init(getInstrumentation().getTargetContext()); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBCleanupTests.java b/app/src/androidTest/java/de/test/antennapod/storage/DBCleanupTests.java index 7300df395..5e5eb1e8b 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBCleanupTests.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBCleanupTests.java @@ -70,6 +70,7 @@ public class DBCleanupTests extends InstrumentationTestCase { assertTrue(destFolder.canWrite()); // create new database + PodDBAdapter.init(context); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBNullCleanupAlgorithmTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBNullCleanupAlgorithmTest.java index 7205b42c4..7925941ec 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBNullCleanupAlgorithmTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBNullCleanupAlgorithmTest.java @@ -19,8 +19,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.PodDBAdapter; -import static de.test.antennapod.storage.DBTestUtils.saveFeedlist; - /** * Tests that the APNullCleanupAlgorithm is working correctly. */ @@ -60,6 +58,7 @@ public class DBNullCleanupAlgorithmTest extends InstrumentationTestCase { assertTrue(destFolder.canWrite()); // create new database + PodDBAdapter.init(context); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java index 0fc3b1892..9386e3bd6 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java @@ -34,6 +34,7 @@ public class DBReaderTest extends InstrumentationTestCase { super.setUp(); // create new database + PodDBAdapter.init(getInstrumentation().getTargetContext()); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java index 5b2393d45..785d32e93 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java @@ -5,12 +5,14 @@ import android.test.FlakyTest; import android.test.InstrumentationTestCase; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.List; 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.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBTasks; @@ -28,7 +30,6 @@ public class DBTasksTest extends InstrumentationTestCase { @Override protected void tearDown() throws Exception { super.tearDown(); - assertTrue(PodDBAdapter.deleteDatabase()); } @@ -38,6 +39,7 @@ public class DBTasksTest extends InstrumentationTestCase { context = getInstrumentation().getTargetContext(); // create new database + PodDBAdapter.init(context); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); @@ -120,6 +122,32 @@ public class DBTasksTest extends InstrumentationTestCase { updatedFeedTest(feedFromDB, feedID, itemIDs, NUM_ITEMS_OLD, NUM_ITEMS_NEW); } + public void testUpdateFeedMediaUrlResetState() { + final Feed feed = new Feed("url", null, "title"); + FeedItem item = new FeedItem(0, "item", "id", "link", new Date(), FeedItem.PLAYED, feed); + feed.setItems(Arrays.asList(item)); + + PodDBAdapter adapter = PodDBAdapter.getInstance(); + adapter.open(); + adapter.setCompleteFeed(feed); + adapter.close(); + + // ensure that objects have been saved in db, then reset + assertTrue(feed.getId() != 0); + assertTrue(item.getId() != 0); + + FeedMedia media = new FeedMedia(item, "url", 1024, "mime/type"); + item.setMedia(media); + feed.setItems(Arrays.asList(item)); + + final Feed newFeed = DBTasks.updateFeed(context, feed)[0]; + assertTrue(feed != newFeed); + + final Feed feedFromDB = DBReader.getFeed(newFeed.getId()); + final FeedItem feedItemFromDB = feedFromDB.getItems().get(0); + assertTrue("state: " + feedItemFromDB.getState(), feedItemFromDB.isNew()); + } + private void updatedFeedTest(final Feed newFeed, long feedID, List<Long> itemIDs, final int NUM_ITEMS_OLD, final int NUM_ITEMS_NEW) { assertTrue(newFeed.getId() == feedID); assertTrue(newFeed.getItems().size() == NUM_ITEMS_NEW + NUM_ITEMS_OLD); diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java index 0e1d19f7b..40083e507 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java @@ -53,6 +53,7 @@ public class DBWriterTest extends InstrumentationTestCase { super.setUp(); // create new database + PodDBAdapter.init(getInstrumentation().getTargetContext()); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); @@ -194,6 +195,7 @@ public class DBWriterTest extends InstrumentationTestCase { assertEquals(0, c.getCount()); c.close(); } + adapter.close(); } public void testDeleteFeedNoImage() throws ExecutionException, InterruptedException, IOException, TimeoutException { @@ -250,6 +252,7 @@ public class DBWriterTest extends InstrumentationTestCase { assertTrue(c.getCount() == 0); c.close(); } + adapter.close(); } public void testDeleteFeedNoItems() throws IOException, ExecutionException, InterruptedException, TimeoutException { @@ -287,6 +290,7 @@ public class DBWriterTest extends InstrumentationTestCase { c = adapter.getImageCursor(String.valueOf(image.getId())); assertTrue(c.getCount() == 0); c.close(); + adapter.close(); } public void testDeleteFeedNoFeedMedia() throws IOException, ExecutionException, InterruptedException, TimeoutException { @@ -339,6 +343,7 @@ public class DBWriterTest extends InstrumentationTestCase { assertTrue(c.getCount() == 0); c.close(); } + adapter.close(); } public void testDeleteFeedWithItemImages() throws InterruptedException, ExecutionException, TimeoutException, IOException { @@ -397,6 +402,7 @@ public class DBWriterTest extends InstrumentationTestCase { assertEquals(0, c.getCount()); c.close(); } + adapter.close(); } public void testDeleteFeedWithQueueItems() throws ExecutionException, InterruptedException, TimeoutException { @@ -527,6 +533,7 @@ public class DBWriterTest extends InstrumentationTestCase { assertTrue(c.getCount() == 0); c.close(); } + adapter.close(); } private FeedMedia playbackHistorySetup(Date playbackCompletionDate) { @@ -730,7 +737,6 @@ public class DBWriterTest extends InstrumentationTestCase { } assertTrue(idFound); } - queue.close(); adapter.close(); } diff --git a/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java b/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java index 4e214cf81..9a0e11816 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java @@ -41,10 +41,12 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv @Override protected void setUp() throws Exception { super.setUp(); - uiTestUtils = new UITestUtils(getInstrumentation().getTargetContext()); + Context context = getInstrumentation().getTargetContext(); + uiTestUtils = new UITestUtils(context); uiTestUtils.setup(); // create new database + PodDBAdapter.init(context); PodDBAdapter.deleteDatabase(); PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); @@ -108,6 +110,12 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv solo.waitForView(android.R.id.list); assertEquals(solo.getString(R.string.episodes_label), getActionbarTitle()); + // Subscriptions + openNavDrawer(); + solo.clickOnText(solo.getString(R.string.subscriptions_label)); + solo.waitForView(R.id.subscriptions_grid); + assertEquals(solo.getString(R.string.subscriptions_label), getActionbarTitle()); + // downloads openNavDrawer(); solo.clickOnText(solo.getString(R.string.downloads_label)); diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java index 54741502c..040f4150b 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java @@ -90,6 +90,30 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2<Preference assertTrue(solo.waitForCondition(() -> persistNotify == UserPreferences.isPersistNotify(), Timeout.getLargeTimeout())); } + public void testSetLockscreenButtons() { + String[] buttons = res.getStringArray(R.array.compact_notification_buttons_options); + solo.clickOnText(solo.getString(R.string.pref_compact_notification_buttons_title)); + solo.waitForDialogToOpen(1000); + // First uncheck every checkbox + for (int i=0; i<buttons.length; i++) { + assertTrue(solo.searchText(buttons[i])); + if (solo.isTextChecked(buttons[i])) { + solo.clickOnText(buttons[i]); + } + } + // Now try to check all checkboxes + solo.clickOnText(buttons[0]); + solo.clickOnText(buttons[1]); + solo.clickOnText(buttons[2]); + // Make sure that the third checkbox is unchecked + assertTrue(!solo.isTextChecked(buttons[2])); + solo.clickOnText(solo.getString(R.string.confirm_label)); + solo.waitForDialogToClose(1000); + assertTrue(solo.waitForCondition(() -> UserPreferences.showRewindOnCompactNotification(), Timeout.getLargeTimeout())); + assertTrue(solo.waitForCondition(() -> UserPreferences.showFastForwardOnCompactNotification(), Timeout.getLargeTimeout())); + assertTrue(solo.waitForCondition(() -> !UserPreferences.showSkipOnCompactNotification(), Timeout.getLargeTimeout())); + } + public void testEnqueueAtFront() { final boolean enqueueAtFront = UserPreferences.enqueueAtFront(); solo.clickOnText(solo.getString(R.string.pref_queueAddToFront_title)); |