diff options
-rw-r--r-- | app/src/androidTest/java/de/test/antennapod/ui/FeedSettingsTest.java | 79 | ||||
-rw-r--r-- | app/src/main/res/xml/feed_settings.xml | 1 | ||||
-rw-r--r-- | core/src/main/res/drawable/ic_av_skip_black_24dp.xml | 7 | ||||
-rw-r--r-- | core/src/main/res/drawable/ic_av_skip_white_24dp.xml | 7 | ||||
-rw-r--r-- | core/src/main/res/values/attrs.xml | 1 | ||||
-rw-r--r-- | core/src/main/res/values/styles.xml | 2 |
6 files changed, 97 insertions, 0 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/ui/FeedSettingsTest.java b/app/src/androidTest/java/de/test/antennapod/ui/FeedSettingsTest.java new file mode 100644 index 000000000..b49be9a04 --- /dev/null +++ b/app/src/androidTest/java/de/test/antennapod/ui/FeedSettingsTest.java @@ -0,0 +1,79 @@ +package de.test.antennapod.ui; + +import android.content.Intent; +import androidx.test.espresso.intent.rule.IntentsTestRule; +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.activity.MainActivity; +import de.danoeh.antennapod.core.feed.Feed; +import de.test.antennapod.EspressoTestUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static androidx.test.espresso.Espresso.onView; +import static androidx.test.espresso.action.ViewActions.click; +import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA; +import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; +import static androidx.test.espresso.matcher.ViewMatchers.isRoot; +import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static androidx.test.espresso.matcher.ViewMatchers.withText; +import static de.test.antennapod.EspressoTestUtils.clickPreference; +import static de.test.antennapod.EspressoTestUtils.waitForView; +import static org.hamcrest.Matchers.allOf; + +@RunWith(AndroidJUnit4.class) +public class FeedSettingsTest { + private UITestUtils uiTestUtils; + private Feed feed; + + @Rule + public IntentsTestRule<MainActivity> activityRule = new IntentsTestRule<>(MainActivity.class, false, false); + + @Before + public void setUp() throws Exception { + uiTestUtils = new UITestUtils(InstrumentationRegistry.getInstrumentation().getTargetContext()); + uiTestUtils.setup(); + + EspressoTestUtils.clearPreferences(); + EspressoTestUtils.clearDatabase(); + + uiTestUtils.addLocalFeedData(false); + feed = uiTestUtils.hostedFeeds.get(0); + Intent intent = new Intent(InstrumentationRegistry.getInstrumentation().getTargetContext(), MainActivity.class); + intent.putExtra(MainActivity.EXTRA_FEED_ID, feed.getId()); + activityRule.launchActivity(intent); + } + + @After + public void tearDown() throws Exception { + uiTestUtils.tearDown(); + } + + @Test + public void testClickFeedSettings() { + onView(isRoot()).perform(waitForView(allOf(isDescendantOfA(withId(R.id.appBar)), + withText(feed.getTitle()), isDisplayed()), 1000)); + onView(withId(R.id.butShowSettings)).perform(click()); + + clickPreference(R.string.keep_updated); + + clickPreference(R.string.authentication_label); + onView(withText(R.string.cancel_label)).perform(click()); + + clickPreference(R.string.playback_speed); + onView(withText(R.string.cancel_label)).perform(click()); + + clickPreference(R.string.pref_feed_skip); + onView(withText(R.string.cancel_label)).perform(click()); + + clickPreference(R.string.auto_delete_label); + onView(withText(R.string.cancel_label)).perform(click()); + + clickPreference(R.string.feed_volume_reduction); + onView(withText(R.string.cancel_label)).perform(click()); + } +} diff --git a/app/src/main/res/xml/feed_settings.xml b/app/src/main/res/xml/feed_settings.xml index f85c9ef3c..9f8392f44 100644 --- a/app/src/main/res/xml/feed_settings.xml +++ b/app/src/main/res/xml/feed_settings.xml @@ -23,6 +23,7 @@ <Preference android:key="feedAutoSkip" + android:icon="?attr/ic_settings_skip" android:summary="@string/pref_feed_skip_sum" android:title="@string/pref_feed_skip" /> diff --git a/core/src/main/res/drawable/ic_av_skip_black_24dp.xml b/core/src/main/res/drawable/ic_av_skip_black_24dp.xml new file mode 100644 index 000000000..3ca3734a8 --- /dev/null +++ b/core/src/main/res/drawable/ic_av_skip_black_24dp.xml @@ -0,0 +1,7 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path android:fillColor="#FF000000" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/> +</vector> diff --git a/core/src/main/res/drawable/ic_av_skip_white_24dp.xml b/core/src/main/res/drawable/ic_av_skip_white_24dp.xml new file mode 100644 index 000000000..9df98de70 --- /dev/null +++ b/core/src/main/res/drawable/ic_av_skip_white_24dp.xml @@ -0,0 +1,7 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path android:fillColor="#FFFFFFFF" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/> +</vector> diff --git a/core/src/main/res/values/attrs.xml b/core/src/main/res/values/attrs.xml index 2d8cbb4cb..b89a819f1 100644 --- a/core/src/main/res/values/attrs.xml +++ b/core/src/main/res/values/attrs.xml @@ -52,6 +52,7 @@ <attr name="currently_playing_background" format="color"/> <attr name="ic_bookmark" format="reference"/> <attr name="ic_settings_speed" format="reference" /> + <attr name="ic_settings_skip" format="reference" /> <attr name="drawer_activated_color" format="color"/> <attr name="batch_edit_fab_icon" format="reference"/> <attr name="action_icon_color" format="color"/> diff --git a/core/src/main/res/values/styles.xml b/core/src/main/res/values/styles.xml index dc823a939..ab78eac47 100644 --- a/core/src/main/res/values/styles.xml +++ b/core/src/main/res/values/styles.xml @@ -35,6 +35,7 @@ <item name="av_fast_forward">@drawable/ic_av_fast_forward_black_48dp</item> <item name="av_skip">@drawable/ic_av_skip_black_48dp</item> <item name="ic_settings_speed">@drawable/ic_playback_speed_black</item> + <item name="ic_settings_skip">@drawable/ic_av_skip_black_24dp</item> <item name="ic_delete">@drawable/ic_delete_black</item> <item name="content_new">@drawable/ic_add_black</item> <item name="content_remove_from_queue">@drawable/ic_remove_black</item> @@ -109,6 +110,7 @@ <item name="av_play">@drawable/ic_av_play_white_48dp</item> <item name="av_skip">@drawable/ic_av_skip_white_48dp</item> <item name="ic_settings_speed">@drawable/ic_playback_speed_white</item> + <item name="ic_settings_skip">@drawable/ic_av_skip_white_24dp</item> <item name="ic_delete">@drawable/ic_delete_white</item> <item name="content_new">@drawable/ic_add_white</item> <item name="content_remove_from_queue">@drawable/ic_remove_white</item> |