session-android/app/src/play/kotlin/org/thoughtcrime/securesms/notifications/PushNotificationService.kt

44 lines
1.5 KiB
Kotlin
Raw Normal View History

2021-07-09 05:25:57 +02:00
package org.thoughtcrime.securesms.notifications
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
import dagger.hilt.android.AndroidEntryPoint
import org.session.libsession.messaging.jobs.BatchMessageReceiveJob
import org.session.libsession.messaging.jobs.JobQueue
import org.session.libsession.messaging.jobs.MessageReceiveParameters
2021-04-26 05:12:05 +02:00
import org.session.libsession.messaging.utilities.MessageWrapper
2021-01-18 23:12:44 +01:00
import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.utilities.Base64
2021-05-18 01:12:33 +02:00
import org.session.libsignal.utilities.Log
import javax.inject.Inject
2023-06-20 15:04:10 +02:00
private const val TAG = "PushNotificationService"
@AndroidEntryPoint
2020-04-16 08:56:12 +02:00
class PushNotificationService : FirebaseMessagingService() {
2023-07-26 03:18:20 +02:00
@Inject lateinit var pushManager: PushManager
2023-07-25 07:19:41 +02:00
@Inject lateinit var pushHandler: PushHandler
override fun onNewToken(token: String) {
super.onNewToken(token)
TextSecurePreferences.getLocalNumber(this) ?: return
2023-06-20 15:04:10 +02:00
if (TextSecurePreferences.getFCMToken(this) != token) {
2023-06-14 11:16:28 +02:00
pushManager.refresh(true)
}
}
override fun onMessageReceived(message: RemoteMessage) {
2023-06-20 15:04:10 +02:00
Log.d(TAG, "Received a push notification.")
2023-07-25 07:19:41 +02:00
pushHandler.onPush(message.data)
}
override fun onDeletedMessages() {
2023-06-20 15:04:10 +02:00
Log.d(TAG, "Called onDeletedMessages.")
super.onDeletedMessages()
2023-06-21 03:02:29 +02:00
pushManager.refresh(true)
}
2023-06-20 15:04:10 +02:00
}