diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java b/app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java index f708c4391..7b828eb6a 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java +++ b/app/src/main/java/app/fedilab/android/mastodon/jobs/NotificationsWorker.java @@ -18,6 +18,7 @@ import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; +import android.content.pm.ServiceInfo; import android.graphics.BitmapFactory; import android.os.Build; @@ -74,7 +75,12 @@ public class NotificationsWorker extends Worker { .setContentText(getApplicationContext().getString(R.string.fetch_notifications)) .setDefaults(NotificationCompat.DEFAULT_ALL) .setPriority(Notification.PRIORITY_DEFAULT); - return Futures.immediateFuture(new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build())); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + return Futures.immediateFuture(new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC)); + } else { + return Futures.immediateFuture(new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build())); + } } @NonNull @@ -97,7 +103,12 @@ public class NotificationsWorker extends Worker { .setDefaults(NotificationCompat.DEFAULT_ALL) .setSilent(true) .setPriority(Notification.PRIORITY_LOW); - return new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build()); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + return new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build(), ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC); + } else { + return new ForegroundInfo(FETCH_NOTIFICATION_CHANNEL_ID, notificationBuilder.build()); + } } @NonNull |