Update metro to v0.11.2 (#6270)

* Update metro to v0.11.2

* Bind push tests to the right scope .Add a comment so we don't forget to do it for future ones.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
This commit is contained in:
renovate[bot]
2026-03-03 13:39:43 +01:00
committed by GitHub
parent 70d5e1868a
commit 7c97ec1155
7 changed files with 19 additions and 11 deletions

View File

@@ -54,7 +54,7 @@ haze = "1.7.2"
dependencyAnalysis = "3.6.0" dependencyAnalysis = "3.6.0"
# DI # DI
metro = "0.11.1" metro = "0.11.2"
# Auto service # Auto service
autoservice = "1.1.1" autoservice = "1.1.1"

View File

@@ -10,8 +10,8 @@ package io.element.android.libraries.permissions.impl.troubleshoot
import android.Manifest import android.Manifest
import android.os.Build import android.os.Build
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesIntoSet import dev.zacsweers.metro.ContributesIntoSet
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.permissions.api.PermissionStateProvider import io.element.android.libraries.permissions.api.PermissionStateProvider
import io.element.android.libraries.permissions.impl.R import io.element.android.libraries.permissions.impl.R
import io.element.android.libraries.permissions.impl.action.PermissionActions import io.element.android.libraries.permissions.impl.action.PermissionActions
@@ -24,7 +24,7 @@ import io.element.android.services.toolbox.api.strings.StringProvider
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@ContributesIntoSet(AppScope::class) @ContributesIntoSet(SessionScope::class)
class NotificationTroubleshootCheckPermissionTest( class NotificationTroubleshootCheckPermissionTest(
private val permissionStateProvider: PermissionStateProvider, private val permissionStateProvider: PermissionStateProvider,
private val sdkVersionProvider: BuildVersionSdkIntProvider, private val sdkVersionProvider: BuildVersionSdkIntProvider,

View File

@@ -8,8 +8,8 @@
package io.element.android.libraries.push.impl.troubleshoot package io.element.android.libraries.push.impl.troubleshoot
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesIntoSet import dev.zacsweers.metro.ContributesIntoSet
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.push.impl.R import io.element.android.libraries.push.impl.R
import io.element.android.libraries.pushproviders.api.PushProvider import io.element.android.libraries.pushproviders.api.PushProvider
import io.element.android.libraries.troubleshoot.api.test.NotificationTroubleshootTest import io.element.android.libraries.troubleshoot.api.test.NotificationTroubleshootTest
@@ -19,7 +19,7 @@ import io.element.android.services.toolbox.api.strings.StringProvider
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@ContributesIntoSet(AppScope::class) @ContributesIntoSet(SessionScope::class)
class PushProvidersTest( class PushProvidersTest(
pushProviders: Set<@JvmSuppressWildcards PushProvider>, pushProviders: Set<@JvmSuppressWildcards PushProvider>,
private val stringProvider: StringProvider, private val stringProvider: StringProvider,

View File

@@ -8,8 +8,8 @@
package io.element.android.libraries.pushproviders.firebase.troubleshoot package io.element.android.libraries.pushproviders.firebase.troubleshoot
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesIntoSet import dev.zacsweers.metro.ContributesIntoSet
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.pushproviders.firebase.FirebaseConfig import io.element.android.libraries.pushproviders.firebase.FirebaseConfig
import io.element.android.libraries.pushproviders.firebase.IsPlayServiceAvailable import io.element.android.libraries.pushproviders.firebase.IsPlayServiceAvailable
import io.element.android.libraries.pushproviders.firebase.R import io.element.android.libraries.pushproviders.firebase.R
@@ -21,7 +21,7 @@ import io.element.android.services.toolbox.api.strings.StringProvider
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@ContributesIntoSet(AppScope::class) @ContributesIntoSet(SessionScope::class)
class FirebaseAvailabilityTest( class FirebaseAvailabilityTest(
private val isPlayServiceAvailable: IsPlayServiceAvailable, private val isPlayServiceAvailable: IsPlayServiceAvailable,
private val stringProvider: StringProvider, private val stringProvider: StringProvider,

View File

@@ -8,8 +8,8 @@
package io.element.android.libraries.pushproviders.firebase.troubleshoot package io.element.android.libraries.pushproviders.firebase.troubleshoot
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesIntoSet import dev.zacsweers.metro.ContributesIntoSet
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.pushproviders.firebase.FirebaseConfig import io.element.android.libraries.pushproviders.firebase.FirebaseConfig
import io.element.android.libraries.pushproviders.firebase.FirebaseStore import io.element.android.libraries.pushproviders.firebase.FirebaseStore
import io.element.android.libraries.pushproviders.firebase.FirebaseTroubleshooter import io.element.android.libraries.pushproviders.firebase.FirebaseTroubleshooter
@@ -26,7 +26,7 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
@ContributesIntoSet(AppScope::class) @ContributesIntoSet(SessionScope::class)
class FirebaseTokenTest( class FirebaseTokenTest(
private val firebaseStore: FirebaseStore, private val firebaseStore: FirebaseStore,
private val firebaseTroubleshooter: FirebaseTroubleshooter, private val firebaseTroubleshooter: FirebaseTroubleshooter,

View File

@@ -8,8 +8,8 @@
package io.element.android.libraries.pushproviders.unifiedpush.troubleshoot package io.element.android.libraries.pushproviders.unifiedpush.troubleshoot
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesIntoSet import dev.zacsweers.metro.ContributesIntoSet
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.pushproviders.unifiedpush.R import io.element.android.libraries.pushproviders.unifiedpush.R
import io.element.android.libraries.pushproviders.unifiedpush.UnifiedPushConfig import io.element.android.libraries.pushproviders.unifiedpush.UnifiedPushConfig
import io.element.android.libraries.pushproviders.unifiedpush.UnifiedPushDistributorProvider import io.element.android.libraries.pushproviders.unifiedpush.UnifiedPushDistributorProvider
@@ -22,7 +22,7 @@ import io.element.android.services.toolbox.api.strings.StringProvider
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@ContributesIntoSet(AppScope::class) @ContributesIntoSet(SessionScope::class)
class UnifiedPushTest( class UnifiedPushTest(
private val unifiedPushDistributorProvider: UnifiedPushDistributorProvider, private val unifiedPushDistributorProvider: UnifiedPushDistributorProvider,
private val openDistributorWebPageAction: OpenDistributorWebPageAction, private val openDistributorWebPageAction: OpenDistributorWebPageAction,

View File

@@ -8,9 +8,17 @@
package io.element.android.libraries.troubleshoot.api.test package io.element.android.libraries.troubleshoot.api.test
import io.element.android.libraries.di.SessionScope
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
/**
* A test to troubleshoot notifications issues.
* Each test has a state that can be observed to update the UI accordingly.
*
* **IMPORTANT**: classes implementing this should be scoped to [SessionScope], otherwise Metro complains about these not being used:
* the component they're injected into is bound to [SessionScope] and so should these (https://github.com/ZacSweers/metro/issues/1932).
*/
interface NotificationTroubleshootTest { interface NotificationTroubleshootTest {
val order: Int val order: Int
val state: StateFlow<NotificationTroubleshootTestState> val state: StateFlow<NotificationTroubleshootTestState>