Make emulator tests a bit more stable

This commit is contained in:
ByteHamster 2022-01-22 18:17:11 +01:00
parent 3b9dfb3c76
commit 3393bcdf35
4 changed files with 14 additions and 9 deletions

View File

@ -223,10 +223,6 @@ public class PlaybackTest {
startLocalPlayback(); startLocalPlayback();
} }
protected MainActivity getActivity() {
return activityTestRule.getActivity();
}
protected void setContinuousPlaybackPreference(boolean value) { protected void setContinuousPlaybackPreference(boolean value) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putBoolean(UserPreferences.PREF_FOLLOW_QUEUE, value).commit(); prefs.edit().putBoolean(UserPreferences.PREF_FOLLOW_QUEUE, value).commit();

View File

@ -35,7 +35,9 @@ import de.test.antennapod.EspressoTestUtils;
import static androidx.test.espresso.Espresso.onData; import static androidx.test.espresso.Espresso.onData;
import static androidx.test.espresso.Espresso.onView; import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click; import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
import static androidx.test.espresso.action.ViewActions.replaceText; import static androidx.test.espresso.action.ViewActions.replaceText;
import static androidx.test.espresso.action.ViewActions.scrollTo;
import static androidx.test.espresso.action.ViewActions.swipeDown; import static androidx.test.espresso.action.ViewActions.swipeDown;
import static androidx.test.espresso.action.ViewActions.swipeUp; import static androidx.test.espresso.action.ViewActions.swipeUp;
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist; import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
@ -302,6 +304,7 @@ public class PreferencesTest {
clickPreference(R.string.pref_parallel_downloads_title); clickPreference(R.string.pref_parallel_downloads_title);
onView(isRoot()).perform(waitForView(withClassName(endsWith("EditText")), 1000)); onView(isRoot()).perform(waitForView(withClassName(endsWith("EditText")), 1000));
onView(withClassName(endsWith("EditText"))).perform(replaceText("10")); onView(withClassName(endsWith("EditText"))).perform(replaceText("10"));
onView(withClassName(endsWith("EditText"))).perform(closeSoftKeyboard());
onView(withText(android.R.string.ok)).perform(click()); onView(withText(android.R.string.ok)).perform(click());
Awaitility.await().atMost(1000, MILLISECONDS) Awaitility.await().atMost(1000, MILLISECONDS)
.until(() -> UserPreferences.getParallelDownloads() == 10); .until(() -> UserPreferences.getParallelDownloads() == 10);
@ -391,7 +394,7 @@ public class PreferencesTest {
clickPreference(R.string.network_pref); clickPreference(R.string.network_pref);
onView(withText(R.string.pref_automatic_download_title)).perform(click()); onView(withText(R.string.pref_automatic_download_title)).perform(click());
onView(withText(R.string.pref_episode_cleanup_title)).perform(click()); onView(withText(R.string.pref_episode_cleanup_title)).perform(click());
onView(isRoot()).perform(waitForView(withText(R.string.episode_cleanup_except_favorite_removal), 1000)); onView(withId(R.id.select_dialog_listview)).perform(swipeDown());
onView(withText(R.string.episode_cleanup_except_favorite_removal)).perform(click()); onView(withText(R.string.episode_cleanup_except_favorite_removal)).perform(click());
Awaitility.await().atMost(1000, MILLISECONDS) Awaitility.await().atMost(1000, MILLISECONDS)
.until(() -> UserPreferences.getEpisodeCleanupAlgorithm() instanceof ExceptFavoriteCleanupAlgorithm); .until(() -> UserPreferences.getEpisodeCleanupAlgorithm() instanceof ExceptFavoriteCleanupAlgorithm);
@ -402,7 +405,7 @@ public class PreferencesTest {
clickPreference(R.string.network_pref); clickPreference(R.string.network_pref);
onView(withText(R.string.pref_automatic_download_title)).perform(click()); onView(withText(R.string.pref_automatic_download_title)).perform(click());
onView(withText(R.string.pref_episode_cleanup_title)).perform(click()); onView(withText(R.string.pref_episode_cleanup_title)).perform(click());
onView(isRoot()).perform(waitForView(withText(R.string.episode_cleanup_queue_removal), 1000)); onView(withId(R.id.select_dialog_listview)).perform(swipeDown());
onView(withText(R.string.episode_cleanup_queue_removal)).perform(click()); onView(withText(R.string.episode_cleanup_queue_removal)).perform(click());
Awaitility.await().atMost(1000, MILLISECONDS) Awaitility.await().atMost(1000, MILLISECONDS)
.until(() -> UserPreferences.getEpisodeCleanupAlgorithm() instanceof APQueueCleanupAlgorithm); .until(() -> UserPreferences.getEpisodeCleanupAlgorithm() instanceof APQueueCleanupAlgorithm);
@ -424,7 +427,7 @@ public class PreferencesTest {
clickPreference(R.string.network_pref); clickPreference(R.string.network_pref);
onView(withText(R.string.pref_automatic_download_title)).perform(click()); onView(withText(R.string.pref_automatic_download_title)).perform(click());
onView(withText(R.string.pref_episode_cleanup_title)).perform(click()); onView(withText(R.string.pref_episode_cleanup_title)).perform(click());
onView(isRoot()).perform(waitForView(withText(R.string.episode_cleanup_after_listening), 1000)); onView(withId(R.id.select_dialog_listview)).perform(swipeUp());
onView(withText(R.string.episode_cleanup_after_listening)).perform(click()); onView(withText(R.string.episode_cleanup_after_listening)).perform(click());
Awaitility.await().atMost(1000, MILLISECONDS) Awaitility.await().atMost(1000, MILLISECONDS)
.until(() -> { .until(() -> {
@ -443,7 +446,7 @@ public class PreferencesTest {
clickPreference(R.string.pref_automatic_download_title); clickPreference(R.string.pref_automatic_download_title);
clickPreference(R.string.pref_episode_cleanup_title); clickPreference(R.string.pref_episode_cleanup_title);
String search = res.getQuantityString(R.plurals.episode_cleanup_days_after_listening, 3, 3); String search = res.getQuantityString(R.plurals.episode_cleanup_days_after_listening, 3, 3);
onView(isRoot()).perform(waitForView(withText(search), 1000)); onView(withText(search)).perform(scrollTo());
onView(withText(search)).perform(click()); onView(withText(search)).perform(click());
Awaitility.await().atMost(1000, MILLISECONDS) Awaitility.await().atMost(1000, MILLISECONDS)
.until(() -> { .until(() -> {

View File

@ -730,6 +730,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
} }
mediaPlayer.release(); mediaPlayer.release();
mediaPlayer = null; mediaPlayer = null;
playerStatus = PlayerStatus.STOPPED;
} }
isShutDown = true; isShutDown = true;
executor.shutdown(); executor.shutdown();
@ -836,6 +837,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
} }
if (media == null) { if (media == null) {
mediaPlayer = null; mediaPlayer = null;
playerStatus = PlayerStatus.STOPPED;
return; return;
} }

View File

@ -38,7 +38,11 @@ public class AudioPlayer extends MediaPlayer implements IPlayer {
@Override @Override
public void setPlaybackParams(float speed, boolean skipSilence) { public void setPlaybackParams(float speed, boolean skipSilence) {
if (canSetSpeed()) { if (canSetSpeed()) {
setPlaybackSpeed(speed); try {
setPlaybackSpeed(speed);
} catch (Exception e) {
e.printStackTrace();
}
} }
//Default player does not support silence skipping //Default player does not support silence skipping
} }