Remove PushNotificationManager

This commit is contained in:
andrew
2023-06-09 14:50:45 +09:30
parent ba6eca2443
commit 3f6229f841
9 changed files with 87 additions and 182 deletions

View File

@@ -93,15 +93,15 @@ class FirebasePushManager(private val context: Context, private val prefs: TextS
return content
}
override fun register(force: Boolean) {
override fun refresh(force: Boolean) {
firebaseInstanceIdJob?.apply {
if (force) cancel() else if (isActive) return
}
firebaseInstanceIdJob = getFcmInstanceId { register(it, force) }
firebaseInstanceIdJob = getFcmInstanceId { refresh(it, force) }
}
private fun register(task: Task<InstanceIdResult>, force: Boolean) {
private fun refresh(task: Task<InstanceIdResult>, force: Boolean) {
// context in here is Dispatchers.IO
if (!task.isSuccessful) {
Log.w(

View File

@@ -8,6 +8,7 @@ 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
import org.session.libsession.messaging.sending_receiving.notifications.PushNotificationAPI
import org.session.libsession.messaging.utilities.MessageWrapper
import org.session.libsession.utilities.TextSecurePreferences
import org.session.libsignal.utilities.Base64
@@ -23,7 +24,7 @@ class PushNotificationService : FirebaseMessagingService() {
super.onNewToken(token)
Log.d("Loki", "New FCM token: $token.")
TextSecurePreferences.getLocalNumber(this) ?: return
pushManager.register(true)
pushManager.refresh(true)
}
override fun onMessageReceived(message: RemoteMessage) {
@@ -53,22 +54,18 @@ class PushNotificationService : FirebaseMessagingService() {
Log.d("Loki", "Failed to decode data for message.")
val builder = NotificationCompat.Builder(this, NotificationChannels.OTHER)
.setSmallIcon(network.loki.messenger.R.drawable.ic_notification)
.setColor(this.getResources().getColor(network.loki.messenger.R.color.textsecure_primary))
.setColor(resources.getColor(network.loki.messenger.R.color.textsecure_primary))
.setContentTitle("Session")
.setContentText("You've got a new message.")
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setAutoCancel(true)
with(NotificationManagerCompat.from(this)) {
notify(11111, builder.build())
}
NotificationManagerCompat.from(this).notify(11111, builder.build())
}
}
override fun onDeletedMessages() {
Log.d("Loki", "Called onDeletedMessages.")
super.onDeletedMessages()
val token = TextSecurePreferences.getFCMToken(this)!!
val userPublicKey = TextSecurePreferences.getLocalNumber(this) ?: return
PushNotificationManager.register(token, userPublicKey, this, true)
PushNotificationAPI.register()
}
}