Upgraded firebase from v18.0.0 to v24.0.0
parent
2c4b8bf443
commit
76a74f7e9f
@ -1,19 +1,19 @@
|
|||||||
package org.thoughtcrime.securesms.notifications
|
package org.thoughtcrime.securesms.notifications
|
||||||
|
|
||||||
import com.google.android.gms.tasks.Tasks
|
import com.google.firebase.messaging.FirebaseMessaging
|
||||||
import com.google.firebase.iid.FirebaseInstanceId
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
|
import kotlinx.coroutines.tasks.await
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
class FirebaseTokenFetcher @Inject constructor(): TokenFetcher {
|
class FirebaseTokenFetcher @Inject constructor(): TokenFetcher {
|
||||||
|
val TAG = "FirebaseTF"
|
||||||
|
|
||||||
override suspend fun fetch() = withContext(Dispatchers.IO) {
|
override suspend fun fetch() = withContext(Dispatchers.IO) {
|
||||||
FirebaseInstanceId.getInstance().instanceId
|
FirebaseMessaging.getInstance().token.await().takeIf { isActive } ?: throw Exception("Firebase token is null")
|
||||||
.also(Tasks::await)
|
|
||||||
.takeIf { isActive } // don't 'complete' task if we were canceled
|
|
||||||
?.run { result?.token ?: throw exception!! }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue