summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2023-03-31 22:18:37 +0200
committerGitHub <noreply@github.com>2023-03-31 22:18:37 +0200
commit8c9b61e599df6124e39066b409f62cfed083d849 (patch)
tree85e8bbf97ad3f973db9ef8fcaf7940730b83ca93 /core
parentd5321a147b26c80423a4c53428be3b6ff3426e0a (diff)
downloadAntennaPod-8c9b61e599df6124e39066b409f62cfed083d849.zip
Remove 'set lockscreen background' setting (#6385)
Users disable the setting and then wonder why other apps (like Android Auto) do not display the cover image, even though it says so in the setting summary.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java35
1 files changed, 18 insertions, 17 deletions
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 488724665..e512f413f 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
@@ -13,7 +13,6 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.media.AudioManager;
import android.net.Uri;
@@ -43,7 +42,6 @@ import androidx.annotation.StringRes;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.media.MediaBrowserServiceCompat;
-import androidx.preference.PreferenceManager;
import de.danoeh.antennapod.core.service.QuickSettingsTileService;
import de.danoeh.antennapod.core.util.playback.PlayableUtils;
@@ -221,9 +219,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
EventBus.getDefault().register(this);
taskManager = new PlaybackServiceTaskManager(this, taskManagerCallback);
- PreferenceManager.getDefaultSharedPreferences(this)
- .registerOnSharedPreferenceChangeListener(prefListener);
-
recreateMediaSessionIfNeeded();
castStateListener = new CastStateListener(this) {
@Override
@@ -302,7 +297,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
castStateListener.destroy();
cancelPositionObserver();
- PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(prefListener);
if (mediaSession != null) {
mediaSession.release();
mediaSession = null;
@@ -1244,11 +1238,25 @@ public class PlaybackService extends MediaBrowserServiceCompat {
builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, p.getEpisodeTitle());
builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, p.getFeedTitle());
- if (UserPreferences.setLockscreenBackground() && notificationBuilder.isIconCached()) {
+
+ if (notificationBuilder.isIconCached()) {
builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, notificationBuilder.getCachedIcon());
- } else if (isCasting && !TextUtils.isEmpty(p.getImageLocation())) {
- // In the absence of metadata art, the controller dialog takes care of creating it.
- builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, p.getImageLocation());
+ } else {
+ String iconUri = p.getImageLocation();
+ if (p instanceof FeedMedia) { // Don't use embedded cover etc, which Android can't load
+ FeedMedia m = (FeedMedia) p;
+ if (m.getItem() != null) {
+ FeedItem item = m.getItem();
+ if (item.getImageUrl() != null) {
+ iconUri = item.getImageUrl();
+ } else if (item.getFeed() != null) {
+ iconUri = item.getFeed().getImageUrl();
+ }
+ }
+ }
+ if (!TextUtils.isEmpty(iconUri)) {
+ builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, iconUri);
+ }
}
if (stateManager.hasReceivedValidStartCommand()) {
@@ -1820,11 +1828,4 @@ public class PlaybackService extends MediaBrowserServiceCompat {
}
}
};
-
- private final SharedPreferences.OnSharedPreferenceChangeListener prefListener =
- (sharedPreferences, key) -> {
- if (UserPreferences.PREF_LOCKSCREEN_BACKGROUND.equals(key)) {
- updateNotificationAndMediaSession(getPlayable());
- }
- };
}