diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2023-03-31 22:18:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-31 22:18:37 +0200 |
commit | 8c9b61e599df6124e39066b409f62cfed083d849 (patch) | |
tree | 85e8bbf97ad3f973db9ef8fcaf7940730b83ca93 /core | |
parent | d5321a147b26c80423a4c53428be3b6ff3426e0a (diff) | |
download | AntennaPod-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.java | 35 |
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()); - } - }; } |