diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d888d8d99..9cce60469 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -131,10 +131,14 @@
+
+
+
{
// Trigger schema updates
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
index 2b11c5ff9..31e6efc5a 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
@@ -14,12 +14,12 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.FitCenter;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
+import com.google.android.material.elevation.SurfaceColors;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.model.feed.Chapter;
import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.model.feed.EmbeddedChapterImage;
import de.danoeh.antennapod.core.util.IntentUtils;
-import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.model.playback.Playable;
import de.danoeh.antennapod.ui.common.CircularProgressBar;
@@ -85,8 +85,8 @@ public class ChaptersListAdapter extends RecyclerView.Adapter {
- txtvMessage.setTextColor(ContextCompat.getColor(context, R.color.download_success_green));
+ txtvMessage.setTextColor(ThemeUtils.getColorFromAttr(context, R.attr.icon_green));
String message = String.format("%s %s", "{fa-check}",
context.getString(R.string.proxy_test_successful));
txtvMessage.setText(message);
@@ -307,7 +307,7 @@ public class ProxyDialog {
},
error -> {
error.printStackTrace();
- txtvMessage.setTextColor(ContextCompat.getColor(context, R.color.download_failed_red));
+ txtvMessage.setTextColor(ThemeUtils.getColorFromAttr(context, R.attr.icon_red));
String message = String.format("%s %s: %s", "{fa-close}",
context.getString(R.string.proxy_test_failed), error.getMessage());
txtvMessage.setText(message);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
index 4b6beac13..864e23d7d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
@@ -6,7 +6,6 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
@@ -19,7 +18,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
import androidx.activity.result.contract.ActivityResultContracts.GetContent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.documentfile.provider.DocumentFile;
import androidx.fragment.app.Fragment;
@@ -105,9 +103,6 @@ public class AddFeedFragment extends Fragment {
});
viewBinding.addLocalFolderButton.setOnClickListener(v -> {
- if (Build.VERSION.SDK_INT < 21) {
- return;
- }
try {
addLocalFolderLauncher.launch(null);
} catch (ActivityNotFoundException e) {
@@ -116,10 +111,6 @@ public class AddFeedFragment extends Fragment {
.showSnackbarAbovePlayer(R.string.unable_to_start_system_file_manager, Snackbar.LENGTH_LONG);
}
});
- if (Build.VERSION.SDK_INT < 21) {
- viewBinding.addLocalFolderButton.setVisibility(View.GONE);
- }
-
viewBinding.searchButton.setOnClickListener(view -> performSearch());
return viewBinding.getRoot();
@@ -205,9 +196,6 @@ public class AddFeedFragment extends Fragment {
}
private Feed addLocalFolder(Uri uri) {
- if (Build.VERSION.SDK_INT < 21) {
- return null;
- }
getActivity().getContentResolver()
.takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
DocumentFile documentFile = DocumentFile.fromTreeUri(getContext(), uri);
@@ -227,7 +215,6 @@ public class AddFeedFragment extends Fragment {
}
private static class AddLocalFolder extends ActivityResultContracts.OpenDocumentTree {
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@NonNull
@Override
public Intent createIntent(@NonNull final Context context, @Nullable final Uri input) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
index 1539ebecf..530d87e7f 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -121,7 +121,8 @@ public class AudioPlayerFragment extends Fragment implements
getChildFragmentManager().beginTransaction()
.replace(R.id.playerFragment, externalPlayerFragment, ExternalPlayerFragment.TAG)
.commit();
- root.findViewById(R.id.playerFragment).setBackgroundColor(SurfaceColors.getColorForElevation(getContext(), 8));
+ root.findViewById(R.id.playerFragment).setBackgroundColor(
+ SurfaceColors.getColorForElevation(getContext(), 8 * getResources().getDisplayMetrics().density));
butPlaybackSpeed = root.findViewById(R.id.butPlaybackSpeed);
txtvPlaybackSpeed = root.findViewById(R.id.txtvPlaybackSpeed);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
index 26533f50f..c27d8c058 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
@@ -1,6 +1,5 @@
package de.danoeh.antennapod.fragment;
-import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
@@ -80,9 +79,7 @@ public class DownloadLogFragment extends BottomSheetDialogFragment
adapter = new DownloadLogAdapter(getActivity());
viewBinding.list.setAdapter(adapter);
viewBinding.list.setOnItemClickListener(this);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- viewBinding.list.setNestedScrollingEnabled(true);
- }
+ viewBinding.list.setNestedScrollingEnabled(true);
EventBus.getDefault().register(this);
return viewBinding.getRoot();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
index 4fe2f0386..32ab5d9e5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
@@ -7,7 +7,6 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.LightingColorFilter;
import android.net.Uri;
-import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
@@ -22,7 +21,6 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.appcompat.content.res.AppCompatResources;
import com.google.android.material.appbar.MaterialToolbar;
@@ -290,7 +288,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
}
boolean handled = FeedMenuHandler.onOptionsItemClicked(getContext(), item, feed);
- if (item.getItemId() == R.id.reconnect_local_folder && Build.VERSION.SDK_INT >= 21) {
+ if (item.getItemId() == R.id.reconnect_local_folder) {
MaterialAlertDialogBuilder alert = new MaterialAlertDialogBuilder(getContext());
alert.setMessage(R.string.reconnect_local_folder_warning);
alert.setPositiveButton(android.R.string.ok, (dialog, which) -> {
@@ -329,7 +327,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
}
private void reconnectLocalFolder(Uri uri) {
- if (Build.VERSION.SDK_INT < 21 || feed == null) {
+ if (feed == null) {
return;
}
@@ -353,7 +351,6 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
}
private static class AddLocalFolder extends ActivityResultContracts.OpenDocumentTree {
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@NonNull
@Override
public Intent createIntent(@NonNull final Context context, @Nullable final Uri input) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java
index 59c2c4a8e..caf555964 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java
@@ -44,6 +44,16 @@ public class UserInterfacePreferencesFragment extends PreferenceFragmentCompat {
return true;
});
+ if (Build.VERSION.SDK_INT < 31) {
+ findPreference(UserPreferences.PREF_TINTED_COLORS).setVisible(false);
+ }
+ findPreference(UserPreferences.PREF_TINTED_COLORS)
+ .setOnPreferenceChangeListener(
+ (preference, newValue) -> {
+ ActivityCompat.recreate(getActivity());
+ return true;
+ });
+
findPreference(UserPreferences.PREF_SHOW_TIME_LEFT)
.setOnPreferenceChangeListener(
(preference, newValue) -> {
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java b/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java
index 94e60ef61..ef527967a 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java
@@ -1,16 +1,14 @@
package de.danoeh.antennapod.preferences;
-import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Typeface;
-import android.os.Build;
import androidx.preference.SwitchPreferenceCompat;
import androidx.preference.PreferenceViewHolder;
import android.util.AttributeSet;
-import android.util.TypedValue;
import android.widget.TextView;
import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.ui.common.ThemeUtils;
public class MasterSwitchPreference extends SwitchPreferenceCompat {
@@ -18,7 +16,6 @@ public class MasterSwitchPreference extends SwitchPreferenceCompat {
super(context, attrs, defStyleAttr);
}
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
public MasterSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@@ -36,10 +33,7 @@ public class MasterSwitchPreference extends SwitchPreferenceCompat {
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
- TypedValue typedValue = new TypedValue();
- getContext().getTheme().resolveAttribute(R.attr.master_switch_background, typedValue, true);
- holder.itemView.setBackgroundColor(typedValue.data);
-
+ holder.itemView.setBackgroundColor(ThemeUtils.getColorFromAttr(getContext(), R.attr.colorSurfaceVariant));
TextView title = (TextView) holder.findViewById(android.R.id.title);
if (title != null) {
title.setTypeface(title.getTypeface(), Typeface.BOLD);
diff --git a/app/src/main/java/de/danoeh/antennapod/view/ChapterSeekBar.java b/app/src/main/java/de/danoeh/antennapod/view/ChapterSeekBar.java
index 7c6b64e2c..d35206647 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/ChapterSeekBar.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/ChapterSeekBar.java
@@ -6,6 +6,7 @@ import android.graphics.Paint;
import android.os.Handler;
import android.os.Looper;
import android.util.AttributeSet;
+import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.common.ThemeUtils;
public class ChapterSeekBar extends androidx.appcompat.widget.AppCompatSeekBar {
@@ -42,11 +43,9 @@ public class ChapterSeekBar extends androidx.appcompat.widget.AppCompatSeekBar {
dividerPos = null;
density = context.getResources().getDisplayMetrics().density;
- paintBackground.setColor(ThemeUtils.getColorFromAttr(getContext(),
- de.danoeh.antennapod.core.R.attr.currently_playing_background));
+ paintBackground.setColor(ThemeUtils.getColorFromAttr(getContext(), R.attr.colorSurfaceVariant));
paintBackground.setAlpha(128);
- paintProgressPrimary.setColor(ThemeUtils.getColorFromAttr(getContext(),
- de.danoeh.antennapod.core.R.attr.colorPrimary));
+ paintProgressPrimary.setColor(ThemeUtils.getColorFromAttr(getContext(), R.attr.colorPrimary));
}
/**
diff --git a/app/src/main/java/de/danoeh/antennapod/view/NestedScrollableHost.java b/app/src/main/java/de/danoeh/antennapod/view/NestedScrollableHost.java
index ff52df71f..660aa1ea9 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/NestedScrollableHost.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/NestedScrollableHost.java
@@ -21,7 +21,6 @@ package de.danoeh.antennapod.view;
import android.content.Context;
import android.content.res.TypedArray;
-import android.os.Build;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
@@ -31,7 +30,6 @@ import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
import androidx.viewpager2.widget.ViewPager2;
import de.danoeh.antennapod.R;
@@ -75,7 +73,6 @@ public class NestedScrollableHost extends FrameLayout {
setAttributes(context, attrs);
}
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public NestedScrollableHost(@NonNull Context context, @Nullable AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
diff --git a/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java b/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
index 9dc4a76c6..b284aa2d6 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/ShownotesWebView.java
@@ -6,7 +6,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
-import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.ContextMenu;
@@ -63,9 +62,7 @@ public class ShownotesWebView extends WebView implements View.OnLongClickListene
getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// Use cached resources, even if they have expired
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
- }
+ getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
getSettings().setUseWideViewPort(false);
getSettings().setLoadWithOverviewMode(true);
setOnLongClickListener(this);
diff --git a/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java b/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java
index 4009282a7..cdf688502 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/viewholder/EpisodeItemViewHolder.java
@@ -14,6 +14,7 @@ import android.widget.TextView;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.elevation.SurfaceColors;
import com.joanzapata.iconify.Iconify;
import de.danoeh.antennapod.R;
@@ -138,7 +139,8 @@ public class EpisodeItemViewHolder extends RecyclerView.ViewHolder {
duration.setVisibility(media.getDuration() > 0 ? View.VISIBLE : View.GONE);
if (PlaybackStatus.isCurrentlyPlaying(media)) {
- itemView.setBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.currently_playing_background));
+ float density = activity.getResources().getDisplayMetrics().density;
+ itemView.setBackgroundColor(SurfaceColors.getColorForElevation(activity, 8 * density));
} else {
itemView.setBackgroundResource(ThemeUtils.getDrawableFromAttr(activity, R.attr.selectableItemBackground));
}
diff --git a/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java b/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
index 83d589518..05240b371 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
@@ -8,6 +8,7 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.elevation.SurfaceColors;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.CoverLoader;
@@ -56,6 +57,8 @@ public class HorizontalItemViewHolder extends RecyclerView.ViewHolder {
this.item = item;
card.setAlpha(1.0f);
+ float density = activity.getResources().getDisplayMetrics().density;
+ card.setCardBackgroundColor(SurfaceColors.getColorForElevation(activity, 1 * density));
new CoverLoader(activity)
.withUri(ImageResourceUtils.getEpisodeListImageLocation(item))
.withFallbackUri(item.getFeed().getImageUrl())
@@ -73,9 +76,7 @@ public class HorizontalItemViewHolder extends RecyclerView.ViewHolder {
setProgressBar(false, 0);
} else {
if (PlaybackStatus.isCurrentlyPlaying(media)) {
- card.setCardBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.card_background_playing));
- } else {
- card.setCardBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.card_background));
+ card.setCardBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.colorSurfaceVariant));
}
if (item.getMedia().getDuration() > 0 && item.getMedia().getPosition() > 0) {
diff --git a/app/src/main/res/drawable-v21/grey_border.xml b/app/src/main/res/drawable-v21/grey_border.xml
deleted file mode 100644
index beccf9e85..000000000
--- a/app/src/main/res/drawable-v21/grey_border.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/grey_border.xml b/app/src/main/res/drawable/grey_border.xml
index 4362f05b6..beccf9e85 100644
--- a/app/src/main/res/drawable/grey_border.xml
+++ b/app/src/main/res/drawable/grey_border.xml
@@ -1,21 +1,29 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/audioplayer_fragment.xml b/app/src/main/res/layout/audioplayer_fragment.xml
index 9b1650a76..a9964089c 100644
--- a/app/src/main/res/layout/audioplayer_fragment.xml
+++ b/app/src/main/res/layout/audioplayer_fragment.xml
@@ -11,7 +11,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
- android:background="?attr/background_elevated"
android:elevation="8dp"
tools:layout_height="@dimen/external_player_height" />
diff --git a/app/src/main/res/layout/downloadlog_item.xml b/app/src/main/res/layout/downloadlog_item.xml
index f55e0f25e..9ca19b531 100644
--- a/app/src/main/res/layout/downloadlog_item.xml
+++ b/app/src/main/res/layout/downloadlog_item.xml
@@ -1,78 +1,80 @@
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ 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:descendantFocusability="blocksDescendants">
+ 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_marginLeft="16dp"
+ android:layout_marginStart="16dp"
+ android:layout_weight="1"
+ android:orientation="vertical">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
+ android:id="@+id/txtvIcon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginEnd="4dp"
+ android:padding="2dp"
+ android:textSize="18sp"
+ android:gravity="center" />
+ android:id="@+id/txtvTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/AntennaPod.TextView.ListItemPrimaryTitle"
+ tools:text="@sample/episodes.json/data/title"
+ tools:background="@android:color/holo_blue_light" />
+ android:id="@+id/status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/AntennaPod.TextView.ListItemSecondaryTitle"
+ tools:text="Media file - 01/01/1970" />
+ android:id="@+id/txtvReason"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:textColor="?attr/icon_red"
+ tools:text="@string/design_time_downloaded_log_failure_reason" />
+ android:id="@+id/txtvTapForDetails"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:textColor="?android:attr/textColorSecondary"
+ android:text="@string/download_error_tap_for_details" />
-
+
+
diff --git a/app/src/main/res/layout/external_player_fragment.xml b/app/src/main/res/layout/external_player_fragment.xml
index fa881e622..4969215d9 100644
--- a/app/src/main/res/layout/external_player_fragment.xml
+++ b/app/src/main/res/layout/external_player_fragment.xml
@@ -1,81 +1,80 @@
+ 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/fragmentLayout"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/external_player_height"
+ android:background="?attr/selectableItemBackground"
+ android:orientation="vertical">
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:gravity="center_vertical"
+ android:layout_weight="1">
-
+ android:id="@+id/imgvCover"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:contentDescription="@string/media_player"
+ android:adjustViewBounds="true"
+ android:cropToPadding="true"
+ android:maxWidth="96dp"
+ android:scaleType="fitCenter"
+ android:background="@color/non_square_icon_background"
+ tools:src="@tools:sample/avatars" />
+
+
+ android:ellipsize="end"
+ android:maxLines="1"
+ style="@style/Base.TextAppearance.AppCompat.Body1"
+ tools:text="Episode title that is too long and will cause the text to wrap" />
+ android:id="@+id/txtvAuthor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="?android:attr/textColorSecondary"
+ android:ellipsize="end"
+ android:maxLines="1"
+ style="@style/TextAppearance.AppCompat.Body1"
+ tools:text="Episode author that is too long and will cause the text to wrap" />
-
-
+ android:id="@+id/butPlay"
+ android:layout_width="52dp"
+ android:layout_height="match_parent"
+ android:contentDescription="@string/pause_label"
+ android:background="?attr/selectableItemBackground"
+ android:scaleType="fitCenter"
+ android:padding="8dp"
+ app:srcCompat="@drawable/ic_play_48dp"
+ tools:src="@drawable/ic_play_48dp" />
+ android:id="@+id/episodeProgress"
+ android:layout_width="match_parent"
+ android:layout_height="4dp"
+ android:indeterminate="false"
+ style="?android:attr/progressBarStyleHorizontal"
+ tools:progress="100" />
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 043929e32..b96789ba2 100644
--- a/app/src/main/res/layout/feed_item_list_fragment.xml
+++ b/app/src/main/res/layout/feed_item_list_fragment.xml
@@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/image_readability_tint"
- style="@style/BigBlurryBackground"
+ android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.6" />
diff --git a/app/src/main/res/layout/feedinfo.xml b/app/src/main/res/layout/feedinfo.xml
index af4aa2570..9771bd7fc 100644
--- a/app/src/main/res/layout/feedinfo.xml
+++ b/app/src/main/res/layout/feedinfo.xml
@@ -26,7 +26,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/image_readability_tint"
- style="@style/BigBlurryBackground"
+ android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.6" />
diff --git a/app/src/main/res/layout/feeditemlist_header.xml b/app/src/main/res/layout/feeditemlist_header.xml
index 6bd31ed9d..ba8b4fcd8 100644
--- a/app/src/main/res/layout/feeditemlist_header.xml
+++ b/app/src/main/res/layout/feeditemlist_header.xml
@@ -145,7 +145,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dp"
- android:background="@color/download_failed_red"
+ android:background="?attr/icon_red"
android:gravity="center"
android:textColor="@color/white"
android:visibility="gone"
diff --git a/app/src/main/res/layout/feeditemlist_item.xml b/app/src/main/res/layout/feeditemlist_item.xml
index dfedbdddf..a5246265a 100644
--- a/app/src/main/res/layout/feeditemlist_item.xml
+++ b/app/src/main/res/layout/feeditemlist_item.xml
@@ -109,8 +109,7 @@
android:layout_width="14sp"
android:layout_height="14sp"
android:contentDescription="@string/is_inbox_label"
- app:srcCompat="@drawable/ic_inbox"
- app:tint="?attr/colorAccent" />
+ app:srcCompat="@drawable/ic_inbox" />
+ 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"
+ android:orientation="vertical">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
+ 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" />
+ 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" />
+ android:text="@string/gpodnetauth_existing_devices"
+ style="@style/AntennaPod.TextView.Heading" />
-
\ No newline at end of file
+
diff --git a/app/src/main/res/layout/home_fragment.xml b/app/src/main/res/layout/home_fragment.xml
index fca9406a8..3ef602334 100644
--- a/app/src/main/res/layout/home_fragment.xml
+++ b/app/src/main/res/layout/home_fragment.xml
@@ -34,7 +34,7 @@
android:layout_height="80dp"
android:layout_marginBottom="8dp"
android:layout_gravity="start"
- android:src="@drawable/ic_curved_arrow" />
+ app:srcCompat="@drawable/ic_curved_arrow" />
+ app:srcCompat="@mipmap/ic_launcher" />