From 29796f51d79eabf23a185a47c91ce50d2d7a5320 Mon Sep 17 00:00:00 2001 From: Clark Date: Tue, 2 May 2023 11:28:28 -0700 Subject: [PATCH] Try calling startForeground in onCreate. --- .../gcm/FcmFetchForegroundService.kt | 26 +++++++++++++------ .../messages/IncomingMessageObserver.kt | 12 +++++++-- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchForegroundService.kt b/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchForegroundService.kt index a57727dc93..1348a74d86 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchForegroundService.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchForegroundService.kt @@ -35,7 +35,25 @@ class FcmFetchForegroundService : Service() { } } + override fun onCreate() { + Log.d(TAG, "onCreate()") + postForegroundNotification() + } + override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { + Log.d(TAG, "onStartCommand()") + postForegroundNotification() + + return if (intent != null && intent.getBooleanExtra(KEY_STOP_SELF, false)) { + stopForeground(true) + stopSelf() + START_NOT_STICKY + } else { + START_STICKY + } + } + + private fun postForegroundNotification() { startForeground( NotificationIds.FCM_FETCH, NotificationCompat.Builder(this, NotificationChannels.getInstance().OTHER) @@ -47,14 +65,6 @@ class FcmFetchForegroundService : Service() { .setVibrate(longArrayOf(0)) .build() ) - - return if (intent != null && intent.getBooleanExtra(KEY_STOP_SELF, false)) { - stopForeground(true) - stopSelf() - START_NOT_STICKY - } else { - START_STICKY - } } override fun onDestroy() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt index b1b0c3e2e1..f027f06222 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt @@ -459,9 +459,19 @@ class IncomingMessageObserver(private val context: Application) { return null } + override fun onCreate() { + postForegroundNotification() + } + override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) + postForegroundNotification() + + return START_STICKY + } + + private fun postForegroundNotification() { val notification = NotificationCompat.Builder(applicationContext, NotificationChannels.getInstance().BACKGROUND) .setContentTitle(applicationContext.getString(R.string.MessageRetrievalService_signal)) .setContentText(applicationContext.getString(R.string.MessageRetrievalService_background_connection_enabled)) @@ -471,8 +481,6 @@ class IncomingMessageObserver(private val context: Application) { .build() startForeground(FOREGROUND_ID, notification) - - return START_STICKY } }