diff options
Diffstat (limited to 'core')
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 Binary files differdeleted file mode 100755 index 370092e7e..000000000 --- a/core/src/main/res/drawable-hdpi/navigation_up.png +++ /dev/null diff --git a/core/src/main/res/drawable-hdpi/navigation_up_dark.png b/core/src/main/res/drawable-hdpi/navigation_up_dark.png Binary files differdeleted file mode 100755 index 2b520c553..000000000 --- a/core/src/main/res/drawable-hdpi/navigation_up_dark.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/navigation_up.png b/core/src/main/res/drawable-mdpi/navigation_up.png Binary files differdeleted file mode 100755 index 520e11da6..000000000 --- a/core/src/main/res/drawable-mdpi/navigation_up.png +++ /dev/null diff --git a/core/src/main/res/drawable-mdpi/navigation_up_dark.png b/core/src/main/res/drawable-mdpi/navigation_up_dark.png Binary files differdeleted file mode 100755 index e53627915..000000000 --- a/core/src/main/res/drawable-mdpi/navigation_up_dark.png +++ /dev/null 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 Binary files differdeleted file mode 100755 index 0f954094e..000000000 --- a/core/src/main/res/drawable-xhdpi/navigation_up.png +++ /dev/null diff --git a/core/src/main/res/drawable-xhdpi/navigation_up_dark.png b/core/src/main/res/drawable-xhdpi/navigation_up_dark.png Binary files differdeleted file mode 100755 index 539222b2f..000000000 --- a/core/src/main/res/drawable-xhdpi/navigation_up_dark.png +++ /dev/null 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"> |