summaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/layout-sw720dp/main.xml39
-rw-r--r--app/src/main/res/layout/audio_controls.xml69
-rw-r--r--app/src/main/res/layout/episode_filter_dialog.xml21
-rw-r--r--app/src/main/res/layout/episodes_apply_action_fragment.xml59
-rw-r--r--app/src/main/res/layout/feed_item_list_fragment.xml107
-rw-r--r--app/src/main/res/layout/feeditemlist_item.xml347
-rw-r--r--app/src/main/res/layout/main.xml39
-rw-r--r--app/src/main/res/layout/multi_select_speed_dial.xml41
-rw-r--r--app/src/main/res/layout/opml_selection.xml63
-rw-r--r--app/src/main/res/layout/queue_fragment.xml31
-rw-r--r--app/src/main/res/layout/search_fragment.xml79
-rw-r--r--app/src/main/res/layout/simple_list_fragment.xml44
-rw-r--r--app/src/main/res/layout/subscription_item.xml25
-rw-r--r--app/src/main/res/layout/swipeactions_dialog.xml24
-rw-r--r--app/src/main/res/layout/swipeactions_picker.xml10
-rw-r--r--app/src/main/res/layout/swipeactions_picker_item.xml29
-rw-r--r--app/src/main/res/layout/swipeactions_row.xml84
-rw-r--r--app/src/main/res/menu/downloads.xml7
-rw-r--r--app/src/main/res/menu/episodes.xml3
-rw-r--r--app/src/main/res/menu/episodes_apply_action_options.xml58
-rw-r--r--app/src/main/res/menu/episodes_apply_action_speeddial.xml8
-rw-r--r--app/src/main/res/menu/feeditem_options.xml12
-rw-r--r--app/src/main/res/menu/feeditemlist_context.xml23
-rw-r--r--app/src/main/res/menu/feedlist.xml10
-rw-r--r--app/src/main/res/menu/multi_select_context_popup.xml11
-rw-r--r--app/src/main/res/menu/multi_select_options.xml8
-rw-r--r--app/src/main/res/menu/queue.xml9
-rw-r--r--app/src/main/res/menu/subscriptions.xml8
-rw-r--r--app/src/main/res/values/integers.xml1
-rw-r--r--app/src/main/res/xml/preferences.xml2
-rw-r--r--app/src/main/res/xml/preferences_storage.xml7
-rw-r--r--app/src/main/res/xml/preferences_swipe.xml11
-rw-r--r--app/src/main/res/xml/preferences_user_interface.xml4
33 files changed, 673 insertions, 620 deletions
diff --git a/app/src/main/res/layout-sw720dp/main.xml b/app/src/main/res/layout-sw720dp/main.xml
index 79b7213e0..fe5a86d24 100644
--- a/app/src/main/res/layout-sw720dp/main.xml
+++ b/app/src/main/res/layout-sw720dp/main.xml
@@ -1,28 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ tools:viewBindingIgnore="true">
<FrameLayout
- android:id="@+id/navDrawerFragment"
- android:layout_width="300dp"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:orientation="vertical" />
+ android:id="@+id/navDrawerFragment"
+ android:layout_width="300dp"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:orientation="vertical" />
<View
- android:layout_width="1dp"
- android:layout_height="match_parent"
- android:background="?android:attr/listDivider" />
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="?android:attr/listDivider" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
- android:id="@+id/overview_coordinator_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:id="@+id/overview_coordinator_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<FrameLayout
android:id="@+id/main_view"
@@ -33,14 +34,14 @@
tools:background="@android:color/holo_red_dark" />
<FrameLayout
- android:elevation="8dp"
android:id="@+id/audioplayerFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/windowBackground"
+ android:elevation="8dp"
android:visibility="gone"
app:layout_behavior="de.danoeh.antennapod.view.LockableBottomSheetBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
-</LinearLayout> \ No newline at end of file
+</LinearLayout>
diff --git a/app/src/main/res/layout/audio_controls.xml b/app/src/main/res/layout/audio_controls.xml
index 2c9665aad..0bfa4f521 100644
--- a/app/src/main/res/layout/audio_controls.xml
+++ b/app/src/main/res/layout/audio_controls.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:orientation="vertical"
android:padding="16dp">
<LinearLayout
@@ -17,7 +17,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
- android:layout_marginBottom="8dp"/>
+ android:layout_marginBottom="8dp" />
<LinearLayout
android:layout_width="match_parent"
@@ -27,9 +27,9 @@
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
- style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
android:layout_weight="1"
- android:text="@string/playback_speed" />
+ android:text="@string/playback_speed"
+ style="@style/AntennaPod.TextView.ListItemPrimaryTitle" />
<TextView
android:id="@+id/txtvPlaybackSpeed"
@@ -42,67 +42,14 @@
<de.danoeh.antennapod.view.PlaybackSpeedSeekBar
android:id="@+id/speed_seek_bar"
android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="12dp"
- android:layout_marginBottom="4dp"
- style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
- android:text="@string/volume" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="8dp"
- android:layout_marginStart="8dp"
- android:orientation="horizontal"
- android:gravity="center">
-
- <TextView
- android:id="@+id/txtvLeft"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/left_short" />
-
- <SeekBar
- android:id="@+id/volume_left"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:max="100" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginLeft="8dp"
- android:layout_marginStart="8dp"
- android:orientation="horizontal"
- android:gravity="center">
-
- <TextView
- android:id="@+id/txtvRight"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/right_short" />
-
- <SeekBar
- android:id="@+id/volume_right"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:max="100" />
-
- </LinearLayout>
+ android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
- style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
- android:text="@string/audio_effects" />
+ android:text="@string/audio_effects"
+ style="@style/AntennaPod.TextView.ListItemPrimaryTitle" />
<CheckBox
android:id="@+id/skipSilence"
@@ -115,5 +62,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/stereo_to_mono" />
+
</LinearLayout>
+
</ScrollView>
diff --git a/app/src/main/res/layout/episode_filter_dialog.xml b/app/src/main/res/layout/episode_filter_dialog.xml
index 43d074bfb..9661a8e72 100644
--- a/app/src/main/res/layout/episode_filter_dialog.xml
+++ b/app/src/main/res/layout/episode_filter_dialog.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@@ -7,7 +8,7 @@
<RadioGroup
android:id="@+id/radio_filter_group"
- android:layout_width="fill_parent"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -22,19 +23,21 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/episode_filters_exclude" />
+
</RadioGroup>
<EditText
android:id="@+id/etxtEpisodeFilterText"
- android:layout_width="fill_parent"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:lines="8"
- android:minLines="1"
- android:maxLines="20"
- android:scrollbars="vertical"
- android:hint="@string/episode_filters_hint"
+ android:cursorVisible="true"
android:focusable="true"
android:focusableInTouchMode="true"
- android:cursorVisible="true" />
+ android:hint="@string/episode_filters_hint"
+ android:lines="8"
+ android:maxLines="20"
+ android:minLines="1"
+ android:scrollbars="vertical" />
+
</LinearLayout>
diff --git a/app/src/main/res/layout/episodes_apply_action_fragment.xml b/app/src/main/res/layout/episodes_apply_action_fragment.xml
deleted file mode 100644
index 78827a12a..000000000
--- a/app/src/main/res/layout/episodes_apply_action_fragment.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <androidx.appcompat.widget.Toolbar
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:theme="?attr/actionBarTheme"
- android:layout_alignParentTop="true"
- app:navigationIcon="?homeAsUpIndicator"
- android:id="@+id/toolbar"/>
-
- <ListView
- android:id="@android:id/list"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/toolbar"
- android:layout_marginTop="0dp" />
-
- <com.leinardi.android.speeddial.SpeedDialOverlayLayout
- android:id="@+id/fabSDOverlay"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:importantForAccessibility="no"
- android:layout_below="@id/toolbar" />
- <!-- The FAB SpeedDial
- 1. MUST be placed at the bottom of the layout xml to ensure it is at the front,
- clickable on Pre-Lollipop devices (that do not support elevation).
- See: https://stackoverflow.com/a/2614402
- 2. ScrollView is needed to ensure the vertical list of speed dials are
- accessible when screen height is small, eg., landscape mode on most phones.
- -->
- <ScrollView
- android:id="@+id/fabSDScrollCtr"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"
- android:layout_alignParentRight="true"
- android:elevation="@dimen/sd_open_elevation"
- tools:ignore="UnusedAttribute" >
-
- <com.leinardi.android.speeddial.SpeedDialView
- android:id="@+id/fabSD"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:sdMainFabClosedSrc="@drawable/ic_fab_edit"
- app:sdOverlayLayout="@id/fabSDOverlay"
- android:layout_marginEnd="16dp"
- android:layout_marginRight="16dp"
- android:layout_marginBottom="16dp"
- android:accessibilityTraversalBefore="@android:id/list"
- android:contentDescription="@string/apply_action" />
- </ScrollView>
-
-</RelativeLayout>
diff --git a/app/src/main/res/layout/feed_item_list_fragment.xml b/app/src/main/res/layout/feed_item_list_fragment.xml
index 6dc484e2f..734ce64dd 100644
--- a/app/src/main/res/layout/feed_item_list_fragment.xml
+++ b/app/src/main/res/layout/feed_item_list_fragment.xml
@@ -1,51 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
- android:id="@+id/appBar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:id="@+id/appBar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
<com.google.android.material.appbar.CollapsingToolbarLayout
- android:id="@+id/collapsing_toolbar"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="?android:attr/windowBackground"
- app:contentScrim="?android:attr/windowBackground"
- app:scrimAnimationDuration="200"
- app:layout_scrollFlags="scroll|exitUntilCollapsed">
+ android:id="@+id/collapsing_toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="?android:attr/windowBackground"
+ app:contentScrim="?android:attr/windowBackground"
+ app:scrimAnimationDuration="200"
+ app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
- android:id="@+id/imgvBackground"
- style="@style/BigBlurryBackground"
- android:background="@color/image_readability_tint"
- android:layout_width="match_parent"
- android:layout_height="232dp"
- app:layout_collapseMode="parallax"
- app:layout_collapseParallaxMultiplier="0.6"/>
+ android:id="@+id/imgvBackground"
+ android:layout_width="match_parent"
+ android:layout_height="232dp"
+ android:background="@color/image_readability_tint"
+ style="@style/BigBlurryBackground"
+ app:layout_collapseMode="parallax"
+ app:layout_collapseParallaxMultiplier="0.6" />
- <include layout="@layout/feeditemlist_header"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- app:layout_collapseMode="parallax"
- app:layout_collapseParallaxMultiplier="0.6" />
+ <include
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom"
+ layout="@layout/feeditemlist_header"
+ app:layout_collapseMode="parallax"
+ app:layout_collapseParallaxMultiplier="0.6" />
<androidx.appcompat.widget.Toolbar
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:theme="?attr/actionBarTheme"
- android:layout_alignParentTop="true"
- android:id="@+id/toolbar"
- app:navigationIcon="?homeAsUpIndicator"
- app:layout_collapseMode="pin"/>
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?attr/actionBarSize"
+ android:theme="?attr/actionBarTheme"
+ android:layout_alignParentTop="true"
+ app:navigationIcon="?homeAsUpIndicator"
+ app:layout_collapseMode="pin" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
+
</com.google.android.material.appbar.AppBarLayout>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@@ -54,27 +56,30 @@
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
- <de.danoeh.antennapod.view.EpisodeItemListRecyclerView
- android:id="@+id/recyclerView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingHorizontal="@dimen/additional_horizontal_spacing" />
+ <de.danoeh.antennapod.view.EpisodeItemListRecyclerView
+ android:id="@+id/recyclerView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingHorizontal="@dimen/additional_horizontal_spacing" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<ProgressBar
- android:id="@+id/progLoading"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:indeterminateOnly="true"
- android:visibility="gone"/>
+ android:id="@+id/progLoading"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:indeterminateOnly="true"
+ android:visibility="gone" />
<include
- layout="@layout/more_content_list_footer"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="bottom"
- android:visibility="gone"/>
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom"
+ android:visibility="gone"
+ layout="@layout/more_content_list_footer" />
+
+ <include
+ layout="@layout/multi_select_speed_dial" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
diff --git a/app/src/main/res/layout/feeditemlist_item.xml b/app/src/main/res/layout/feeditemlist_item.xml
index 37b88d1b5..b876f079d 100644
--- a/app/src/main/res/layout/feeditemlist_item.xml
+++ b/app/src/main/res/layout/feeditemlist_item.xml
@@ -1,177 +1,187 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:ignore="MergeRootFrame">
<!--
This parent FrameLayout is necessary because RecyclerView's ItemAnimator changes alpha values,
which conflicts with our played state indicator.
-->
-
<LinearLayout
- android:id="@+id/container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:gravity="center_vertical"
- android:baselineAligned="false"
- android:paddingStart="12dp"
- android:paddingLeft="12dp"
- android:paddingEnd="0dp"
- android:paddingRight="0dp"
- tools:ignore="UselessParent">
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:baselineAligned="false"
+ android:paddingStart="12dp"
+ android:paddingLeft="12dp"
+ android:paddingEnd="0dp"
+ android:paddingRight="0dp"
+ tools:ignore="UselessParent">
<LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:id="@+id/left_padding"
- android:minWidth="4dp">
+ android:id="@+id/left_padding"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:minWidth="4dp">
+
<ImageView
- android:id="@+id/drag_handle"
- android:layout_width="16dp"
- android:layout_height="match_parent"
- android:importantForAccessibility="no"
- android:scaleType="fitCenter"
- app:srcCompat="?attr/dragview_background"
- android:paddingStart="0dp"
- android:paddingLeft="0dp"
- android:paddingEnd="4dp"
- android:paddingRight="4dp"
- tools:src="@drawable/ic_drag_darktheme"
- tools:background="@android:color/holo_green_dark"/>
+ android:id="@+id/drag_handle"
+ android:layout_width="16dp"
+ android:layout_height="match_parent"
+ android:importantForAccessibility="no"
+ android:scaleType="fitCenter"
+ android:paddingStart="0dp"
+ android:paddingLeft="0dp"
+ android:paddingEnd="4dp"
+ android:paddingRight="4dp"
+ app:srcCompat="?attr/dragview_background"
+ tools:src="@drawable/ic_drag_darktheme"
+ tools:background="@android:color/holo_green_dark" />
+
+ <!-- Needs to have the same width as the action button. Otherwise, the screen jumps around. -->
+ <CheckBox
+ android:id="@+id/selectCheckBox"
+ android:layout_width="60dp"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
</LinearLayout>
<androidx.cardview.widget.CardView
- android:layout_width="@dimen/thumbnail_length_queue_item"
- android:layout_height="@dimen/thumbnail_length_queue_item"
- android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
- android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
- android:layout_marginRight="@dimen/listitem_threeline_textleftpadding"
- android:layout_marginEnd="@dimen/listitem_threeline_textleftpadding"
- android:id="@+id/coverHolder"
- app:cardBackgroundColor="@color/non_square_icon_background"
- app:cardCornerRadius="4dp"
- app:cardPreventCornerOverlap="false"
- app:cardElevation="0dp">
+ android:id="@+id/coverHolder"
+ android:layout_width="@dimen/thumbnail_length_queue_item"
+ android:layout_height="@dimen/thumbnail_length_queue_item"
+ android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
+ android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
+ android:layout_marginRight="@dimen/listitem_threeline_textleftpadding"
+ android:layout_marginEnd="@dimen/listitem_threeline_textleftpadding"
+ app:cardBackgroundColor="@color/non_square_icon_background"
+ app:cardCornerRadius="4dp"
+ app:cardPreventCornerOverlap="false"
+ app:cardElevation="0dp">
<RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<TextView
- android:id="@+id/txtvPlaceholder"
- android:layout_width="@dimen/thumbnail_length_queue_item"
- android:layout_height="@dimen/thumbnail_length_queue_item"
- android:layout_centerVertical="true"
- android:gravity="center"
- android:background="@color/light_gray"
- android:maxLines="3"
- android:padding="2dp"
- android:ellipsize="end"/>
+ android:id="@+id/txtvPlaceholder"
+ android:layout_width="@dimen/thumbnail_length_queue_item"
+ android:layout_height="@dimen/thumbnail_length_queue_item"
+ android:layout_centerVertical="true"
+ android:gravity="center"
+ android:background="@color/light_gray"
+ android:maxLines="3"
+ android:padding="2dp"
+ android:ellipsize="end" />
+
<ImageView
- android:id="@+id/imgvCover"
- android:layout_width="@dimen/thumbnail_length_queue_item"
- android:layout_height="@dimen/thumbnail_length_queue_item"
- android:layout_centerVertical="true"
- android:importantForAccessibility="no"
- tools:src="@tools:sample/avatars"/>
+ android:id="@+id/imgvCover"
+ android:layout_width="@dimen/thumbnail_length_queue_item"
+ android:layout_height="@dimen/thumbnail_length_queue_item"
+ android:layout_centerVertical="true"
+ android:importantForAccessibility="no"
+ tools:src="@tools:sample/avatars" />
</RelativeLayout>
+
</androidx.cardview.widget.CardView>
<LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
- android:layout_marginRight="@dimen/listitem_threeline_textrightpadding"
- android:layout_marginEnd="@dimen/listitem_threeline_textrightpadding"
- android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
- android:layout_weight="1"
- tools:background="@android:color/holo_red_dark"
- android:orientation="vertical">
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/listitem_threeline_verticalpadding"
+ android:layout_marginRight="@dimen/listitem_threeline_textrightpadding"
+ android:layout_marginEnd="@dimen/listitem_threeline_textrightpadding"
+ android:layout_marginTop="@dimen/listitem_threeline_verticalpadding"
+ android:layout_weight="1"
+ android:orientation="vertical"
+ tools:background="@android:color/holo_red_dark">
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/status"
- android:orientation="horizontal"
- android:gravity="center_vertical">
+ android:id="@+id/status"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
<TextView
- android:text="@string/new_label"
- style="@style/AntennaPod.TextView.UnreadIndicator"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/statusUnread"
- android:layout_marginRight="4dp"
- android:layout_marginEnd="4dp"
- tools:text="@sample/episodes.json/data/status_label"/>
+ android:id="@+id/statusUnread"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/new_label"
+ android:layout_marginRight="4dp"
+ android:layout_marginEnd="4dp"
+ style="@style/AntennaPod.TextView.UnreadIndicator"
+ tools:text="@sample/episodes.json/data/status_label" />
<ImageView
- android:layout_width="14sp"
- android:layout_height="14sp"
- app:srcCompat="@drawable/ic_videocam"
- android:contentDescription="@string/media_type_video_label"
- android:id="@+id/ivIsVideo"/>
+ android:id="@+id/ivIsVideo"
+ android:layout_width="14sp"
+ android:layout_height="14sp"
+ android:contentDescription="@string/media_type_video_label"
+ app:srcCompat="@drawable/ic_videocam" />
<ImageView
- android:layout_width="14sp"
- android:layout_height="14sp"
- app:srcCompat="@drawable/ic_star"
- android:contentDescription="@string/is_favorite_label"
- android:id="@+id/isFavorite"/>
+ android:id="@+id/isFavorite"
+ android:layout_width="14sp"
+ android:layout_height="14sp"
+ android:contentDescription="@string/is_favorite_label"
+ app:srcCompat="@drawable/ic_star" />
<ImageView
- android:layout_width="14sp"
- android:layout_height="14sp"
- app:srcCompat="@drawable/ic_playlist"
- android:contentDescription="@string/in_queue_label"
- android:id="@+id/ivInPlaylist"/>
+ android:id="@+id/ivInPlaylist"
+ android:layout_width="14sp"
+ android:layout_height="14sp"
+ android:contentDescription="@string/in_queue_label"
+ app:srcCompat="@drawable/ic_playlist" />
<TextView
- android:id="@+id/separatorIcons"
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="4dp"
- android:layout_marginStart="4dp"
- android:layout_marginRight="4dp"
- android:layout_marginEnd="4dp"
- android:text="·"
- android:importantForAccessibility="no"
- tools:background="@android:color/holo_blue_light"/>
+ android:id="@+id/separatorIcons"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="4dp"
+ android:layout_marginStart="4dp"
+ android:layout_marginRight="4dp"
+ android:layout_marginEnd="4dp"
+ android:text="·"
+ android:importantForAccessibility="no"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:background="@android:color/holo_blue_light" />
<TextView
- android:id="@+id/txtvPubDate"
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dp"
- android:layout_marginEnd="4dp"
- tools:text="@sample/episodes.json/data/published_at"/>
+ android:id="@+id/txtvPubDate"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="4dp"
+ android:layout_marginEnd="4dp"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:text="@sample/episodes.json/data/published_at" />
<TextView
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dp"
- android:layout_marginEnd="4dp"
- android:text="·"
- android:importantForAccessibility="no"
- tools:background="@android:color/holo_blue_light"/>
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="4dp"
+ android:layout_marginEnd="4dp"
+ android:text="·"
+ android:importantForAccessibility="no"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:background="@android:color/holo_blue_light" />
<TextView
- android:id="@+id/size"
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_marginRight="4dp"
- android:layout_marginEnd="4dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- tools:text="10 MB"/>
+ android:id="@+id/size"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="4dp"
+ android:layout_marginEnd="4dp"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:text="10 MB" />
</LinearLayout>
@@ -181,55 +191,58 @@
Keep this in mind when changing the order of this layout!
-->
<TextView
- android:id="@+id/txtvTitle"
- style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- tools:text="@sample/episodes.json/data/title"
- android:importantForAccessibility="no"
- android:ellipsize="end"
- tools:background="@android:color/holo_blue_light"/>
+ android:id="@+id/txtvTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no"
+ android:ellipsize="end"
+ style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
+ tools:text="@sample/episodes.json/data/title"
+ tools:background="@android:color/holo_blue_light" />
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/progress"
- android:orientation="horizontal"
- android:gravity="center_vertical">
+ android:id="@+id/progress"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
<TextView
- android:id="@+id/txtvPosition"
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="0dp"
- tools:text="00:42:23"
- tools:background="@android:color/holo_blue_light"/>
+ android:id="@+id/txtvPosition"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="0dp"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:text="00:42:23"
+ tools:background="@android:color/holo_blue_light" />
<ProgressBar
- android:id="@+id/progressBar"
- style="?attr/progressBarTheme"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="4dp"
- android:max="100"
- android:layout_margin="4dp"
- tools:background="@android:color/holo_blue_light"/>
+ android:id="@+id/progressBar"
+ android:layout_width="0dp"
+ android:layout_height="4dp"
+ android:layout_weight="1"
+ android:max="100"
+ android:layout_margin="4dp"
+ style="?attr/progressBarTheme"
+ tools:background="@android:color/holo_blue_light" />
<TextView
- android:id="@+id/txtvDuration"
- style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="0dp"
- tools:text="@sample/episodes.json/data/duration"
- tools:background="@android:color/holo_blue_light"/>
+ android:id="@+id/txtvDuration"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="0dp"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:text="@sample/episodes.json/data/duration"
+ tools:background="@android:color/holo_blue_light" />
</LinearLayout>
</LinearLayout>
- <include layout="@layout/secondary_action"/>
+ <include
+ android:id="@+id/secondaryActionButton"
+ layout="@layout/secondary_action" />
</LinearLayout>
+
</FrameLayout>
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index 48195a176..10b560faf 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -1,18 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:id="@+id/drawer_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:ignore="InconsistentLayout">
- <!-- InconsistentLayout: Tablet layout does not have a drawer -->
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:ignore="InconsistentLayout"
+ tools:viewBindingIgnore="true">
+ <!-- InconsistentLayout: Tablet layout does not have a drawer -->
+ <!-- viewBindingIgnore: Configurations for main.xml must
+ agree on the root element's ID -->
<androidx.coordinatorlayout.widget.CoordinatorLayout
- android:id="@+id/overview_coordinator_layout"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:id="@+id/overview_coordinator_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<FrameLayout
android:id="@+id/main_view"
@@ -23,21 +26,21 @@
tools:background="@android:color/holo_red_dark" />
<FrameLayout
- android:elevation="8dp"
android:id="@+id/audioplayerFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/windowBackground"
+ android:elevation="8dp"
android:visibility="gone"
app:layout_behavior="de.danoeh.antennapod.view.LockableBottomSheetBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<FrameLayout
- android:id="@+id/navDrawerFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_gravity="start"
- android:orientation="vertical" />
+ android:id="@+id/navDrawerFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:orientation="vertical" />
-</androidx.drawerlayout.widget.DrawerLayout> \ No newline at end of file
+</androidx.drawerlayout.widget.DrawerLayout>
diff --git a/app/src/main/res/layout/multi_select_speed_dial.xml b/app/src/main/res/layout/multi_select_speed_dial.xml
new file mode 100644
index 000000000..0451471bc
--- /dev/null
+++ b/app/src/main/res/layout/multi_select_speed_dial.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <com.leinardi.android.speeddial.SpeedDialOverlayLayout
+ android:id="@+id/fabSDOverlay"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:importantForAccessibility="no" />
+
+ <!-- The FAB SpeedDial
+ 1. MUST be placed at the bottom of the layout xml to ensure it is at the front,
+ clickable on Pre-Lollipop devices (that do not support elevation).
+ See: https://stackoverflow.com/a/2614402
+ 2. ScrollView is needed to ensure the vertical list of speed dials are
+ accessible when screen height is small, eg., landscape mode on most phones.
+ -->
+ <ScrollView
+ android:id="@+id/fabSDScrollCtr"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|right"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:elevation="@dimen/sd_open_elevation">
+
+ <com.leinardi.android.speeddial.SpeedDialView
+ android:id="@+id/fabSD"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:accessibilityTraversalBefore="@android:id/list"
+ android:contentDescription="@string/apply_action"
+ android:visibility="gone"
+ app:sdMainFabClosedSrc="@drawable/ic_fab_edit"
+ app:sdOverlayLayout="@id/fabSDOverlay" />
+
+ </ScrollView>
+
+</merge>
diff --git a/app/src/main/res/layout/opml_selection.xml b/app/src/main/res/layout/opml_selection.xml
index 1f1d72d76..735c7f87e 100644
--- a/app/src/main/res/layout/opml_selection.xml
+++ b/app/src/main/res/layout/opml_selection.xml
@@ -1,39 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<Button
- android:id="@+id/butConfirm"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- style="@style/Widget.MaterialComponents.Button.TextButton"
- android:layout_margin="8dp"
- android:text="@string/confirm_label"/>
+ android:id="@+id/butConfirm"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:layout_margin="8dp"
+ android:text="@string/confirm_label"
+ style="@style/Widget.MaterialComponents.Button.TextButton" />
<Button
- android:id="@+id/butCancel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_toLeftOf="@+id/butConfirm"
- android:layout_toStartOf="@+id/butConfirm"
- style="@style/Widget.MaterialComponents.Button.TextButton"
- android:layout_margin="8dp"
- android:text="@string/cancel_label"/>
+ android:id="@+id/butCancel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_toLeftOf="@+id/butConfirm"
+ android:layout_toStartOf="@+id/butConfirm"
+ android:layout_margin="8dp"
+ android:text="@string/cancel_label"
+ style="@style/Widget.MaterialComponents.Button.TextButton" />
<ListView
- android:id="@+id/feedlist"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_above="@id/butConfirm"
- android:layout_alignParentTop="true"
- tools:listitem="@android:layout/simple_list_item_multiple_choice">
- </ListView>
+ android:id="@+id/feedlist"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_above="@id/butConfirm"
+ android:layout_alignParentTop="true"
+ tools:listitem="@android:layout/simple_list_item_multiple_choice" />
+
+ <ProgressBar
+ android:id="@+id/progressBar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true" />
</RelativeLayout>
diff --git a/app/src/main/res/layout/queue_fragment.xml b/app/src/main/res/layout/queue_fragment.xml
index 3bcd4819f..292b1bb45 100644
--- a/app/src/main/res/layout/queue_fragment.xml
+++ b/app/src/main/res/layout/queue_fragment.xml
@@ -1,42 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools">
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar
+ android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
android:layout_alignParentTop="true"
- app:title="@string/queue_label"
- android:id="@+id/toolbar"/>
+ app:title="@string/queue_label" />
<TextView
- android:layout_below="@id/toolbar"
android:id="@+id/info_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_below="@id/toolbar"
android:textSize="12sp"
android:layout_marginTop="-8dp"
android:layout_marginLeft="72dp"
android:layout_marginStart="72dp"
android:layout_marginBottom="4dp"
- tools:text="12 Episodes - Time remaining: 12 hours"/>
+ tools:text="12 Episodes - Time remaining: 12 hours" />
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/info_bar"
- android:background="?android:attr/listDivider"/>
+ android:background="?android:attr/listDivider" />
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
- android:id="@+id/swipeRefresh"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_below="@id/divider">
+ android:id="@+id/swipeRefresh"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/divider">
<de.danoeh.antennapod.view.EpisodeItemListRecyclerView
android:id="@+id/recyclerView"
@@ -54,4 +56,7 @@
android:indeterminateOnly="true"
android:visibility="gone" />
+ <include
+ layout="@layout/multi_select_speed_dial" />
+
</RelativeLayout>
diff --git a/app/src/main/res/layout/search_fragment.xml b/app/src/main/res/layout/search_fragment.xml
index 28d4778f7..5745cf655 100644
--- a/app/src/main/res/layout/search_fragment.xml
+++ b/app/src/main/res/layout/search_fragment.xml
@@ -1,51 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_height="match_parent"
- android:layout_width="match_parent">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:theme="?attr/actionBarTheme"
- app:navigationIcon="?homeAsUpIndicator"
- app:title="@string/search_label"
- android:id="@+id/toolbar"/>
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?attr/actionBarSize"
+ android:theme="?attr/actionBarTheme"
+ app:navigationIcon="?homeAsUpIndicator"
+ app:title="@string/search_label" />
<com.google.android.material.chip.Chip
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/toolbar"
- android:id="@+id/feed_title_chip"
- android:layout_marginLeft="10dp"
- android:layout_marginRight="0dp"
- app:closeIconVisible="true"/>
+ android:id="@+id/feed_title_chip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/toolbar"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="0dp"
+ android:visibility="gone"
+ app:closeIconVisible="true" />
<ProgressBar
- android:layout_centerInParent="true"
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"/>
+ android:id="@+id/progressBar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:layout_gravity="center"
+ android:visibility="gone"
+ style="?android:attr/progressBarStyle" />
<androidx.recyclerview.widget.RecyclerView
- android:layout_below="@id/feed_title_chip"
- android:id="@+id/recyclerViewFeeds"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="12dp"
- android:paddingRight="12dp"
- android:clipToPadding="false"/>
+ android:id="@+id/recyclerViewFeeds"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/feed_title_chip"
+ android:paddingLeft="12dp"
+ android:paddingRight="12dp"
+ android:clipToPadding="false" />
<de.danoeh.antennapod.view.EpisodeItemListRecyclerView
- android:id="@+id/recyclerView"
- android:layout_below="@id/recyclerViewFeeds"
- android:layout_marginTop="-4dp"
- android:paddingTop="12dp"
- android:paddingHorizontal="@dimen/additional_horizontal_spacing"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
+ android:id="@+id/recyclerView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/recyclerViewFeeds"
+ android:layout_marginTop="-4dp"
+ android:paddingTop="12dp"
+ android:paddingHorizontal="@dimen/additional_horizontal_spacing" />
+
</RelativeLayout>
diff --git a/app/src/main/res/layout/simple_list_fragment.xml b/app/src/main/res/layout/simple_list_fragment.xml
index 989566499..6ea3ab54b 100644
--- a/app/src/main/res/layout/simple_list_fragment.xml
+++ b/app/src/main/res/layout/simple_list_fragment.xml
@@ -1,29 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?attr/actionBarSize"
- android:theme="?attr/actionBarTheme"
- android:layout_alignParentTop="true"
- android:id="@+id/toolbar"/>
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?attr/actionBarSize"
+ android:theme="?attr/actionBarTheme"
+ android:layout_alignParentTop="true" />
<de.danoeh.antennapod.view.EpisodeItemListRecyclerView
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingHorizontal="@dimen/additional_horizontal_spacing"
- android:layout_below="@id/toolbar"
- android:id="@+id/recyclerView"/>
+ android:id="@+id/recyclerView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingHorizontal="@dimen/additional_horizontal_spacing"
+ android:layout_below="@id/toolbar" />
<ProgressBar
- android:id="@+id/progLoading"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:indeterminateOnly="true"
- android:visibility="gone"/>
+ android:id="@+id/progLoading"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:indeterminateOnly="true"
+ android:visibility="gone" />
+
+ <include
+ layout="@layout/multi_select_speed_dial" />
</RelativeLayout>
diff --git a/app/src/main/res/layout/subscription_item.xml b/app/src/main/res/layout/subscription_item.xml
index 7fa738f12..ec918fdac 100644
--- a/app/src/main/res/layout/subscription_item.xml
+++ b/app/src/main/res/layout/subscription_item.xml
@@ -2,32 +2,32 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
xmlns:squareImageView="http://schemas.android.com/apk/de.danoeh.antennapod"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:foreground="?attr/selectableItemBackground">
<de.danoeh.antennapod.ui.common.SquareImageView
android:id="@+id/imgvCover"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:scaleType="fitCenter"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
android:background="@color/non_square_icon_background"
- tools:src="@mipmap/ic_launcher_round"
- squareImageView:direction="width"/>
+ android:scaleType="fitCenter"
+ squareImageView:direction="width"
+ tools:src="@mipmap/ic_launcher_round" />
<com.joanzapata.iconify.widget.IconTextView
android:id="@+id/txtvTitle"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/non_square_icon_background"
- android:layout_alignLeft="@+id/imgvCover"
- android:layout_alignRight="@+id/imgvCover"
android:layout_alignStart="@+id/imgvCover"
- android:layout_alignEnd="@+id/imgvCover"
+ android:layout_alignLeft="@+id/imgvCover"
android:layout_alignTop="@+id/imgvCover"
+ android:layout_alignEnd="@+id/imgvCover"
+ android:layout_alignRight="@+id/imgvCover"
android:layout_alignBottom="@+id/imgvCover"
+ android:background="@color/non_square_icon_background"
android:ellipsize="end"
android:gravity="center"
android:textColor="?android:attr/textColorPrimary"
@@ -37,12 +37,13 @@
android:id="@+id/triangleCountView"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
app:backgroundColor="?attr/colorSecondary"
app:corner="rightTop"
app:primaryText="Test"
app:primaryTextColor="?attr/colorOnSecondary"
app:primaryTextSize="12sp" />
+
</RelativeLayout>
diff --git a/app/src/main/res/layout/swipeactions_dialog.xml b/app/src/main/res/layout/swipeactions_dialog.xml
new file mode 100644
index 000000000..a1f0b7ae6
--- /dev/null
+++ b/app/src/main/res/layout/swipeactions_dialog.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <androidx.appcompat.widget.SwitchCompat
+ android:id="@+id/enableSwitch"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:checked="true"
+ android:text="@string/enable_swipeactions" />
+
+ <include
+ android:id="@+id/actionLeftContainer"
+ layout="@layout/swipeactions_row" />
+
+ <include
+ android:id="@+id/actionRightContainer"
+ layout="@layout/swipeactions_row" />
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/swipeactions_picker.xml b/app/src/main/res/layout/swipeactions_picker.xml
new file mode 100644
index 000000000..e473888b2
--- /dev/null
+++ b/app/src/main/res/layout/swipeactions_picker.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.gridlayout.widget.GridLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:grid="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/pickerGridLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="16dp"
+ grid:columnCount="2"
+ grid:alignmentMode="alignBounds" />
diff --git a/app/src/main/res/layout/swipeactions_picker_item.xml b/app/src/main/res/layout/swipeactions_picker_item.xml
new file mode 100644
index 000000000..b497efb14
--- /dev/null
+++ b/app/src/main/res/layout/swipeactions_picker_item.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:grid="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center"
+ android:background="?attr/selectableItemBackground"
+ android:padding="8dp">
+
+ <ImageView
+ android:id="@+id/swipeIcon"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:padding="8dp"
+ app:srcCompat="@drawable/ic_add" />
+
+ <TextView
+ android:id="@+id/swipeActionLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/add_to_queue_label"
+ android:textSize="14sp"
+ android:textAlignment="center"
+ android:textColor="?android:attr/textColorPrimary" />
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/swipeactions_row.xml b/app/src/main/res/layout/swipeactions_row.xml
new file mode 100644
index 000000000..df55d3f89
--- /dev/null
+++ b/app/src/main/res/layout/swipeactions_row.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="8dp">
+
+ <TextView
+ android:id="@+id/swipeDirectionLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/swipe_left"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textSize="18sp" />
+
+ <TextView
+ android:id="@+id/swipeActionLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_below="@+id/swipeDirectionLabel"
+ android:textSize="14sp"
+ tools:text="@string/add_to_queue_label" />
+
+ <Button
+ android:id="@+id/changeButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:text="@string/change_setting"
+ style="@style/Widget.MaterialComponents.Button.TextButton" />
+
+ </RelativeLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="?attr/background_elevated" />
+
+ <LinearLayout
+ android:id="@+id/previewContainer"
+ android:layout_width="match_parent"
+ android:layout_height="76dp"
+ android:gravity="center"
+ android:foreground="?attr/selectableItemBackground"
+ android:orientation="horizontal">
+
+ <include
+ android:id="@+id/mockEpisode"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="0.7"
+ layout="@layout/feeditemlist_item" />
+
+ <ImageView
+ android:id="@+id/swipeIcon"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="0.3"
+ android:background="?attr/background_elevated"
+ android:padding="22dp"
+ app:srcCompat="@drawable/ic_add" />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="?attr/background_elevated" />
+
+</LinearLayout>
diff --git a/app/src/main/res/menu/downloads.xml b/app/src/main/res/menu/downloads.xml
index 142f251fc..54469a101 100644
--- a/app/src/main/res/menu/downloads.xml
+++ b/app/src/main/res/menu/downloads.xml
@@ -2,13 +2,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
- android:id="@+id/episode_actions"
- android:menuCategory="container"
- android:title="@string/multi_select"
- android:icon="@drawable/ic_check_multiple"
- android:visible="false"
- app:showAsAction="ifRoom" />
- <item
android:id="@+id/clear_logs_item"
android:menuCategory="container"
android:title="@string/clear_history_label"
diff --git a/app/src/main/res/menu/episodes.xml b/app/src/main/res/menu/episodes.xml
index 22121c905..7a311aedb 100644
--- a/app/src/main/res/menu/episodes.xml
+++ b/app/src/main/res/menu/episodes.xml
@@ -6,8 +6,7 @@
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
- custom:showAsAction="collapseActionView|always"
- custom:actionViewClass="androidx.appcompat.widget.SearchView"
+ custom:showAsAction="always"
android:title="@string/search_label"/>
<item
diff --git a/app/src/main/res/menu/episodes_apply_action_options.xml b/app/src/main/res/menu/episodes_apply_action_options.xml
deleted file mode 100644
index 221ec4d59..000000000
--- a/app/src/main/res/menu/episodes_apply_action_options.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
-
- <item
- android:id="@+id/sort"
- android:icon="@drawable/ic_sort"
- android:title="@string/sort"
- app:showAsAction="always">
- <menu>
- <item android:id="@+id/sort_title_a_z"
- android:title="@string/sort_title_a_z"/>
- <item android:id="@+id/sort_title_z_a"
- android:title="@string/sort_title_z_a"/>
- <item android:id="@+id/sort_date_new_old"
- android:title="@string/sort_date_new_old"/>
- <item android:id="@+id/sort_date_old_new"
- android:title="@string/sort_date_old_new"/>
- <item android:id="@+id/sort_duration_short_long"
- android:title="@string/sort_duration_short_long"/>
- <item android:id="@+id/sort_duration_long_short"
- android:title="@string/sort_duration_long_short"/>
- </menu>
- </item>
-
- <item
- android:id="@+id/select_options"
- android:icon="@drawable/ic_filter"
- android:title="@string/filter"
- app:showAsAction="always">
-
- <menu>
- <item android:id="@+id/check_all"
- android:title="@string/all_label"/>
- <item android:id="@+id/check_none"
- android:title="@string/select_none_label"/>
- <item android:id="@+id/check_played"
- android:title="@string/played_label"/>
- <item android:id="@+id/check_unplayed"
- android:title="@string/unplayed_label"/>
- <item android:id="@+id/check_downloaded"
- android:title="@string/downloaded_label"/>
- <item android:id="@+id/check_not_downloaded"
- android:title="@string/not_downloaded_label"/>
- <item android:id="@+id/check_queued"
- android:title="@string/queued_label"/>
- <item android:id="@+id/check_not_queued"
- android:title="@string/not_queued_label"/>
- <item android:id="@+id/check_has_media"
- android:title="@string/has_media"/>
- </menu>
- </item>
-
- <item
- android:id="@+id/select_toggle"
- android:title="@string/select_all_label"
- app:showAsAction="always"/>
-</menu>
diff --git a/app/src/main/res/menu/episodes_apply_action_speeddial.xml b/app/src/main/res/menu/episodes_apply_action_speeddial.xml
index a2f509ec5..c9bc4b4df 100644
--- a/app/src/main/res/menu/episodes_apply_action_speeddial.xml
+++ b/app/src/main/res/menu/episodes_apply_action_speeddial.xml
@@ -14,21 +14,21 @@
android:title="@string/download_label"
/>
<item android:id="@+id/mark_unread_batch"
- android:icon="@drawable/ic_cancel"
+ android:icon="@drawable/ic_mark_unplayed"
android:title="@string/mark_unread_label"
/>
<item
android:id="@+id/mark_read_batch"
- android:icon="@drawable/ic_check"
+ android:icon="@drawable/ic_mark_played"
android:title="@string/mark_read_label"
/>
<item android:id="@+id/remove_from_queue_batch"
- android:icon="@drawable/ic_remove"
+ android:icon="@drawable/ic_playlist_remove"
android:title="@string/remove_from_queue_label"
/>
<item
android:id="@+id/add_to_queue_batch"
- android:icon="@drawable/ic_add"
+ android:icon="@drawable/ic_playlist"
android:title="@string/add_to_queue_label"
/>
</menu>
diff --git a/app/src/main/res/menu/feeditem_options.xml b/app/src/main/res/menu/feeditem_options.xml
index 5b33539e1..70400fe55 100644
--- a/app/src/main/res/menu/feeditem_options.xml
+++ b/app/src/main/res/menu/feeditem_options.xml
@@ -50,18 +50,6 @@
custom:showAsAction="collapseActionView"
android:title="@string/reset_position">
</item>
-
- <item
- android:id="@+id/activate_auto_download"
- custom:showAsAction="collapseActionView"
- android:title="@string/activate_auto_download">
- </item>
- <item
- android:id="@+id/deactivate_auto_download"
- custom:showAsAction="collapseActionView"
- android:title="@string/deactivate_auto_download">
- </item>
-
<item
android:id="@+id/visit_website_item"
android:icon="@drawable/ic_web"
diff --git a/app/src/main/res/menu/feeditemlist_context.xml b/app/src/main/res/menu/feeditemlist_context.xml
index 84e45d4c9..f6edec0b4 100644
--- a/app/src/main/res/menu/feeditemlist_context.xml
+++ b/app/src/main/res/menu/feeditemlist_context.xml
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-
<menu xmlns:android="http://schemas.android.com/apk/res/android">
-
<item
android:id="@id/skip_episode_item"
android:menuCategory="container"
@@ -16,6 +14,7 @@
android:id="@+id/mark_read_item"
android:menuCategory="container"
android:title="@string/mark_read_label" />
+
<item
android:id="@+id/mark_unread_item"
android:menuCategory="container"
@@ -25,10 +24,12 @@
android:id="@+id/add_to_queue_item"
android:menuCategory="container"
android:title="@string/add_to_queue_label" />
+
<item
android:id="@+id/remove_from_queue_item"
android:menuCategory="container"
android:title="@string/remove_from_queue_label" />
+
<item
android:id="@+id/remove_item"
android:menuCategory="container"
@@ -38,6 +39,7 @@
android:id="@+id/add_to_favorites_item"
android:menuCategory="container"
android:title="@string/add_to_favorite_label" />
+
<item
android:id="@+id/remove_from_favorites_item"
android:menuCategory="container"
@@ -49,20 +51,13 @@
android:title="@string/reset_position" />
<item
- android:id="@+id/activate_auto_download"
- android:menuCategory="container"
- android:title="@string/activate_auto_download" />
- <item
- android:id="@+id/deactivate_auto_download"
+ android:id="@+id/share_item"
android:menuCategory="container"
- android:title="@string/deactivate_auto_download" />
+ android:title="@string/share_label" />
<item
- android:id="@+id/visit_website_item"
+ android:id="@+id/multi_select"
android:menuCategory="container"
- android:title="@string/visit_website_label" />
- <item
- android:id="@+id/share_item"
- android:menuCategory="container"
- android:title="@string/share_label" />
+ android:title="@string/multi_select"
+ android:visible="false" />
</menu> \ No newline at end of file
diff --git a/app/src/main/res/menu/feedlist.xml b/app/src/main/res/menu/feedlist.xml
index 85e7a95ba..12cbc2e5e 100644
--- a/app/src/main/res/menu/feedlist.xml
+++ b/app/src/main/res/menu/feedlist.xml
@@ -33,18 +33,10 @@
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
- custom:showAsAction="always|collapseActionView"
- custom:actionViewClass="androidx.appcompat.widget.SearchView"
+ custom:showAsAction="always"
android:title="@string/search_label"/>
<item
- android:id="@+id/episode_actions"
- android:menuCategory="container"
- android:icon="@drawable/ic_check_multiple"
- android:title="@string/multi_select"
- custom:showAsAction="collapseActionView">
- </item>
- <item
android:id="@+id/visit_website_item"
android:icon="@drawable/ic_web"
android:menuCategory="container"
diff --git a/app/src/main/res/menu/multi_select_context_popup.xml b/app/src/main/res/menu/multi_select_context_popup.xml
new file mode 100644
index 000000000..730b01016
--- /dev/null
+++ b/app/src/main/res/menu/multi_select_context_popup.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/select_all_above"
+ android:title="@string/select_all_above">
+ </item>
+ <item
+ android:id="@+id/select_all_below"
+ android:title="@string/select_all_below">
+ </item>
+</menu> \ No newline at end of file
diff --git a/app/src/main/res/menu/multi_select_options.xml b/app/src/main/res/menu/multi_select_options.xml
new file mode 100644
index 000000000..5cb2b7602
--- /dev/null
+++ b/app/src/main/res/menu/multi_select_options.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item
+ android:id="@+id/select_toggle"
+ android:title="@string/select_all_label"
+ app:showAsAction="always"/>
+</menu>
diff --git a/app/src/main/res/menu/queue.xml b/app/src/main/res/menu/queue.xml
index adf44b8b1..2d341d8e4 100644
--- a/app/src/main/res/menu/queue.xml
+++ b/app/src/main/res/menu/queue.xml
@@ -19,8 +19,7 @@
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
- custom:showAsAction="collapseActionView|ifRoom"
- custom:actionViewClass="androidx.appcompat.widget.SearchView"
+ custom:showAsAction="ifRoom"
android:title="@string/search_label"/>
<item
@@ -115,10 +114,4 @@
android:title="@string/clear_queue_label"
custom:showAsAction="collapseActionView"
android:icon="@drawable/ic_check"/>
-
- <item
- android:id="@+id/episode_actions"
- custom:showAsAction="collapseActionView"
- android:title="@string/multi_select" />
-
</menu>
diff --git a/app/src/main/res/menu/subscriptions.xml b/app/src/main/res/menu/subscriptions.xml
index b1cc89eb6..9276db562 100644
--- a/app/src/main/res/menu/subscriptions.xml
+++ b/app/src/main/res/menu/subscriptions.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
-
+ <item
+ android:id="@+id/action_search"
+ android:icon="@drawable/ic_search"
+ custom:showAsAction="always"
+ android:title="@string/search_label"/>
<item
android:id="@+id/refresh_item"
android:title="@string/refresh_label"
android:menuCategory="container"
custom:showAsAction="always"
android:icon="@drawable/ic_refresh"/>
-
-
<item
android:id="@+id/subscriptions_filter"
android:title="@string/filter"
diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml
index cb8f9e082..03da6c669 100644
--- a/app/src/main/res/values/integers.xml
+++ b/app/src/main/res/values/integers.xml
@@ -3,4 +3,5 @@
<integer name="subscriptions_default_num_of_columns">3</integer>
<integer name="nav_drawer_screen_size_percent">80</integer>
<integer name="swipe_to_refresh_duration_in_ms">750</integer>
+ <integer name="swipe_refresh_distance">300</integer>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 523c7cd0f..d528945c7 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -31,7 +31,7 @@
android:key="prefScreenGpodder"
android:title="@string/synchronization_pref"
android:summary="@string/synchronization_sum"
- android:icon="@drawable/ic_star" />
+ android:icon="@drawable/ic_cloud" />
<Preference
android:key="prefScreenStorage"
diff --git a/app/src/main/res/xml/preferences_storage.xml b/app/src/main/res/xml/preferences_storage.xml
index d3d570e6c..89e8c4cf5 100644
--- a/app/src/main/res/xml/preferences_storage.xml
+++ b/app/src/main/res/xml/preferences_storage.xml
@@ -6,13 +6,6 @@
<Preference
android:title="@string/choose_data_directory"
android:key="prefChooseDataDir"/>
- <ListPreference
- android:entryValues="@array/image_cache_size_values"
- android:entries="@array/image_cache_size_options"
- android:title="@string/pref_image_cache_size_title"
- android:key="prefImageCacheSize"
- android:summary="@string/pref_image_cache_size_sum"
- android:defaultValue="100"/>
<SwitchPreferenceCompat
android:defaultValue="false"
android:enabled="true"
diff --git a/app/src/main/res/xml/preferences_swipe.xml b/app/src/main/res/xml/preferences_swipe.xml
new file mode 100644
index 000000000..eb238ac14
--- /dev/null
+++ b/app/src/main/res/xml/preferences_swipe.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <Preference
+ android:key="prefSwipeFeed"
+ android:title="@string/feeds_label"/>
+ <Preference
+ android:key="prefSwipeQueue"
+ android:title="@string/queue_label"/>
+
+</PreferenceScreen>
diff --git a/app/src/main/res/xml/preferences_user_interface.xml b/app/src/main/res/xml/preferences_user_interface.xml
index f8e80cdff..0b2707a18 100644
--- a/app/src/main/res/xml/preferences_user_interface.xml
+++ b/app/src/main/res/xml/preferences_user_interface.xml
@@ -78,5 +78,9 @@
android:title="@string/pref_back_button_behavior_title"
android:summary="@string/pref_back_button_behavior_sum"
android:defaultValue="default"/>
+ <Preference
+ android:key="prefSwipe"
+ android:summary="@string/swipeactions_summary"
+ android:title="@string/swipeactions_label"/>
</PreferenceCategory>
</PreferenceScreen>