summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/androidTest/java/de')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java243
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceTaskManagerTest.java1
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBCleanupTests.java1
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBNullCleanupAlgorithmTest.java3
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java1
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java30
-rw-r--r--app/src/androidTest/java/de/test/antennapod/storage/DBWriterTest.java8
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/MainActivityTest.java10
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java24
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));