aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 3f9ac5f99..1735e455f 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -4,6 +4,7 @@ import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.AlarmManager;
+import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
@@ -1301,13 +1302,19 @@ public class XmppConnectionService extends Service {
private void toggleForegroundService(boolean force) {
final boolean status;
if (force || mForceForegroundService.get() || (Compatibility.keepForegroundService(this)/* && hasEnabledAccounts()*/)) {
- startForeground(NotificationService.FOREGROUND_NOTIFICATION_ID, this.mNotificationService.createForegroundNotification());
+ final Notification notification = this.mNotificationService.createForegroundNotification();
+ startForeground(NotificationService.FOREGROUND_NOTIFICATION_ID, notification);
+ if (!mForceForegroundService.get()) {
+ mNotificationService.notify(NotificationService.FOREGROUND_NOTIFICATION_ID, notification);
+ }
status = true;
} else {
stopForeground(true);
status = false;
}
- mNotificationService.dismissForcedForegroundNotification(); //if the channel was changed the previous call might fail
+ if (!mForceForegroundService.get()) {
+ mNotificationService.dismissForcedForegroundNotification(); //if the channel was changed the previous call might fail
+ }
Log.d(Config.LOGTAG, "ForegroundService: " + (status ? "on" : "off"));
}