Fix push notification bindings

This commit is contained in:
Jorge Martín
2025-08-25 10:47:42 +02:00
parent dca1c5b516
commit 298fda8bcf
6 changed files with 13 additions and 7 deletions

View File

@@ -289,6 +289,7 @@ dependencies {
implementation(libs.serialization.json) implementation(libs.serialization.json)
implementation(libs.matrix.emojibase.bindings) implementation(libs.matrix.emojibase.bindings)
implementation(libs.unifiedpush)
testImplementation(libs.test.junit) testImplementation(libs.test.junit)
testImplementation(libs.test.robolectric) testImplementation(libs.test.robolectric)

View File

@@ -79,7 +79,7 @@ class ElementCallActivity :
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
applicationContext.bindings<CallBindings>().inject(this) bindings<CallBindings>().inject(this)
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

View File

@@ -64,7 +64,7 @@ class IncomingCallActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
applicationContext.bindings<CallBindings>().inject(this) bindings<CallBindings>().inject(this)
// Set flags so it can be displayed in the lock screen // Set flags so it can be displayed in the lock screen
@Suppress("DEPRECATION") @Suppress("DEPRECATION")

View File

@@ -29,7 +29,7 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
applicationContext.bindings<VectorFirebaseMessagingServiceBindings>().inject(this) bindings<VectorFirebaseMessagingServiceBindings>().inject(this)
} }
override fun onNewToken(token: String) { override fun onNewToken(token: String) {

View File

@@ -10,8 +10,8 @@ package io.element.android.libraries.pushproviders.unifiedpush
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import dev.zacsweers.metro.Inject import dev.zacsweers.metro.Inject
import io.element.android.libraries.architecture.bindings
import io.element.android.libraries.core.log.logger.LoggerTag import io.element.android.libraries.core.log.logger.LoggerTag
import io.element.android.libraries.di.DaggerComponentOwner
import io.element.android.libraries.di.annotations.AppCoroutineScope import io.element.android.libraries.di.annotations.AppCoroutineScope
import io.element.android.libraries.pushproviders.api.PushHandler import io.element.android.libraries.pushproviders.api.PushHandler
import io.element.android.libraries.pushproviders.unifiedpush.registration.EndpointRegistrationHandler import io.element.android.libraries.pushproviders.unifiedpush.registration.EndpointRegistrationHandler
@@ -39,7 +39,7 @@ class VectorUnifiedPushMessagingReceiver : MessagingReceiver() {
@Inject lateinit var coroutineScope: CoroutineScope @Inject lateinit var coroutineScope: CoroutineScope
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
((context.applicationContext as DaggerComponentOwner).daggerComponent as VectorUnifiedPushMessagingReceiverBindings).inject(this) context.bindings<VectorUnifiedPushMessagingReceiverBindings>().inject(this)
super.onReceive(context, intent) super.onReceive(context, intent)
} }

View File

@@ -8,9 +8,14 @@
package io.element.android.libraries.pushproviders.unifiedpush package io.element.android.libraries.pushproviders.unifiedpush
import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.GraphExtension import dev.zacsweers.metro.Binds
import dev.zacsweers.metro.ContributesTo
import org.unifiedpush.android.connector.MessagingReceiver
@GraphExtension(AppScope::class) @ContributesTo(AppScope::class)
interface VectorUnifiedPushMessagingReceiverBindings { interface VectorUnifiedPushMessagingReceiverBindings {
fun inject(receiver: VectorUnifiedPushMessagingReceiver) fun inject(receiver: VectorUnifiedPushMessagingReceiver)
@Binds
fun bindsMessagingReceiver(vectorUnifiedPushMessagingReceiver: VectorUnifiedPushMessagingReceiver): MessagingReceiver
} }