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/activity_widget_config.xml29
-rw-r--r--app/src/main/res/layout/addfeed.xml18
-rw-r--r--app/src/main/res/layout/audioplayer_fragment.xml56
-rw-r--r--app/src/main/res/layout/authentication_dialog.xml81
-rw-r--r--app/src/main/res/layout/bug_report.xml6
-rw-r--r--app/src/main/res/layout/cover_fragment.xml2
-rw-r--r--app/src/main/res/layout/download_authentication_activity.xml64
-rw-r--r--app/src/main/res/layout/edit_text_dialog.xml2
-rw-r--r--app/src/main/res/layout/feeditem_fragment.xml9
-rw-r--r--app/src/main/res/layout/feeditemlist_item.xml2
-rw-r--r--app/src/main/res/layout/filter_dialog_row.xml4
-rw-r--r--app/src/main/res/layout/gpodnetauth_activity.xml10
-rw-r--r--app/src/main/res/layout/gpodnetauth_credentials.xml176
-rw-r--r--app/src/main/res/layout/gpodnetauth_device.xml125
-rw-r--r--app/src/main/res/layout/gpodnetauth_device_row.xml13
-rw-r--r--app/src/main/res/layout/gpodnetauth_dialog.xml20
-rw-r--r--app/src/main/res/layout/gpodnetauth_finish.xml32
-rw-r--r--app/src/main/res/layout/gpodnetauth_host.xml50
-rw-r--r--app/src/main/res/layout/onlinefeedview_activity.xml72
-rw-r--r--app/src/main/res/layout/quick_feed_discovery.xml5
-rw-r--r--app/src/main/res/layout/quick_feed_discovery_item.xml2
-rw-r--r--app/src/main/res/layout/searchlist_item_feed.xml2
-rw-r--r--app/src/main/res/layout/secondary_action.xml6
-rw-r--r--app/src/main/res/layout/subscription_item.xml2
-rw-r--r--app/src/main/res/layout/time_dialog.xml47
-rw-r--r--app/src/main/res/layout/videoplayer_activity.xml28
-rw-r--r--app/src/main/res/menu/bug_report_options.xml7
-rw-r--r--app/src/main/res/menu/feedinfo.xml26
-rw-r--r--app/src/main/res/menu/subscriptions.xml31
-rw-r--r--app/src/main/res/xml/actions.xml25
-rw-r--r--app/src/main/res/xml/feed_settings.xml8
-rw-r--r--app/src/main/res/xml/player_widget_info.xml3
-rw-r--r--app/src/main/res/xml/preferences.xml4
-rw-r--r--app/src/main/res/xml/preferences_about.xml2
-rw-r--r--app/src/main/res/xml/preferences_gpodder.xml14
-rw-r--r--app/src/main/res/xml/preferences_notifications.xml41
-rw-r--r--app/src/main/res/xml/preferences_playback.xml29
-rw-r--r--app/src/main/res/xml/preferences_user_interface.xml12
38 files changed, 629 insertions, 436 deletions
diff --git a/app/src/main/res/layout/activity_widget_config.xml b/app/src/main/res/layout/activity_widget_config.xml
index ca8aba52d..6e31aec0d 100644
--- a/app/src/main/res/layout/activity_widget_config.xml
+++ b/app/src/main/res/layout/activity_widget_config.xml
@@ -22,7 +22,7 @@
android:id="@+id/widget_config_preview"
layout="@layout/player_widget"
android:layout_width="match_parent"
- android:layout_height="80dp"
+ android:layout_height="96dp"
android:layout_gravity="center"
android:layout_margin="16dp" />
</FrameLayout>
@@ -68,13 +68,38 @@
android:max="100"
android:progress="100" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <CheckBox
+ android:id="@+id/ckRewind"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Rewind" />
+
+ <CheckBox
+ android:id="@+id/ckFastForward"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Forward" />
+
+ <CheckBox
+ android:id="@+id/ckSkip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Skip" />
+ </LinearLayout>
<Button
android:id="@+id/butConfirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/widget_create_button" />
-
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/addfeed.xml b/app/src/main/res/layout/addfeed.xml
index ee57fdbed..d6ebd58d7 100644
--- a/app/src/main/res/layout/addfeed.xml
+++ b/app/src/main/res/layout/addfeed.xml
@@ -35,11 +35,11 @@
android:layout_marginRight="8dp"
android:contentDescription="@string/search_podcast_hint"
app:srcCompat="?attr/action_search"
- android:id="@+id/search_icon"
+ android:id="@+id/searchButton"
android:scaleType="center"/>
<EditText
- android:id="@+id/combinedFeedSearchBox"
+ android:id="@+id/combinedFeedSearchEditText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
@@ -87,7 +87,7 @@
android:textColor="?android:attr/textColorPrimary"/>
<TextView
- android:id="@+id/btn_add_via_url"
+ android:id="@+id/addViaUrlButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/feed"
@@ -96,7 +96,7 @@
android:text="@string/add_podcast_by_url"/>
<TextView
- android:id="@+id/btn_add_local_folder"
+ android:id="@+id/addLocalFolderButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/ic_folder"
@@ -105,7 +105,7 @@
android:text="@string/add_local_folder"/>
<TextView
- android:id="@+id/btn_search_itunes"
+ android:id="@+id/searchItunesButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
@@ -114,7 +114,7 @@
android:text="@string/search_itunes_label"/>
<TextView
- android:id="@+id/btn_search_fyyd"
+ android:id="@+id/searchFyydButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
@@ -123,7 +123,7 @@
android:text="@string/search_fyyd_label"/>
<TextView
- android:id="@+id/btn_search_gpodder"
+ android:id="@+id/searchGPodderButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
@@ -132,7 +132,7 @@
android:text="@string/browse_gpoddernet_label"/>
<TextView
- android:id="@+id/btn_search_podcastindex"
+ android:id="@+id/searchPodcastIndexButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/action_search"
@@ -141,7 +141,7 @@
android:text="@string/search_podcastindex_label"/>
<TextView
- android:id="@+id/btn_opml_import"
+ android:id="@+id/opmlImportButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:drawableStartCompat="?attr/av_download"
diff --git a/app/src/main/res/layout/audioplayer_fragment.xml b/app/src/main/res/layout/audioplayer_fragment.xml
index 225fdd98c..62e0a5e3a 100644
--- a/app/src/main/res/layout/audioplayer_fragment.xml
+++ b/app/src/main/res/layout/audioplayer_fragment.xml
@@ -15,15 +15,15 @@
app:navigationIcon="?homeAsUpIndicator"
android:id="@+id/toolbar"/>
- <de.danoeh.antennapod.view.PagerIndicatorView
- android:id="@+id/page_indicator"
- android:layout_height="16dp"
- android:layout_width="40dp"
- android:layout_marginTop="-12dp"
- android:padding="4dp"
+ <com.google.android.material.tabs.TabLayout
+ android:id="@+id/sliding_tabs"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
- android:contentDescription="@string/switch_pages"
- android:layout_centerHorizontal="true"/>
+ android:background="?android:attr/windowBackground"
+ app:tabBackground="?attr/selectableItemBackground"
+ app:tabMode="fixed"
+ app:tabGravity="fill"/>
<FrameLayout
android:id="@+id/playerFragment"
@@ -39,7 +39,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@id/playtime_layout"
- android:layout_below="@id/toolbar"
+ android:layout_below="@id/sliding_tabs"
android:foreground="?android:windowContentOverlay"
android:layout_marginBottom="12dp"/>
@@ -51,6 +51,34 @@
app:tint="?android:attr/windowBackground"
android:importantForAccessibility="no"/>
+ <androidx.cardview.widget.CardView
+ android:id="@+id/cardViewSeek"
+ android:alpha="0"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@+id/pager"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="12dp"
+ app:cardCornerRadius="8dp"
+ app:cardBackgroundColor="?attr/seek_background"
+ app:cardElevation="0dp"
+ tools:alpha="1">
+
+ <TextView
+ android:id="@+id/txtvSeek"
+ android:gravity="center"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="24dp"
+ android:paddingTop="4dp"
+ android:paddingRight="24dp"
+ android:paddingBottom="4dp"
+ android:textColor="@color/white"
+ android:textSize="24sp"
+ tools:text="1:06:29" />
+
+ </androidx.cardview.widget.CardView>
+
<LinearLayout
android:id="@+id/playtime_layout"
android:layout_width="match_parent"
@@ -128,7 +156,7 @@
android:scaleType="fitCenter"
tools:srcCompat="@drawable/ic_av_play_white_24dp"/>
- <de.danoeh.antennapod.view.CircularProgressBar
+ <de.danoeh.antennapod.ui.common.CircularProgressBar
android:layout_width="@dimen/audioplayer_playercontrols_length_big"
android:layout_height="@dimen/audioplayer_playercontrols_length_big"
android:layout_marginLeft="16dp"
@@ -136,7 +164,8 @@
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"/>
+ android:layout_centerVertical="true"
+ app:foregroundColor="?attr/action_icon_color"/>
<ProgressBar
style="?android:attr/progressBarStyle"
@@ -177,7 +206,7 @@
android:textColor="?android:attr/textColorSecondary"
android:clickable="false"/>
- <de.danoeh.antennapod.view.PlaybackSpeedIndicatorView
+ <de.danoeh.antennapod.ui.common.PlaybackSpeedIndicatorView
android:id="@+id/butPlaybackSpeed"
android:layout_width="@dimen/audioplayer_playercontrols_length"
android:layout_height="@dimen/audioplayer_playercontrols_length"
@@ -186,7 +215,8 @@
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/playback_speed"
- tools:srcCompat="@drawable/ic_playback_speed_white"/>
+ tools:srcCompat="@drawable/ic_playback_speed_white"
+ app:foregroundColor="?attr/action_icon_color"/>
<TextView
android:id="@+id/txtvPlaybackSpeed"
diff --git a/app/src/main/res/layout/authentication_dialog.xml b/app/src/main/res/layout/authentication_dialog.xml
index 9c6f3e2bb..f311fc1dd 100644
--- a/app/src/main/res/layout/authentication_dialog.xml
+++ b/app/src/main/res/layout/authentication_dialog.xml
@@ -1,30 +1,59 @@
<?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" >
-
- <EditText
- android:id="@+id/etxtUsername"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:layout_margin="16dp"
- android:hint="@string/username_label"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"/>
-
- <EditText
- android:id="@+id/etxtPassword"
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:layout_margin="16dp"
- android:inputType="textPassword"
- android:hint="@string/password_label"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"/>
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="16dp">
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="8dp">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/usernameEditText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/username_label"
+ android:lines="1"/>
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/passwordEditText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/password_label"
+ android:inputType="textPassword"
+ android:lines="1"/>
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.joanzapata.iconify.widget.IconTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/showPasswordButton"
+ android:text="{fa-eye}"
+ android:padding="8dp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:alpha="0.6"
+ android:textSize="20sp"
+ android:layout_marginLeft="8dp"
+ android:layout_marginStart="8dp"/>
+ </LinearLayout>
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/bug_report.xml b/app/src/main/res/layout/bug_report.xml
index 1cc9bc9d8..e97e85265 100644
--- a/app/src/main/res/layout/bug_report.xml
+++ b/app/src/main/res/layout/bug_report.xml
@@ -16,12 +16,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
- <Button
- android:id="@+id/btn_export_logcat"
- android:text="@string/export_logs"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-
<TextView
android:layout_marginTop="8dp"
android:id="@+id/crash_report_logs"
diff --git a/app/src/main/res/layout/cover_fragment.xml b/app/src/main/res/layout/cover_fragment.xml
index 5460d0609..0ec46cbcd 100644
--- a/app/src/main/res/layout/cover_fragment.xml
+++ b/app/src/main/res/layout/cover_fragment.xml
@@ -10,7 +10,7 @@
android:padding="8dp"
android:gravity="center">
- <de.danoeh.antennapod.view.SquareImageView
+ <de.danoeh.antennapod.ui.common.SquareImageView
android:id="@+id/imgvCover"
android:layout_width="0dp"
android:layout_height="200dp"
diff --git a/app/src/main/res/layout/download_authentication_activity.xml b/app/src/main/res/layout/download_authentication_activity.xml
deleted file mode 100644
index e16a8b3a8..000000000
--- a/app/src/main/res/layout/download_authentication_activity.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?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">
-
- <TextView
- android:id="@+id/txtvTitle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/authentication_notification_title"
- android:textSize="@dimen/text_size_large"
- android:textColor="?android:attr/textColorPrimary"/>
-
- <TextView
- android:id="@+id/txtvDescription"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/authentication_notification_msg"
- android:textColor="?android:attr/textColorSecondary"/>
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/etxtUsername"
- android:hint="@string/username_label"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"/>
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/etxtPassword"
- android:hint="@string/password_label"
- android:inputType="textPassword"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"/>
-
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="48dp"
- android:orientation="horizontal"
- android:gravity="end">
-
- <Button
- android:id="@+id/butCancel"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/cancel_label"
- style="@style/Widget.MaterialComponents.Button.TextButton"/>
-
- <Button
- android:id="@+id/butConfirm"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/confirm_label"
- style="@style/Widget.MaterialComponents.Button.TextButton"/>
- </LinearLayout>
-
-</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/edit_text_dialog.xml b/app/src/main/res/layout/edit_text_dialog.xml
index 6bf0bc6cb..b442b92ce 100644
--- a/app/src/main/res/layout/edit_text_dialog.xml
+++ b/app/src/main/res/layout/edit_text_dialog.xml
@@ -10,6 +10,6 @@
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10"
- android:id="@+id/text" />
+ android:id="@+id/urlEditText" />
</LinearLayout>
diff --git a/app/src/main/res/layout/feeditem_fragment.xml b/app/src/main/res/layout/feeditem_fragment.xml
index 72effc585..049182803 100644
--- a/app/src/main/res/layout/feeditem_fragment.xml
+++ b/app/src/main/res/layout/feeditem_fragment.xml
@@ -166,6 +166,15 @@
</LinearLayout>
</LinearLayout>
+ <TextView
+ android:id="@+id/noMediaLabel"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:textAlignment="center"
+ android:background="?android:attr/dividerVertical"
+ android:text="@string/no_media_label"/>
+
<View
android:layout_width="match_parent"
android:layout_height="1dp"
diff --git a/app/src/main/res/layout/feeditemlist_item.xml b/app/src/main/res/layout/feeditemlist_item.xml
index a8ae5743e..e1f382e46 100644
--- a/app/src/main/res/layout/feeditemlist_item.xml
+++ b/app/src/main/res/layout/feeditemlist_item.xml
@@ -145,6 +145,7 @@
android:layout_marginRight="4dp"
android:layout_marginEnd="4dp"
android:text="·"
+ android:importantForAccessibility="no"
tools:background="@android:color/holo_blue_light"/>
<TextView
@@ -163,6 +164,7 @@
android:layout_marginRight="4dp"
android:layout_marginEnd="4dp"
android:text="·"
+ android:importantForAccessibility="no"
tools:background="@android:color/holo_blue_light"/>
<TextView
diff --git a/app/src/main/res/layout/filter_dialog_row.xml b/app/src/main/res/layout/filter_dialog_row.xml
index 5011812d9..914525387 100644
--- a/app/src/main/res/layout/filter_dialog_row.xml
+++ b/app/src/main/res/layout/filter_dialog_row.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<de.danoeh.antennapod.view.RecursiveRadioGroup
+<de.danoeh.antennapod.ui.common.RecursiveRadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
@@ -58,4 +58,4 @@
android:layout_gravity="center_vertical"
android:checked="true" />
-</de.danoeh.antennapod.view.RecursiveRadioGroup>
+</de.danoeh.antennapod.ui.common.RecursiveRadioGroup>
diff --git a/app/src/main/res/layout/gpodnetauth_activity.xml b/app/src/main/res/layout/gpodnetauth_activity.xml
deleted file mode 100644
index c096c20cf..000000000
--- a/app/src/main/res/layout/gpodnetauth_activity.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-<ViewFlipper
- android:id="@+id/viewflipper"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-</ScrollView> \ No newline at end of file
diff --git a/app/src/main/res/layout/gpodnetauth_credentials.xml b/app/src/main/res/layout/gpodnetauth_credentials.xml
index 895b0999c..9fcf67cff 100644
--- a/app/src/main/res/layout/gpodnetauth_credentials.xml
+++ b/app/src/main/res/layout/gpodnetauth_credentials.xml
@@ -1,96 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
+<LinearLayout
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"
- android:padding="16dp">
-
- <ImageView
- android:id="@id/icon"
- android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:src="@drawable/gpodder_icon" />
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginBottom="8dp">
+
+ <ImageView
+ android:layout_width="64dp"
+ android:layout_height="64dp"
+ android:src="@drawable/gpodder_icon"/>
+
+ <TextView
+ android:id="@+id/createAccountButton"
+ android:layout_width="0dp"
+ android:textAlignment="textEnd"
+ android:layout_height="wrap_content"
+ android:background="?attr/selectableItemBackground"
+ android:textColor="?colorAccent"
+ android:layout_weight="1"
+ android:layout_gravity="center_vertical|end"
+ android:text="@string/create_account"/>
+ </LinearLayout>
<TextView
- android:id="@id/txtvDescription"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_login_descr"
- android:layout_below="@id/icon"
- android:textSize="@dimen/text_size_medium"
- android:textColor="?android:attr/textColorPrimary"/>
+ android:id="@+id/createAccountWarning"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/gpodnetauth_encryption_warning"
+ android:textColor="#F44336"
+ android:textStyle="bold"
+ android:visibility="invisible" />
- <EditText
- android:id="@+id/etxtUsername"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/username_label"
- android:layout_below="@id/txtvDescription"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"
- android:maxLines="1"
- android:inputType="text"
- android:imeOptions="actionNext|flagNoFullscreen"
- android:nextFocusForward="@id/etxtPassword"/>
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
- <EditText
- android:id="@+id/etxtPassword"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/password_label"
- android:layout_below="@id/etxtUsername"
- android:inputType="textPassword"
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:cursorVisible="true"
- android:imeOptions="actionGo|flagNoFullscreen"
- android:imeActionLabel="@string/gpodnetauth_login_butLabel"/>
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/etxtUsername"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/username_label"
+ android:lines="1"
+ android:imeOptions="actionNext|flagNoFullscreen"/>
- <Button
- android:id="@+id/butLogin"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/etxtPassword"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- android:text="@string/gpodnetauth_login_butLabel"/>
+ </com.google.android.material.textfield.TextInputLayout>
- <TextView
- android:id="@+id/txtvError"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_below="@id/etxtPassword"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
- android:layout_toLeftOf="@id/butLogin"
- android:layout_toStartOf="@id/butLogin"
- android:textColor="@color/download_failed_red"
- android:textSize="@dimen/text_size_small"
- android:maxLines="2"
- android:ellipsize="end"
- android:gravity="center"
- android:layout_margin="16dp"
- tools:text="Error message"
- tools:background="@android:color/holo_green_dark" />
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
- <ProgressBar
- android:id="@+id/progBarLogin"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:visibility="gone"
- android:layout_alignTop="@+id/butLogin"
- android:layout_toLeftOf="@+id/butLogin"
- android:layout_toStartOf="@+id/butLogin"/>
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/etxtPassword"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/password_label"
+ android:inputType="textPassword"
+ android:lines="1"
+ android:imeOptions="actionNext|flagNoFullscreen"
+ android:imeActionLabel="@string/gpodnetauth_login_butLabel"/>
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="@dimen/text_size_medium"
- android:textColor="?android:attr/textColorPrimary"
- android:layout_marginTop="16dp"
- android:text="@string/gpodnetauth_login_register"
- android:autoLink="web"
- android:layout_below="@id/butLogin"/>
-</RelativeLayout> \ No newline at end of file
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="end|center_vertical">
+
+ <TextView
+ android:id="@+id/credentialsError"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:textColor="@color/download_failed_red"
+ android:textSize="@dimen/text_size_small"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:gravity="center"
+ tools:text="Error message"
+ tools:background="@android:color/holo_green_dark"/>
+
+ <ProgressBar
+ android:id="@+id/progBarLogin"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:layout_gravity="right"/>
+
+ <Button
+ android:id="@+id/butLogin"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/gpodnetauth_login_butLabel"/>
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/app/src/main/res/layout/gpodnetauth_device.xml b/app/src/main/res/layout/gpodnetauth_device.xml
index 7837121e1..656ba0889 100644
--- a/app/src/main/res/layout/gpodnetauth_device.xml
+++ b/app/src/main/res/layout/gpodnetauth_device.xml
@@ -1,114 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
+<LinearLayout
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"
- android:padding="16dp">
-
- <TextView
- android:id="@+id/txtvTitle"
- android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_device_title"
- android:layout_alignParentTop="true"
- android:layout_marginBottom="16dp"
- style="@style/AntennaPod.TextView.Heading"/>
+ android:orientation="vertical">
- <TextView
- android:id="@+id/txtvDescription"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_device_descr"
- android:layout_below="@id/txtvTitle"
- android:textSize="@dimen/text_size_medium"
- android:textColor="?android:attr/textColorPrimary"/>
-
- <EditText
- android:id="@+id/etxtCaption"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="@string/gpodnetauth_device_caption"
- android:layout_below="@id/txtvDescription"
- android:imeOptions="flagNoFullscreen"/>
+ <com.google.android.material.textfield.TextInputLayout
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
- <TextView
- android:id="@+id/txtvDeviceID"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_device_deviceID"
- android:textSize="@dimen/text_size_medium"
- android:layout_below="@id/etxtCaption"/>
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/deviceName"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/gpodnetauth_device_name"
+ android:lines="1"
+ android:imeOptions="actionNext|flagNoFullscreen"/>
- <EditText
- android:id="@+id/etxtDeviceID"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/txtvDeviceID"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- android:imeOptions="flagNoFullscreen"/>
+ </com.google.android.material.textfield.TextInputLayout>
<Button
- android:id="@+id/butCreateNewDevice"
- android:layout_width="wrap_content"
+ android:id="@+id/createDeviceButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right|end"
+ android:text="@string/gpodnetauth_create_device"/>
+
+ <TextView
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"
- android:layout_below="@id/etxtDeviceID"
- android:text="@string/gpodnetauth_device_butCreateNewDevice"/>
+ style="@style/AntennaPod.TextView.Heading"
+ android:layout_marginTop="16dp"
+ android:text="@string/gpodnetauth_existing_devices"/>
<TextView
- android:id="@+id/txtvError"
- android:layout_width="0dp"
+ android:id="@+id/deviceSelectError"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
- android:layout_below="@id/etxtDeviceID"
- android:layout_toLeftOf="@id/butCreateNewDevice"
- android:layout_toStartOf="@id/butCreateNewDevice"
android:textColor="@color/download_failed_red"
android:textSize="@dimen/text_size_small"
+ android:visibility="gone"
tools:text="Error message"
tools:background="@android:color/holo_green_dark" />
- <ProgressBar
- android:id="@+id/progbarCreateDevice"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignTop="@id/butCreateNewDevice"
- android:layout_toLeftOf="@id/butCreateNewDevice"
- android:layout_toStartOf="@id/butCreateNewDevice"
- android:textColor="@color/download_failed_red"
- android:textSize="@dimen/text_size_medium"
- android:visibility="gone"
- />
-
- <TextView
- android:id="@+id/txtvChooseExistingDevice"
+ <LinearLayout
+ android:id="@+id/devicesContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_device_chooseExistingDevice"
- android:layout_below="@id/butCreateNewDevice"
- android:textColor="?android:attr/textColorPrimary"
- android:textSize="@dimen/text_size_medium"
- android:layout_marginTop="32dp"/>
+ android:orientation="vertical" />
- <Button
- android:id="@+id/butChooseExistingDevice"
+ <ProgressBar
+ android:id="@+id/progbarCreateDevice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="@string/gpodnetauth_device_butChoose"
- android:layout_below="@+id/spinnerChooseDevice"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true"/>
-
- <Spinner
- android:id="@+id/spinnerChooseDevice"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/txtvChooseExistingDevice"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"/>
+ android:textColor="@color/download_failed_red"
+ android:visibility="gone" />
-</RelativeLayout> \ No newline at end of file
+</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/gpodnetauth_device_row.xml b/app/src/main/res/layout/gpodnetauth_device_row.xml
new file mode 100644
index 000000000..d39c00571
--- /dev/null
+++ b/app/src/main/res/layout/gpodnetauth_device_row.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp">
+
+ <Button
+ android:id="@+id/selectDeviceButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ style="?attr/materialButtonOutlinedStyle" />
+</FrameLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/gpodnetauth_dialog.xml b/app/src/main/res/layout/gpodnetauth_dialog.xml
new file mode 100644
index 000000000..a70b76a49
--- /dev/null
+++ b/app/src/main/res/layout/gpodnetauth_dialog.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp"
+ android:clipToPadding="false">
+ <ViewFlipper
+ android:id="@+id/viewflipper"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inAnimation="@anim/slide_right_in"
+ android:outAnimation="@anim/slide_left_out">
+
+ <include layout="@layout/gpodnetauth_host" />
+ <include layout="@layout/gpodnetauth_credentials" />
+ <include layout="@layout/gpodnetauth_device" />
+ <include layout="@layout/gpodnetauth_finish" />
+
+ </ViewFlipper>
+</ScrollView> \ No newline at end of file
diff --git a/app/src/main/res/layout/gpodnetauth_finish.xml b/app/src/main/res/layout/gpodnetauth_finish.xml
index fdaa0d5d0..f0bcfd4dc 100644
--- a/app/src/main/res/layout/gpodnetauth_finish.xml
+++ b/app/src/main/res/layout/gpodnetauth_finish.xml
@@ -1,46 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout
+<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:padding="16dp">
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
<ImageView
android:id="@id/icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_width="64dp"
+ android:layout_height="64dp"
android:src="@drawable/gpodder_icon" />
<TextView
- android:id="@+id/txtvTitle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/icon"
- android:text="@string/gpodnetauth_finish_title"
- style="@style/AntennaPod.TextView.Heading"/>
-
- <TextView
android:id="@+id/txtvDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/gpodnetauth_finish_descr"
- android:layout_below="@id/txtvTitle"
- android:textSize="@dimen/text_size_medium"
android:textColor="?android:attr/textColorPrimary" />
<Button
android:id="@+id/butSyncNow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_below="@id/txtvDescription"
- android:layout_marginTop="16dp"
+ android:layout_marginTop="8dp"
android:text="@string/gpodnetauth_finish_butsyncnow"/>
- <Button
- android:id="@+id/butGoMainscreen"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_below="@id/butSyncNow"
- android:text="@string/gpodnetauth_finish_butgomainscreen"/>
-
-</RelativeLayout> \ No newline at end of file
+</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/gpodnetauth_host.xml b/app/src/main/res/layout/gpodnetauth_host.xml
new file mode 100644
index 000000000..52c5fdb5d
--- /dev/null
+++ b/app/src/main/res/layout/gpodnetauth_host.xml
@@ -0,0 +1,50 @@
+<?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="wrap_content"
+ android:orientation="vertical">
+
+ <RadioGroup
+ android:id="@+id/serverRadioGroup"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <RadioButton
+ android:id="@+id/officialServerRadio"
+ android:text="@string/gpodnetauth_server_official"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:checked="true"/>
+ <RadioButton
+ android:id="@+id/customServerRadio"
+ android:text="@string/gpodnetauth_server_custom"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </RadioGroup>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/serverUrlTextInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ android:visibility="gone"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/serverUrlText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/gpodnetauth_host"
+ android:inputType="textNoSuggestions"
+ android:lines="1"
+ android:imeOptions="actionNext|flagNoFullscreen" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <Button
+ android:id="@+id/chooseHostButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right|end"
+ android:text="@string/gpodnetauth_select_server"/>
+
+</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/onlinefeedview_activity.xml b/app/src/main/res/layout/onlinefeedview_activity.xml
index 88ffbb8b6..909d676f0 100644
--- a/app/src/main/res/layout/onlinefeedview_activity.xml
+++ b/app/src/main/res/layout/onlinefeedview_activity.xml
@@ -105,35 +105,55 @@
tools:text="Podcast author"/>
</RelativeLayout>
- <Spinner
- android:id="@+id/alternate_urls_spinner"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginLeft="8dp"
- android:layout_marginRight="8dp"
- android:layout_marginTop="8dp"
- android:padding="8dp"
- android:textColor="?android:attr/textColorPrimary"
- android:textSize="@dimen/text_size_micro"/>
-
- <Button
- android:id="@+id/subscribeButton"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:focusable="false"
- android:text="@string/subscribe_label"/>
-
- <Button
- android:id="@+id/stopPreviewButton"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="16dp"
- android:layout_marginRight="16dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
- android:focusable="false"
- android:text="@string/stop_preview"
- android:visibility="gone" />
+ android:orientation="vertical">
+
+ <Spinner
+ android:id="@+id/alternate_urls_spinner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:padding="8dp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:textSize="@dimen/text_size_micro" />
+
+ <Button
+ android:id="@+id/subscribeButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="8dp"
+ android:focusable="false"
+ android:text="@string/subscribe_label" />
+
+ <CheckBox
+ android:id="@+id/autoDownloadCheckBox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left"
+ android:focusable="false"
+ android:checked="true"
+ android:text="@string/auto_download_label"
+ android:visibility="gone"
+ tools:visibility="visible" />
+
+ <Button
+ android:id="@+id/stopPreviewButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="8dp"
+ android:focusable="false"
+ android:text="@string/stop_preview"
+ android:visibility="gone"
+ tools:visibility="visible" />
+
+ </LinearLayout>
<ListView
android:id="@+id/listView"
diff --git a/app/src/main/res/layout/quick_feed_discovery.xml b/app/src/main/res/layout/quick_feed_discovery.xml
index 0c55311e3..9ef3db180 100644
--- a/app/src/main/res/layout/quick_feed_discovery.xml
+++ b/app/src/main/res/layout/quick_feed_discovery.xml
@@ -23,7 +23,7 @@
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:minHeight="0dp"
+ android:minHeight="48dp"
android:minWidth="0dp"
android:text="@string/discover_more"
style="@style/Widget.MaterialComponents.Button.TextButton"
@@ -34,7 +34,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
- <de.danoeh.antennapod.view.WrappingGridView
+ <de.danoeh.antennapod.ui.common.WrappingGridView
android:id="@+id/discover_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -85,6 +85,7 @@
</RelativeLayout>
<TextView
+ android:id="@+id/discover_powered_by_itunes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorTertiary"
diff --git a/app/src/main/res/layout/quick_feed_discovery_item.xml b/app/src/main/res/layout/quick_feed_discovery_item.xml
index e1c91f9d8..cb03b6677 100644
--- a/app/src/main/res/layout/quick_feed_discovery_item.xml
+++ b/app/src/main/res/layout/quick_feed_discovery_item.xml
@@ -7,7 +7,7 @@
android:padding="4dp"
android:clipToPadding="false">
- <de.danoeh.antennapod.view.SquareImageView
+ <de.danoeh.antennapod.ui.common.SquareImageView
android:id="@+id/discovery_cover"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/app/src/main/res/layout/searchlist_item_feed.xml b/app/src/main/res/layout/searchlist_item_feed.xml
index 607a3197f..c16911f99 100644
--- a/app/src/main/res/layout/searchlist_item_feed.xml
+++ b/app/src/main/res/layout/searchlist_item_feed.xml
@@ -7,7 +7,7 @@
android:padding="4dp"
android:clipToPadding="false">
- <de.danoeh.antennapod.view.SquareImageView
+ <de.danoeh.antennapod.ui.common.SquareImageView
android:id="@+id/discovery_cover"
android:layout_width="match_parent"
android:layout_height="96dp"
diff --git a/app/src/main/res/layout/secondary_action.xml b/app/src/main/res/layout/secondary_action.xml
index 73ca174a6..e5bff480e 100644
--- a/app/src/main/res/layout/secondary_action.xml
+++ b/app/src/main/res/layout/secondary_action.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginRight="12dp"
@@ -19,9 +20,10 @@
tools:ignore="ContentDescription"
tools:src="@sample/secondaryaction"/>
- <de.danoeh.antennapod.view.CircularProgressBar
+ <de.danoeh.antennapod.ui.common.CircularProgressBar
android:id="@+id/secondaryActionProgress"
android:layout_width="40dp"
android:layout_gravity="center"
- android:layout_height="40dp"/>
+ android:layout_height="40dp"
+ app:foregroundColor="?attr/action_icon_color"/>
</FrameLayout>
diff --git a/app/src/main/res/layout/subscription_item.xml b/app/src/main/res/layout/subscription_item.xml
index e0c821868..7fa738f12 100644
--- a/app/src/main/res/layout/subscription_item.xml
+++ b/app/src/main/res/layout/subscription_item.xml
@@ -8,7 +8,7 @@
android:layout_height="match_parent"
android:foreground="?attr/selectableItemBackground">
- <de.danoeh.antennapod.view.SquareImageView
+ <de.danoeh.antennapod.ui.common.SquareImageView
android:id="@+id/imgvCover"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
diff --git a/app/src/main/res/layout/time_dialog.xml b/app/src/main/res/layout/time_dialog.xml
index 6523bb1be..6b6ab3195 100644
--- a/app/src/main/res/layout/time_dialog.xml
+++ b/app/src/main/res/layout/time_dialog.xml
@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
@@ -52,10 +53,11 @@
<TextView
android:text="00:00:00"
android:layout_gravity="center"
+ android:gravity="center"
android:textSize="32sp"
android:textColor="?android:attr/textColorPrimary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
android:id="@+id/time"/>
<Button
@@ -64,6 +66,45 @@
android:layout_height="wrap_content"
android:id="@+id/disableSleeptimerButton"/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <Button
+ android:id="@+id/extendSleepFiveMinutesButton"
+ style="?attr/materialButtonOutlinedStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="4dp"
+ android:layout_marginRight="4dp"
+ android:layout_weight="1"
+ android:padding="5dp"
+ tools:text="+5 min" />
+
+ <Button
+ android:id="@+id/extendSleepTenMinutesButton"
+ style="?attr/materialButtonOutlinedStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:layout_marginEnd="4dp"
+ android:layout_weight="1"
+ tools:text="+10 min" />
+
+ <Button
+ android:id="@+id/extendSleepTwentyMinutesButton"
+ style="?attr/materialButtonOutlinedStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="4dp"
+ android:layout_marginRight="4dp"
+ android:layout_marginLeft="4dp"
+ android:layout_weight="1"
+ tools:text="+20 min" />
+
+ </LinearLayout>
+
</LinearLayout>
@@ -93,4 +134,4 @@
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</LinearLayout>
diff --git a/app/src/main/res/layout/videoplayer_activity.xml b/app/src/main/res/layout/videoplayer_activity.xml
index c978a1e4d..e0632ef41 100644
--- a/app/src/main/res/layout/videoplayer_activity.xml
+++ b/app/src/main/res/layout/videoplayer_activity.xml
@@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ xmlns:tools="http://schemas.android.com/tools"
android:background="@color/black"
android:orientation="vertical"
android:id="@+id/videoframe">
@@ -75,6 +76,33 @@
android:layout_gravity="bottom|center"
android:orientation="vertical">
+ <androidx.cardview.widget.CardView
+ android:id="@+id/cardViewSeek"
+ android:alpha="0"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="12dp"
+ android:layout_gravity="center"
+ app:cardCornerRadius="8dp"
+ app:cardBackgroundColor="?attr/seek_background"
+ app:cardElevation="0dp"
+ tools:alpha="1">
+
+ <TextView
+ android:id="@+id/txtvSeek"
+ android:gravity="center"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="24dp"
+ android:paddingTop="4dp"
+ android:paddingRight="24dp"
+ android:paddingBottom="4dp"
+ android:textColor="@color/white"
+ android:textSize="24sp"
+ tools:text="1:06:29" />
+
+ </androidx.cardview.widget.CardView>
+
<RelativeLayout
android:id="@+id/timecontrol"
android:layout_width="match_parent"
diff --git a/app/src/main/res/menu/bug_report_options.xml b/app/src/main/res/menu/bug_report_options.xml
new file mode 100644
index 000000000..62963210c
--- /dev/null
+++ b/app/src/main/res/menu/bug_report_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item android:id="@+id/export_logcat"
+ android:title="@string/export_logs_menu_title" />
+
+</menu> \ No newline at end of file
diff --git a/app/src/main/res/menu/feedinfo.xml b/app/src/main/res/menu/feedinfo.xml
index b1daf1f36..a5fbe0c20 100644
--- a/app/src/main/res/menu/feedinfo.xml
+++ b/app/src/main/res/menu/feedinfo.xml
@@ -8,17 +8,25 @@
android:title="@string/visit_website_label"
android:visible="true"/>
<item
- android:id="@+id/share_link_item"
- custom:showAsAction="collapseActionView"
- android:title="@string/share_website_url_label"/>
- <item
- android:id="@+id/share_download_url_item"
- custom:showAsAction="collapseActionView"
- android:title="@string/share_feed_url_label"/>
+ android:id="@+id/share_parent"
+ custom:showAsAction="ifRoom"
+ android:title="@string/share_label_with_ellipses"
+ android:icon="?attr/ic_share"
+ android:visible="true">
+ <menu android:id="@+id/share_submenu">
+ <item
+ android:id="@+id/share_link_item"
+ custom:showAsAction="collapseActionView"
+ android:title="@string/share_website_url_label"/>
+ <item
+ android:id="@+id/share_download_url_item"
+ custom:showAsAction="collapseActionView"
+ android:title="@string/share_feed_url_label"/>
+ </menu>
+ </item>
<item
android:id="@+id/reconnect_local_folder"
custom:showAsAction="collapseActionView"
android:title="@string/reconnect_local_folder"
android:visible="false" />
-
-</menu>
+</menu> \ No newline at end of file
diff --git a/app/src/main/res/menu/subscriptions.xml b/app/src/main/res/menu/subscriptions.xml
index b7dc95299..99acc4bb6 100644
--- a/app/src/main/res/menu/subscriptions.xml
+++ b/app/src/main/res/menu/subscriptions.xml
@@ -23,22 +23,21 @@
android:title="@string/subscription_num_columns"
custom:showAsAction="never">
<menu>
- <item
- android:id="@+id/subscription_num_columns_2"
- android:checkable="true"
- android:title="2"/>
- <item
- android:id="@+id/subscription_num_columns_3"
- android:checkable="true"
- android:title="3"/>
- <item
- android:id="@+id/subscription_num_columns_4"
- android:checkable="true"
- android:title="4"/>
- <item
- android:id="@+id/subscription_num_columns_5"
- android:checkable="true"
- android:title="5"/>
+ <group
+ android:checkableBehavior="single">
+ <item
+ android:id="@+id/subscription_num_columns_2"
+ android:title="2"/>
+ <item
+ android:id="@+id/subscription_num_columns_3"
+ android:title="3"/>
+ <item
+ android:id="@+id/subscription_num_columns_4"
+ android:title="4"/>
+ <item
+ android:id="@+id/subscription_num_columns_5"
+ android:title="5"/>
+ </group>
</menu>
</item>
</menu>
diff --git a/app/src/main/res/xml/actions.xml b/app/src/main/res/xml/actions.xml
new file mode 100644
index 000000000..20dc3dc9b
--- /dev/null
+++ b/app/src/main/res/xml/actions.xml
@@ -0,0 +1,25 @@
+<?xml version ="1.0" encoding ="utf-8"?>
+<actions>
+ <action intentName="actions.intent.OPEN_APP_FEATURE">
+ <fulfillment urlTemplate="https://antennapod.org/deeplink/main{?page}">
+ <parameter-mapping intentParameter="feature" urlParameter="page" />
+ </fulfillment>
+ <parameter name="feature">
+ <entity-set-reference entitySetId="featureEntitySet" />
+ </parameter>
+ </action>
+
+ <action intentName="actions.intent.GET_THING">
+ <fulfillment urlTemplate="https://antennapod.org/deeplink/search{?query}">
+ <parameter-mapping intentParameter="thing.name" urlParameter="query"/>
+ </fulfillment>
+ </action>
+
+ <entity-set entitySetId="featureEntitySet">
+ <entity identifier="QUEUE" name="@string/queue_label" />
+ <entity identifier="EPISODES" name="@string/episodes_label" />
+ <entity identifier="DOWNLOADS" name="@string/downloads_label" />
+ <entity identifier="SUBSCRIPTIONS" name="@string/subscriptions_label" />
+ <entity identifier="HISTORY" name="@string/playback_history_label" />
+ </entity-set>
+</actions>
diff --git a/app/src/main/res/xml/feed_settings.xml b/app/src/main/res/xml/feed_settings.xml
index 9d5ed5e8b..13288fbda 100644
--- a/app/src/main/res/xml/feed_settings.xml
+++ b/app/src/main/res/xml/feed_settings.xml
@@ -9,6 +9,14 @@
android:title="@string/keep_updated"
android:summary="@string/keep_updated_summary"/>
+ <SwitchPreferenceCompat
+ android:key="episodeNotification"
+ android:defaultValue="false"
+ android:dependency="keepUpdated"
+ android:icon="?attr/ic_notifications"
+ android:title="@string/episode_notification"
+ android:summary="@string/episode_notification_summary"/>
+
<Preference
android:key="authentication"
android:icon="?attr/ic_key"
diff --git a/app/src/main/res/xml/player_widget_info.xml b/app/src/main/res/xml/player_widget_info.xml
index 79cdd4a69..803cc89ed 100644
--- a/app/src/main/res/xml/player_widget_info.xml
+++ b/app/src/main/res/xml/player_widget_info.xml
@@ -8,5 +8,4 @@
android:minWidth="250dp"
android:minResizeWidth="40dp"
android:configure="de.danoeh.antennapod.activity.WidgetConfigActivity">
-
-</appwidget-provider> \ No newline at end of file
+</appwidget-provider>
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 1630dc2f9..805dff47d 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -53,8 +53,8 @@
android:key="project"
android:title="@string/project_pref">
<Preference
- android:key="prefFaq"
- android:title="@string/pref_faq"
+ android:key="prefDocumentation"
+ android:title="@string/documentation_support"
android:icon="?attr/ic_questionmark" />
<Preference
android:key="prefViewForum"
diff --git a/app/src/main/res/xml/preferences_about.xml b/app/src/main/res/xml/preferences_about.xml
index 475a1152f..f56b7f2ac 100644
--- a/app/src/main/res/xml/preferences_about.xml
+++ b/app/src/main/res/xml/preferences_about.xml
@@ -17,7 +17,7 @@
<Preference
android:key="about_privacy_policy"
android:icon="?attr/ic_questionmark"
- android:summary="https://antennapod.org/privacy.html"
+ android:summary="www.antennapod.org/privacy"
android:title="@string/privacy_policy"/>
<Preference
android:key="about_licenses"
diff --git a/app/src/main/res/xml/preferences_gpodder.xml b/app/src/main/res/xml/preferences_gpodder.xml
index 7bddbf245..a210b8e11 100644
--- a/app/src/main/res/xml/preferences_gpodder.xml
+++ b/app/src/main/res/xml/preferences_gpodder.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
-
- <PreferenceScreen
+ <Preference
+ android:key="pref_gpodnet_description"
+ android:icon="@drawable/gpodder_icon"
+ android:summary="@string/gpodnet_description"/>
+ <Preference
android:key="pref_gpodnet_authenticate"
android:title="@string/pref_gpodnet_authenticate_title"
- android:summary="@string/pref_gpodnet_authenticate_sum">
- <intent android:action=".activity.gpoddernet.GpodnetAuthenticationActivity"/>
- </PreferenceScreen>
+ android:summary="@string/pref_gpodnet_authenticate_sum"/>
<Preference
android:key="pref_gpodnet_setlogin_information"
android:title="@string/pref_gpodnet_setlogin_information_title"
@@ -23,8 +24,5 @@
<Preference
android:key="pref_gpodnet_logout"
android:title="@string/pref_gpodnet_logout_title"/>
- <Preference
- android:key="pref_gpodnet_hostname"
- android:title="@string/pref_gpodnet_sethostname_title"/>
</PreferenceScreen>
diff --git a/app/src/main/res/xml/preferences_notifications.xml b/app/src/main/res/xml/preferences_notifications.xml
index 3aa907ca8..237ea5c99 100644
--- a/app/src/main/res/xml/preferences_notifications.xml
+++ b/app/src/main/res/xml/preferences_notifications.xml
@@ -2,21 +2,28 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
- <SwitchPreferenceCompat
- android:defaultValue="true"
- android:enabled="true"
- android:key="prefShowDownloadReport"
- android:summary="@string/pref_showDownloadReport_sum"
- android:title="@string/pref_showDownloadReport_title" />
- <SwitchPreferenceCompat
- android:defaultValue="false"
- android:enabled="true"
- android:key="prefShowAutoDownloadReport"
- android:summary="@string/pref_showAutoDownloadReport_sum"
- android:title="@string/pref_showAutoDownloadReport_title" />
- <SwitchPreferenceCompat
- android:defaultValue="true"
- android:key="pref_gpodnet_notifications"
- android:summary="@string/pref_gpodnet_notifications_sum"
- android:title="@string/pref_gpodnet_notifications_title" />
+ <PreferenceCategory
+ android:title="@string/notification_group_news">
+ <SwitchPreferenceCompat
+ android:defaultValue="false"
+ android:enabled="true"
+ android:key="prefShowAutoDownloadReport"
+ android:summary="@string/notification_channel_episode_auto_download"
+ android:title="@string/notification_channel_auto_download" />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/notification_group_errors">
+ <SwitchPreferenceCompat
+ android:defaultValue="true"
+ android:enabled="true"
+ android:key="prefShowDownloadReport"
+ android:summary="@string/notification_channel_download_error_description"
+ android:title="@string/notification_channel_download_error" />
+ <SwitchPreferenceCompat
+ android:defaultValue="true"
+ android:key="pref_gpodnet_notifications"
+ android:summary="@string/notification_channel_sync_error_description"
+ android:title="@string/notification_channel_sync_error" />
+ </PreferenceCategory>
</PreferenceScreen> \ No newline at end of file
diff --git a/app/src/main/res/xml/preferences_playback.xml b/app/src/main/res/xml/preferences_playback.xml
index d2999c59d..2be8492eb 100644
--- a/app/src/main/res/xml/preferences_playback.xml
+++ b/app/src/main/res/xml/preferences_playback.xml
@@ -44,18 +44,6 @@
</PreferenceCategory>
<PreferenceCategory android:title="@string/playback_control">
- <SwitchPreferenceCompat
- android:defaultValue="false"
- android:enabled="true"
- android:key="prefHardwareForwardButtonSkips"
- android:summary="@string/pref_hardwareForwardButtonSkips_sum"
- android:title="@string/pref_hardwareForwardButtonSkips_title"/>
- <SwitchPreferenceCompat
- android:defaultValue="false"
- android:enabled="true"
- android:key="prefHardwarePreviousButtonRestarts"
- android:summary="@string/pref_hardwarePreviousButtonRestarts_sum"
- android:title="@string/pref_hardwarePreviousButtonRestarts_title"/>
<Preference
android:key="prefPlaybackFastForwardDeltaLauncher"
android:summary="@string/pref_fast_forward_sum"
@@ -80,6 +68,23 @@
android:title="@string/pref_stream_over_download_title"/>
</PreferenceCategory>
+ <PreferenceCategory android:title="@string/reassign_hardware_buttons">
+ <ListPreference
+ android:defaultValue="@string/keycode_media_fast_forward"
+ android:entries="@array/button_action_options"
+ android:entryValues="@array/button_action_values"
+ android:key="prefHardwareForwardButton"
+ android:title="@string/pref_hardware_forward_button_title"
+ android:summary="@string/pref_hardware_forward_button_summary"/>
+ <ListPreference
+ android:defaultValue="@string/keycode_media_rewind"
+ android:entries="@array/button_action_options"
+ android:entryValues="@array/button_action_values"
+ android:key="prefHardwarePreviousButton"
+ android:title="@string/pref_hardware_previous_button_title"
+ android:summary="@string/pref_hardware_previous_button_summary"/>
+ </PreferenceCategory>
+
<PreferenceCategory android:title="@string/queue_label">
<SwitchPreferenceCompat
android:defaultValue="true"
diff --git a/app/src/main/res/xml/preferences_user_interface.xml b/app/src/main/res/xml/preferences_user_interface.xml
index 203e14d42..f8e80cdff 100644
--- a/app/src/main/res/xml/preferences_user_interface.xml
+++ b/app/src/main/res/xml/preferences_user_interface.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:search="http://schemas.android.com/apk/com.bytehamster.lib.preferencesearch">
<PreferenceCategory android:title="@string/appearance">
<ListPreference
@@ -20,6 +21,12 @@
android:summary="@string/pref_episode_cover_summary"
android:defaultValue="true"
android:enabled="true"/>
+ <SwitchPreferenceCompat
+ android:title="@string/pref_show_remain_time_title"
+ android:key="showTimeLeft"
+ android:summary="@string/pref_show_remain_time_summary"
+ android:defaultValue="false"
+ android:enabled="true"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/subscriptions_label">
<Preference
@@ -44,7 +51,8 @@
android:enabled="true"
android:key="prefExpandNotify"
android:summary="@string/pref_expandNotify_sum"
- android:title="@string/pref_expandNotify_title"/>
+ android:title="@string/pref_expandNotify_title"
+ search:ignore="true"/>
<SwitchPreferenceCompat
android:defaultValue="true"
android:enabled="true"