summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2022-12-18 18:17:03 +0100
committerGitHub <noreply@github.com>2022-12-18 18:17:03 +0100
commit3acec11322c2ef523f575db77e5d5a3de82d4d61 (patch)
tree40aefb629ee83c8762f775b28ece3f12638c2b9b /core
parent80a91d9da06eb5ef7c26892198e3bba7f98e8553 (diff)
parentd8d6f1c72f0aad452eb88f002dd11995bc1230f9 (diff)
downloadAntennaPod-3acec11322c2ef523f575db77e5d5a3de82d4d61.zip
Merge pull request #6237 from ByteHamster/tinted-theme
Add support for Material You tinted theme
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/ThemeSwitcher.java26
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java11
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadServiceNotification.java13
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java22
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceNotificationBuilder.java4
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/FastDocumentFile.java5
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/download/ConnectionStateMonitor.java4
-rwxr-xr-xcore/src/main/res/drawable-hdpi/navigation_up.pngbin318 -> 0 bytes
-rwxr-xr-xcore/src/main/res/drawable-hdpi/navigation_up_dark.pngbin309 -> 0 bytes
-rwxr-xr-xcore/src/main/res/drawable-mdpi/navigation_up.pngbin279 -> 0 bytes
-rwxr-xr-xcore/src/main/res/drawable-mdpi/navigation_up_dark.pngbin267 -> 0 bytes
-rw-r--r--core/src/main/res/drawable-v21/drawer_item_background.xml20
-rwxr-xr-xcore/src/main/res/drawable-xhdpi/navigation_up.pngbin409 -> 0 bytes
-rwxr-xr-xcore/src/main/res/drawable-xhdpi/navigation_up_dark.pngbin408 -> 0 bytes
-rw-r--r--core/src/main/res/drawable/drawer_item_background.xml24
-rw-r--r--core/src/main/res/drawable/progress_bar_horizontal_dark.xml2
-rw-r--r--core/src/main/res/drawable/progress_bar_horizontal_light.xml2
-rw-r--r--core/src/main/res/values-v21/styles.xml8
-rw-r--r--core/src/main/res/values-v23/styles.xml2
-rw-r--r--core/src/main/res/values-v27/styles.xml2
-rw-r--r--core/src/main/res/values/attrs.xml6
-rw-r--r--core/src/main/res/values/colors.xml11
-rw-r--r--core/src/main/res/values/styles.xml186
23 files changed, 151 insertions, 197 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/ThemeSwitcher.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/ThemeSwitcher.java
index 631d0a84f..b7e4934f5 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/ThemeSwitcher.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/ThemeSwitcher.java
@@ -9,40 +9,48 @@ import de.danoeh.antennapod.storage.preferences.UserPreferences;
public abstract class ThemeSwitcher {
@StyleRes
public static int getTheme(Context context) {
+ boolean dynamic = UserPreferences.getIsThemeColorTinted();
switch (readThemeValue(context)) {
case DARK:
- return R.style.Theme_AntennaPod_Dark;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Dark : R.style.Theme_AntennaPod_Dark;
case BLACK:
- return R.style.Theme_AntennaPod_TrueBlack;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_TrueBlack : R.style.Theme_AntennaPod_TrueBlack;
case LIGHT: // fall-through
default:
- return R.style.Theme_AntennaPod_Light;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Light : R.style.Theme_AntennaPod_Light;
}
}
@StyleRes
public static int getNoTitleTheme(Context context) {
+ boolean dynamic = UserPreferences.getIsThemeColorTinted();
switch (readThemeValue(context)) {
case DARK:
- return R.style.Theme_AntennaPod_Dark_NoTitle;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Dark_NoTitle : R.style.Theme_AntennaPod_Dark_NoTitle;
case BLACK:
- return R.style.Theme_AntennaPod_TrueBlack_NoTitle;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_TrueBlack_NoTitle
+ : R.style.Theme_AntennaPod_TrueBlack_NoTitle;
case LIGHT: // fall-through
default:
- return R.style.Theme_AntennaPod_Light_NoTitle;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Light_NoTitle
+ : R.style.Theme_AntennaPod_Light_NoTitle;
}
}
@StyleRes
public static int getTranslucentTheme(Context context) {
+ boolean dynamic = UserPreferences.getIsThemeColorTinted();
switch (readThemeValue(context)) {
case DARK:
- return R.style.Theme_AntennaPod_Dark_Translucent;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Dark_Translucent
+ : R.style.Theme_AntennaPod_Dark_Translucent;
case BLACK:
- return R.style.Theme_AntennaPod_TrueBlack_Translucent;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_TrueBlack_Translucent
+ : R.style.Theme_AntennaPod_TrueBlack_Translucent;
case LIGHT: // fall-through
default:
- return R.style.Theme_AntennaPod_Light_Translucent;
+ return dynamic ? R.style.Theme_AntennaPod_Dynamic_Light_Translucent
+ : R.style.Theme_AntennaPod_Light_Translucent;
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
index 7f718140a..30745a60d 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
@@ -7,7 +7,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.os.Build;
import android.os.IBinder;
import android.text.TextUtils;
import android.util.Log;
@@ -135,10 +134,8 @@ public class DownloadService extends Service {
cancelDownloadReceiverFilter.addAction(ACTION_CANCEL_DOWNLOAD);
registerReceiver(cancelDownloadReceiver, cancelDownloadReceiverFilter);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- connectionMonitor = new ConnectionStateMonitor();
- connectionMonitor.enable(getApplicationContext());
- }
+ connectionMonitor = new ConnectionStateMonitor();
+ connectionMonitor.enable(getApplicationContext());
}
public static boolean isDownloadingFeeds() {
@@ -206,9 +203,7 @@ public class DownloadService extends Service {
}
unregisterReceiver(cancelDownloadReceiver);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- connectionMonitor.disable(getApplicationContext());
- }
+ connectionMonitor.disable(getApplicationContext());
EventBus.getDefault().postSticky(DownloadEvent.refresh(Collections.emptyList()));
cancelNotificationUpdater();
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadServiceNotification.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadServiceNotification.java
index ea1e68bbf..fd24a716e 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadServiceNotification.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadServiceNotification.java
@@ -4,7 +4,6 @@ import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
-import android.os.Build;
import android.util.Log;
import androidx.core.app.NotificationCompat;
import de.danoeh.antennapod.core.ClientConfig;
@@ -37,9 +36,7 @@ public class DownloadServiceNotification {
.setShowWhen(false)
.setContentIntent(ClientConfig.downloadServiceCallbacks.getNotificationContentIntent(context))
.setSmallIcon(R.drawable.ic_notification_sync);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- notificationCompatBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
- }
+ notificationCompatBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
Log.d(TAG, "Notification set up");
}
@@ -208,9 +205,7 @@ public class DownloadServiceNotification {
.setSmallIcon(iconId)
.setContentIntent(intent)
.setAutoCancel(true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
- }
+ builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(id, builder.build());
Log.d(TAG, "Download report notification was posted");
@@ -232,9 +227,7 @@ public class DownloadServiceNotification {
.setSmallIcon(R.drawable.ic_notification_key)
.setAutoCancel(true)
.setContentIntent(ClientConfig.downloadServiceCallbacks.getAuthentificationNotificationContentIntent(context, downloadRequest));
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
- }
+ builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(downloadRequest.getSource().hashCode(), builder.build());
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index 4c201ac63..bf8cf7778 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -1168,20 +1168,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
| PlaybackStateCompat.ACTION_SEEK_TO
| PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED;
- if (useSkipToPreviousForRewindInLockscreen()) {
- // Workaround to fool Android so that Lockscreen will expose a skip-to-previous button,
- // which will be used for rewind.
- // The workaround is used for pre Lollipop (Androidv5) devices.
- // For Androidv5+, lockscreen widges are really notifications (compact),
- // with an independent codepath
- //
- // @see #sessionCallback in the backing callback, skipToPrevious implementation
- // is actually the same as rewind. So no new inconsistency is created.
- // @see #setupNotification() for the method to create Androidv5+ lockscreen UI
- // with notification (compact)
- capabilities = capabilities | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS;
- }
-
UiModeManager uiModeManager = (UiModeManager) getApplicationContext()
.getSystemService(Context.UI_MODE_SERVICE);
if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR) {
@@ -1216,14 +1202,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
mediaSession.setPlaybackState(sessionState.build());
}
- private static boolean useSkipToPreviousForRewindInLockscreen() {
- // showRewindOnCompactNotification() corresponds to the "Set Lockscreen Buttons"
- // Settings in UI.
- // Hence, from user perspective, he/she is setting the buttons for Lockscreen
- return (UserPreferences.showRewindOnCompactNotification() &&
- (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP));
- }
-
private void updateNotificationAndMediaSession(final Playable p) {
setupNotification(p);
updateMediaSessionMetadata(p);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceNotificationBuilder.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceNotificationBuilder.java
index 9c70675fd..d8cef7ec2 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceNotificationBuilder.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceNotificationBuilder.java
@@ -1,6 +1,5 @@
package de.danoeh.antennapod.core.service.playback;
-import android.annotation.TargetApi;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
@@ -110,7 +109,6 @@ public class PlaybackServiceNotificationBuilder {
return defaultIcon;
}
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static Bitmap getBitmap(VectorDrawable vectorDrawable) {
Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
@@ -124,7 +122,7 @@ public class PlaybackServiceNotificationBuilder {
Drawable drawable = ContextCompat.getDrawable(context, drawableId);
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
- } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && drawable instanceof VectorDrawable) {
+ } else if (drawable instanceof VectorDrawable) {
return getBitmap((VectorDrawable) drawable);
} else {
return null;
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/FastDocumentFile.java b/core/src/main/java/de/danoeh/antennapod/core/util/FastDocumentFile.java
index 885d66687..a86bf0bcf 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/FastDocumentFile.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/FastDocumentFile.java
@@ -6,7 +6,6 @@ import android.net.Uri;
import android.provider.DocumentsContract;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
/**
@@ -21,10 +20,6 @@ public class FastDocumentFile {
private final long lastModified;
public static List<FastDocumentFile> list(Context context, Uri folderUri) {
- if (android.os.Build.VERSION.SDK_INT < 21) {
- return Collections.emptyList();
- }
-
Uri childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree(folderUri,
DocumentsContract.getDocumentId(folderUri));
Cursor cursor = context.getContentResolver().query(childrenUri, new String[] {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/download/ConnectionStateMonitor.java b/core/src/main/java/de/danoeh/antennapod/core/util/download/ConnectionStateMonitor.java
index e88752e4a..a8d9437ee 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/download/ConnectionStateMonitor.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/download/ConnectionStateMonitor.java
@@ -4,12 +4,8 @@ import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
-import android.os.Build;
import android.util.Log;
-import androidx.annotation.RequiresApi;
-
-@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class ConnectionStateMonitor
extends ConnectivityManager.NetworkCallback
implements ConnectivityManager.OnNetworkActiveListener {
diff --git a/core/src/main/res/drawable-hdpi/navigation_up.png b/core/src/main/res/drawable-hdpi/navigation_up.png
deleted file mode 100755
index 370092e7e..000000000
--- a/core/src/main/res/drawable-hdpi/navigation_up.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable-hdpi/navigation_up_dark.png b/core/src/main/res/drawable-hdpi/navigation_up_dark.png
deleted file mode 100755
index 2b520c553..000000000
--- a/core/src/main/res/drawable-hdpi/navigation_up_dark.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable-mdpi/navigation_up.png b/core/src/main/res/drawable-mdpi/navigation_up.png
deleted file mode 100755
index 520e11da6..000000000
--- a/core/src/main/res/drawable-mdpi/navigation_up.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable-mdpi/navigation_up_dark.png b/core/src/main/res/drawable-mdpi/navigation_up_dark.png
deleted file mode 100755
index e53627915..000000000
--- a/core/src/main/res/drawable-mdpi/navigation_up_dark.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable-v21/drawer_item_background.xml b/core/src/main/res/drawable-v21/drawer_item_background.xml
deleted file mode 100644
index 1992158cc..000000000
--- a/core/src/main/res/drawable-v21/drawer_item_background.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?attr/currently_playing_background">
- <item android:id="@android:id/mask">
- <shape android:shape="rectangle">
- <solid android:color="@color/black"/>
- <corners android:radius="32dp"/>
- </shape>
- </item>
- <item>
- <selector>
- <item android:state_selected="true">
- <shape android:shape="rectangle">
- <solid android:color="?attr/drawer_activated_color"/>
- <corners android:radius="32dp"/>
- </shape>
- </item>
- <item android:drawable="@android:color/transparent" />
- </selector>
- </item>
-</ripple>
diff --git a/core/src/main/res/drawable-xhdpi/navigation_up.png b/core/src/main/res/drawable-xhdpi/navigation_up.png
deleted file mode 100755
index 0f954094e..000000000
--- a/core/src/main/res/drawable-xhdpi/navigation_up.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable-xhdpi/navigation_up_dark.png b/core/src/main/res/drawable-xhdpi/navigation_up_dark.png
deleted file mode 100755
index 539222b2f..000000000
--- a/core/src/main/res/drawable-xhdpi/navigation_up_dark.png
+++ /dev/null
Binary files differ
diff --git a/core/src/main/res/drawable/drawer_item_background.xml b/core/src/main/res/drawable/drawer_item_background.xml
index a0ec893a8..40727bf50 100644
--- a/core/src/main/res/drawable/drawer_item_background.xml
+++ b/core/src/main/res/drawable/drawer_item_background.xml
@@ -1,16 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="true">
+<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?attr/colorSurfaceVariant">
+ <item android:id="@android:id/mask">
<shape android:shape="rectangle">
- <solid android:color="?attr/currently_playing_background"/>
+ <solid android:color="@color/black"/>
<corners android:radius="32dp"/>
</shape>
</item>
- <item android:state_selected="true">
- <shape android:shape="rectangle">
- <solid android:color="?attr/drawer_activated_color" />
- <corners android:radius="32dp" />
- </shape>
+ <item>
+ <selector>
+ <item android:state_selected="true">
+ <shape android:shape="rectangle">
+ <solid android:color="?attr/colorSurfaceVariant"/>
+ <corners android:radius="32dp"/>
+ </shape>
+ </item>
+ <item android:drawable="@android:color/transparent" />
+ </selector>
</item>
- <item android:drawable="@android:color/transparent" />
-</selector>
+</ripple>
diff --git a/core/src/main/res/drawable/progress_bar_horizontal_dark.xml b/core/src/main/res/drawable/progress_bar_horizontal_dark.xml
index 7a09fa73f..b575c2f80 100644
--- a/core/src/main/res/drawable/progress_bar_horizontal_dark.xml
+++ b/core/src/main/res/drawable/progress_bar_horizontal_dark.xml
@@ -8,7 +8,7 @@
<item android:id="@android:id/progress">
<clip>
<shape>
- <solid android:color="@color/accent_dark"/>
+ <solid android:color="?attr/colorAccent"/>
</shape>
</clip>
</item>
diff --git a/core/src/main/res/drawable/progress_bar_horizontal_light.xml b/core/src/main/res/drawable/progress_bar_horizontal_light.xml
index b982f522f..b2e18c988 100644
--- a/core/src/main/res/drawable/progress_bar_horizontal_light.xml
+++ b/core/src/main/res/drawable/progress_bar_horizontal_light.xml
@@ -8,7 +8,7 @@
<item android:id="@android:id/progress">
<clip>
<shape>
- <solid android:color="@color/accent_light"/>
+ <solid android:color="?attr/colorAccent"/>
</shape>
</clip>
</item>
diff --git a/core/src/main/res/values-v21/styles.xml b/core/src/main/res/values-v21/styles.xml
deleted file mode 100644
index fd2e0b640..000000000
--- a/core/src/main/res/values-v21/styles.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="Theme.AntennaPod.Light" parent="Theme.Base.AntennaPod.Light">
- <!-- To make icons visible -->
- <item name="android:statusBarColor">@color/grey600</item>
- <item name="android:navigationBarColor">@color/grey600</item>
- </style>
-</resources>
diff --git a/core/src/main/res/values-v23/styles.xml b/core/src/main/res/values-v23/styles.xml
index ef24601e2..95740f648 100644
--- a/core/src/main/res/values-v23/styles.xml
+++ b/core/src/main/res/values-v23/styles.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="Theme.AntennaPod.Light" parent="Theme.Base.AntennaPod.Light">
+ <style name="Theme.AntennaPod.Dynamic.Light" parent="Theme.Base.AntennaPod.Dynamic.Light">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
<!-- To make icons visible -->
diff --git a/core/src/main/res/values-v27/styles.xml b/core/src/main/res/values-v27/styles.xml
index 3ee5f0d64..df4d786be 100644
--- a/core/src/main/res/values-v27/styles.xml
+++ b/core/src/main/res/values-v27/styles.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <style name="Theme.AntennaPod.Light" parent="Theme.Base.AntennaPod.Light">
+ <style name="Theme.AntennaPod.Dynamic.Light" parent="Theme.Base.AntennaPod.Dynamic.Light">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarColor">@color/background_light</item>
diff --git a/core/src/main/res/values/attrs.xml b/core/src/main/res/values/attrs.xml
index 67f11694d..57fde8e10 100644
--- a/core/src/main/res/values/attrs.xml
+++ b/core/src/main/res/values/attrs.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <attr name="navigation_up" format="reference"/>
<attr name="dragview_background" format="reference"/>
<attr name="progressBarTheme" format="reference"/>
- <attr name="master_switch_background" format="color"/>
- <attr name="currently_playing_background" format="color"/>
- <attr name="drawer_activated_color" format="color"/>
<attr name="action_icon_color" format="color"/>
<attr name="scrollbar_thumb" format="reference"/>
<attr name="background_color" format="color"/>
@@ -16,6 +12,4 @@
<attr name="icon_green" format="color" />
<attr name="icon_purple" format="color" />
<attr name="icon_gray" format="color" />
- <attr name="card_background" format="color" />
- <attr name="card_background_playing" format="color" />
</resources>
diff --git a/core/src/main/res/values/colors.xml b/core/src/main/res/values/colors.xml
index 8b84e11a2..1e467802e 100644
--- a/core/src/main/res/values/colors.xml
+++ b/core/src/main/res/values/colors.xml
@@ -7,9 +7,6 @@
<color name="light_gray">#bfbfbf</color>
<color name="medium_gray">#afafaf</color>
<color name="black">#000000</color>
- <color name="download_success_green">#248800</color>
- <color name="download_warning_yellow">#F59F00</color>
- <color name="download_failed_red">#B00020</color>
<color name="image_readability_tint">#80000000</color>
<color name="feed_image_bg">#50000000</color>
<color name="feed_text_bg">#ccbfbfbf</color>
@@ -19,21 +16,13 @@
<color name="background_elevated_light">#EFEEEE</color>
<color name="background_darktheme">#21272b</color>
<color name="background_elevated_darktheme">#2D3337</color>
- <color name="highlight_light">#46C6C6C6</color>
- <color name="highlight_dark">#43707070</color>
- <color name="highlight_trueblack">#43707070</color>
<color name="non_square_icon_background">#22777777</color>
<color name="seek_background_light">#90000000</color>
<color name="seek_background_dark">#905B5B5B</color>
<color name="navigation_bar_divider_light">#1F000000</color>
<color name="accent_light">#0078C2</color>
- <color name="accent_light_alpha">#250078C2</color>
<color name="accent_dark">#3D8BFF</color>
- <color name="accent_dark_alpha">#253D8BFF</color>
<color name="icon_background_gradient_start">#0ba2ff</color>
<color name="icon_background_gradient_end">#0878ff</color>
-
- <color name="master_switch_background_light">#DDDDDD</color>
- <color name="master_switch_background_dark">#191919</color>
</resources>
diff --git a/core/src/main/res/values/styles.xml b/core/src/main/res/values/styles.xml
index c398dfa8d..b9bb1689a 100644
--- a/core/src/main/res/values/styles.xml
+++ b/core/src/main/res/values/styles.xml
@@ -1,36 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
- <style name="Theme.AntennaPod.Light" parent="Theme.Base.AntennaPod.Light">
+ <style name="Theme.AntennaPod.Dynamic.Light" parent="Theme.Base.AntennaPod.Dynamic.Light">
<!-- Room for API dependent attributes -->
+
+ <!-- To make icons visible on API 21-23. Overwritten in API-specific folder -->
+ <item name="android:statusBarColor">@color/grey600</item>
+ <item name="android:navigationBarColor">@color/grey600</item>
</style>
- <style name="Theme.Base.AntennaPod.Light" parent="Theme.Material3.Light">
- <item name="colorPrimary">@color/accent_light</item>
- <item name="colorAccent">@color/accent_light</item>
- <item name="colorSecondary">@color/accent_light</item>
- <item name="colorOnSecondary">@color/white</item>
+ <style name="Theme.Base.AntennaPod.Dynamic.Light" parent="Theme.Material3.DynamicColors.Light">
<item name="progressBarTheme">@style/ProgressBarLight</item>
- <item name="colorPrimaryDark">@color/accent_light</item>
- <item name="colorPrimaryContainer">@color/accent_light</item>
- <item name="colorOnPrimaryContainer">@color/white</item>
- <item name="android:windowBackground">@color/background_light</item>
- <item name="colorSurface">@color/background_light</item>
<item name="background_color">@color/background_light</item>
- <item name="actionBarStyle">@style/Widget.AntennaPod.ActionBar.Light</item>
+ <item name="actionBarStyle">@style/Widget.AntennaPod.ActionBar</item>
<item name="background_elevated">@color/background_elevated_light</item>
- <item name="master_switch_background">@color/master_switch_background_light</item>
- <item name="currently_playing_background">@color/highlight_light</item>
<item name="action_icon_color">@color/black</item>
- <item name="drawer_activated_color">@color/accent_light_alpha</item>
<item name="android:textAllCaps">false</item>
- <item name="android:textColorHint">@color/grey600</item>
<item name="seek_background">@color/seek_background_light</item>
- <item name="navigation_up">@drawable/navigation_up</item>
<item name="dragview_background">@drawable/ic_drag_lighttheme</item>
<item name="scrollbar_thumb">@drawable/scrollbar_thumb_light</item>
- <item name="card_background">#EFEEEE</item>
- <item name="card_background_playing">#D8D8D8</item>
<item name="icon_red">#CF1800</item>
<item name="icon_yellow">#F59F00</item>
<item name="icon_green">#008537</item>
@@ -38,40 +26,36 @@
<item name="icon_gray">#25365A</item>
<item name="android:splitMotionEvents">false</item>
<item name="android:fitsSystemWindows">false</item>
- <item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
+ <item name="android:windowContentTransitions">true</item>
</style>
- <style name="Theme.AntennaPod.Dark" parent="Theme.Base.AntennaPod.Dark">
+ <style name="Theme.AntennaPod.Light" parent="Theme.AntennaPod.Dynamic.Light">
+ <item name="colorPrimary">@color/accent_light</item>
+ <item name="colorAccent">@color/accent_light</item>
+ <item name="colorSecondary">@color/accent_light</item>
+ <item name="colorOnSecondary">@color/white</item>
+ <item name="colorPrimaryDark">@color/accent_light</item>
+ <item name="colorPrimaryContainer">@color/accent_light</item>
+ <item name="colorOnPrimaryContainer">@color/white</item>
+ <item name="android:windowBackground">@color/background_light</item>
+ <item name="colorSurface">@color/background_light</item>
+ <item name="colorSurfaceVariant">#B8E4FF</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.Dark" parent="Theme.Base.AntennaPod.Dynamic.Dark">
<!-- Room for API dependent attributes -->
</style>
- <style name="Theme.Base.AntennaPod.Dark" parent="Theme.Material3.Dark">
- <item name="colorAccent">@color/accent_dark</item>
- <item name="colorSecondary">@color/accent_dark</item>
- <item name="colorOnSecondary">@color/black</item>
- <item name="colorPrimary">@color/accent_dark</item>
- <item name="colorPrimaryDark">@color/background_darktheme</item>
- <item name="colorPrimaryContainer">@color/accent_dark</item>
- <item name="colorOnPrimaryContainer">@color/black</item>
- <item name="android:windowBackground">@color/background_darktheme</item>
- <item name="colorSurface">@color/background_darktheme</item>
+ <style name="Theme.Base.AntennaPod.Dynamic.Dark" parent="Theme.Material3.DynamicColors.Dark">
+ <item name="progressBarTheme">@style/ProgressBarDark</item>
<item name="background_color">@color/background_darktheme</item>
- <item name="actionBarStyle">@style/Widget.AntennaPod.ActionBar.Dark</item>
+ <item name="actionBarStyle">@style/Widget.AntennaPod.ActionBar</item>
<item name="background_elevated">@color/background_elevated_darktheme</item>
- <item name="colorControlNormal">@color/white</item>
- <item name="progressBarTheme">@style/ProgressBarDark</item>
- <item name="drawer_activated_color">@color/accent_dark_alpha</item>
- <item name="master_switch_background">@color/master_switch_background_dark</item>
- <item name="currently_playing_background">@color/highlight_dark</item>
<item name="action_icon_color">@color/white</item>
<item name="android:textAllCaps">false</item>
- <item name="android:textColorHint">@color/medium_gray</item>
<item name="seek_background">@color/seek_background_dark</item>
- <item name="navigation_up">@drawable/navigation_up_dark</item>
<item name="dragview_background">@drawable/ic_drag_darktheme</item>
<item name="scrollbar_thumb">@drawable/scrollbar_thumb_dark</item>
- <item name="card_background">#2d3337</item>
- <item name="card_background_playing">#444D53</item>
<item name="icon_red">#CF1800</item>
<item name="icon_yellow">#F59F00</item>
<item name="icon_green">#008537</item>
@@ -79,31 +63,49 @@
<item name="icon_gray">#CDD9E4</item>
<item name="android:splitMotionEvents">false</item>
<item name="android:fitsSystemWindows">false</item>
- <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
+ <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
- <item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
- <item name="android:navigationBarColor" tools:targetApi="lollipop">@color/background_darktheme</item>
+ <item name="android:windowContentTransitions">true</item>
+ <item name="android:navigationBarColor">@color/background_darktheme</item>
</style>
- <style name="Theme.AntennaPod.TrueBlack" parent="Theme.Base.AntennaPod.TrueBlack">
- <!-- Room for API dependent attributes -->
+ <style name="Theme.AntennaPod.Dark" parent="Theme.AntennaPod.Dynamic.Dark">
+ <item name="colorPrimary">@color/accent_dark</item>
+ <item name="colorAccent">@color/accent_dark</item>
+ <item name="colorSecondary">@color/accent_dark</item>
+ <item name="colorOnSecondary">@color/black</item>
+ <item name="colorPrimaryDark">@color/accent_dark</item>
+ <item name="colorPrimaryContainer">@color/accent_dark</item>
+ <item name="colorOnPrimaryContainer">@color/black</item>
+ <item name="android:windowBackground">@color/background_darktheme</item>
+ <item name="colorSurface">@color/background_darktheme</item>
+ <item name="colorSurfaceVariant">#1B3B6A</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.TrueBlack" parent="Theme.AntennaPod.Dynamic.Dark">
+ <item name="android:textColorPrimary">@color/white</item>
+ <item name="android:color">@color/white</item>
+ <item name="android:windowBackground">@color/black</item>
+ <item name="colorSurface">@color/black</item>
+ <item name="background_color">@color/black</item>
+ <item name="background_elevated">@color/black</item>
+ <item name="android:navigationBarColor">@color/black</item>
</style>
- <style name="Theme.Base.AntennaPod.TrueBlack" parent="Theme.AntennaPod.Dark">
- <item name="colorPrimaryDark">@color/black</item>
- <item name="actionBarStyle">@style/Widget.AntennaPod.ActionBar.Black</item>
- <item name="drawer_activated_color">@color/highlight_trueblack</item>
- <item name="currently_playing_background">@color/highlight_trueblack</item>
+ <style name="Theme.AntennaPod.TrueBlack" parent="Theme.AntennaPod.Dark">
<item name="android:textColorPrimary">@color/white</item>
<item name="android:color">@color/white</item>
- <item name="android:colorBackground">@color/black</item>
<item name="android:windowBackground">@color/black</item>
<item name="colorSurface">@color/black</item>
<item name="background_color">@color/black</item>
- <item name="android:actionBarStyle">@color/black</item>
<item name="background_elevated">@color/black</item>
- <item name="android:textColorHint">@color/medium_gray</item>
- <item name="android:navigationBarColor" tools:targetApi="lollipop">@color/black</item>
+ <item name="android:navigationBarColor">@color/black</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.Light.NoTitle" parent="Theme.AntennaPod.Dynamic.Light">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="windowActionModeOverlay">true</item>
</style>
<style name="Theme.AntennaPod.Light.NoTitle" parent="Theme.AntennaPod.Light">
@@ -112,6 +114,12 @@
<item name="windowActionModeOverlay">true</item>
</style>
+ <style name="Theme.AntennaPod.Dynamic.Dark.NoTitle" parent="Theme.AntennaPod.Dynamic.Dark">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="windowActionModeOverlay">true</item>
+ </style>
+
<style name="Theme.AntennaPod.Dark.NoTitle" parent="Theme.AntennaPod.Dark">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
@@ -124,8 +132,36 @@
<item name="windowActionModeOverlay">true</item>
</style>
+ <style name="Theme.AntennaPod.Dynamic.TrueBlack.NoTitle" parent="Theme.AntennaPod.Dynamic.TrueBlack">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="windowActionModeOverlay">true</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.Light.Translucent" parent="Theme.AntennaPod.Dynamic.Light.NoTitle">
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ <item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:backgroundDimEnabled">true</item>
+ <item name="android:windowAnimationStyle">@style/AnimationFade</item>
+ <item name="android:fitsSystemWindows">true</item>
+ </style>
+
<style name="Theme.AntennaPod.Light.Translucent" parent="Theme.AntennaPod.Light.NoTitle">
- <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ <item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:backgroundDimEnabled">true</item>
+ <item name="android:windowAnimationStyle">@style/AnimationFade</item>
+ <item name="android:fitsSystemWindows">true</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.Dark.Translucent" parent="Theme.AntennaPod.Dynamic.Dark.NoTitle">
+ <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
@@ -136,7 +172,18 @@
</style>
<style name="Theme.AntennaPod.Dark.Translucent" parent="Theme.AntennaPod.Dark.NoTitle">
- <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ <item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:backgroundDimEnabled">true</item>
+ <item name="android:windowAnimationStyle">@style/AnimationFade</item>
+ <item name="android:fitsSystemWindows">true</item>
+ </style>
+
+ <style name="Theme.AntennaPod.Dynamic.TrueBlack.Translucent" parent="Theme.AntennaPod.Dynamic.TrueBlack.NoTitle">
+ <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
@@ -147,7 +194,7 @@
</style>
<style name="Theme.AntennaPod.TrueBlack.Translucent" parent="Theme.AntennaPod.TrueBlack.NoTitle">
- <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
+ <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar" tools:targetApi="M">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
@@ -166,7 +213,7 @@
<item name="android:windowBackground">@drawable/bg_splash</item>
<item name="colorPrimary">@color/icon_background_gradient_start</item>
<item name="colorPrimaryDark">@color/icon_background_gradient_start</item>
- <item name="android:navigationBarColor" tools:targetApi="lollipop">@color/icon_background_gradient_end</item>
+ <item name="android:navigationBarColor">@color/icon_background_gradient_end</item>
</style>
<style name="Theme.AntennaPod.VideoPlayer" parent="@style/Theme.AntennaPod.Dark">
@@ -199,14 +246,6 @@
<item name="android:ellipsize">end</item>
</style>
- <style name="BigBlurryBackground">
- <item name="android:scaleType">centerCrop</item>
- <!-- <item name="android:tint">@color/image_readability_tint</item> -->
- <!-- Reactivate when Glide's tinting has been fixed for Android 5.x
- Remove color filter from ItemlistFragment -->
-
- </style>
-
<style name="ProgressBarLight">
<item name="android:indeterminateOnly">false</item>
<item name="android:progressDrawable">@drawable/progress_bar_horizontal_light</item>
@@ -226,16 +265,9 @@
<item name="fastScrollVerticalTrackDrawable">@drawable/scrollbar_track</item>
</style>
- <style name="Widget.AntennaPod.ActionBar.Light" parent="Widget.Material3.Light.ActionBar.Solid">
- <item name="background">@color/background_light</item>
- </style>
-
- <style name="Widget.AntennaPod.ActionBar.Dark" parent="Widget.Material3.Light.ActionBar.Solid">
- <item name="background">@color/background_darktheme</item>
- </style>
-
- <style name="Widget.AntennaPod.ActionBar.Black" parent="Widget.Material3.Light.ActionBar.Solid">
- <item name="background">@color/black</item>
+ <style name="Widget.AntennaPod.ActionBar" parent="Widget.Material3.Light.ActionBar.Solid">
+ <item name="background">?android:attr/colorBackground</item>
+ <item name="elevation">0dp</item>
</style>
<style name="AddPodcastTextView">