summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2019-10-06 12:44:43 +0200
committerByteHamster <info@bytehamster.com>2019-10-06 12:45:22 +0200
commit6f809b47e6a3d2929eaf31830bc0aa2b8abd87bb (patch)
tree0f2db808cd0fb2b563a924a9927f21bc6bbe5b35
parentb2d9455d6c8ac719b1c6a21061ce83848bf89ddb (diff)
downloadAntennaPod-6f809b47e6a3d2929eaf31830bc0aa2b8abd87bb.zip
Speeding up notification update
startForeground() is significantly slower than just notify()
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java6
1 files changed, 5 insertions, 1 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 b00b2c240..5ae660fe1 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
@@ -1184,6 +1184,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
}
private synchronized void setupNotification(final Playable playable) {
+ Log.d(TAG, "setupNotification");
if (notificationSetupThread != null) {
notificationSetupThread.interrupt();
}
@@ -1200,6 +1201,9 @@ public class PlaybackService extends MediaBrowserServiceCompat {
notificationBuilder.setMetadata(playable, mediaSession.getSessionToken(), playerStatus, isCasting);
notificationBuilder.updatePosition(getCurrentPosition(), getCurrentPlaybackSpeed());
+ Log.d(TAG, "setupNotification: startForeground" + playerStatus);
+ NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
+ notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());
startForegroundIfPlaying(playerStatus);
if (!notificationBuilder.isIconCached()) {
@@ -1207,7 +1211,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
Log.d(TAG, "Loading notification icon");
notificationBuilder.loadIcon();
if (!Thread.currentThread().isInterrupted()) {
- startForegroundIfPlaying(playerStatus);
+ notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());
}
});
notificationSetupThread.start();