diff options
Diffstat (limited to 'src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java')
-rw-r--r-- | src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java b/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java index 9368913bc..5706a487a 100644 --- a/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java +++ b/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java @@ -3,6 +3,7 @@ package de.pixart.messenger.services; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.support.v4.content.ContextCompat; import android.util.Log; import com.google.firebase.iid.FirebaseInstanceId; @@ -10,6 +11,7 @@ import com.google.firebase.iid.FirebaseInstanceId; import java.io.IOException; import de.pixart.messenger.Config; +import de.pixart.messenger.utils.Compatibility; public class MaintenanceReceiver extends BroadcastReceiver { @Override @@ -25,9 +27,14 @@ public class MaintenanceReceiver extends BroadcastReceiver { new Thread(() -> { try { FirebaseInstanceId.getInstance().deleteInstanceId(); - Intent intent = new Intent(context, XmppConnectionService.class); + final Intent intent = new Intent(context, XmppConnectionService.class); intent.setAction(XmppConnectionService.ACTION_FCM_TOKEN_REFRESH); - context.startService(intent); + if (Compatibility.runsAndTargetsTwentySix(context)) { + intent.putExtra(EventReceiver.EXTRA_NEEDS_FOREGROUND_SERVICE, true); + ContextCompat.startForegroundService(context, intent); + } else { + context.startService(intent); + } } catch (IOException e) { Log.d(Config.LOGTAG, "unable to renew instance token", e); } |