Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding

This commit is contained in:
Benoit Marty 2025-10-22 18:37:13 +02:00
parent 27a6e6aa82
commit 263e761907
273 changed files with 1 additions and 545 deletions

View file

@ -9,14 +9,12 @@ package io.element.android.libraries.push.impl
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.push.api.GetCurrentPushProvider
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
import io.element.android.services.appnavstate.api.AppNavigationStateService
import io.element.android.services.appnavstate.api.currentSessionId
@ContributesBinding(AppScope::class)
@Inject
class DefaultGetCurrentPushProvider(
private val pushStoreFactory: UserPushStoreFactory,
private val appNavigationStateService: AppNavigationStateService,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import dev.zacsweers.metro.binding
import io.element.android.libraries.matrix.api.MatrixClient
@ -31,7 +30,6 @@ import timber.log.Timber
@ContributesBinding(AppScope::class, binding = binding<PushService>())
@SingleIn(AppScope::class)
@Inject
class DefaultPushService(
private val testPush: TestPush,
private val userPushStoreFactory: UserPushStoreFactory,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.appconfig.PushConfig
import io.element.android.libraries.core.extensions.mapFailure
import io.element.android.libraries.core.log.logger.LoggerTag
@ -30,7 +29,6 @@ internal const val DEFAULT_PUSHER_FILE_TAG = "mobile"
private val loggerTag = LoggerTag("DefaultPusherSubscriber", LoggerTag.PushLoggerTag)
@ContributesBinding(AppScope::class)
@Inject
class DefaultPusherSubscriber(
private val buildMeta: BuildMeta,
private val pushClientSecret: PushClientSecret,

View file

@ -17,7 +17,6 @@ import androidx.core.content.getSystemService
import androidx.core.net.toUri
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.services.toolbox.api.intent.ExternalIntentLauncher
import timber.log.Timber
@ -45,7 +44,6 @@ interface BatteryOptimization {
}
@ContributesBinding(AppScope::class)
@Inject
class AndroidBatteryOptimization(
@ApplicationContext
private val context: Context,

View file

@ -13,7 +13,6 @@ import android.os.PowerManager
import androidx.core.content.getSystemService
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
@ -23,7 +22,6 @@ import io.element.android.libraries.push.impl.db.PushHistory
import io.element.android.services.toolbox.api.systemclock.SystemClock
@ContributesBinding(AppScope::class)
@Inject
class DefaultPushHistoryService(
private val pushDatabase: PushDatabase,
private val systemClock: SystemClock,

View file

@ -11,7 +11,6 @@ import android.service.notification.StatusBarNotification
import androidx.core.app.NotificationManagerCompat
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.core.extensions.runCatchingExceptions
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId
@ -28,7 +27,6 @@ interface ActiveNotificationsProvider {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultActiveNotificationsProvider(
private val notificationManager: NotificationManagerCompat,
) : ActiveNotificationsProvider {

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.notifications
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.core.extensions.runCatchingExceptions
import io.element.android.libraries.matrix.api.MatrixClientProvider
import io.element.android.libraries.matrix.api.core.SessionId
@ -47,7 +46,6 @@ interface CallNotificationEventResolver {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultCallNotificationEventResolver(
private val stringProvider: StringProvider,
private val appForegroundStateService: AppForegroundStateService,

View file

@ -12,7 +12,6 @@ import android.net.Uri
import androidx.core.content.FileProvider
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.libraries.core.extensions.flatMap
import io.element.android.libraries.core.extensions.runCatchingExceptions
@ -78,7 +77,6 @@ interface NotifiableEventResolver {
@ContributesBinding(AppScope::class)
@SingleIn(AppScope::class)
@Inject
class DefaultNotifiableEventResolver(
private val stringProvider: StringProvider,
private val matrixClientProvider: MatrixClientProvider,

View file

@ -18,7 +18,6 @@ import coil3.toBitmap
import coil3.transform.CircleCropTransformation
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.libraries.matrix.api.media.MediaSource
import io.element.android.libraries.matrix.ui.media.AVATAR_THUMBNAIL_SIZE_IN_PIXEL
@ -28,7 +27,6 @@ import io.element.android.services.toolbox.api.sdk.BuildVersionSdkIntProvider
import timber.log.Timber
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationBitmapLoader(
@ApplicationContext private val context: Context,
private val sdkIntProvider: BuildVersionSdkIntProvider,

View file

@ -11,7 +11,6 @@ import androidx.annotation.VisibleForTesting
import androidx.core.app.NotificationManagerCompat
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.libraries.core.data.tryOrNull
import io.element.android.libraries.core.log.logger.LoggerTag
@ -45,7 +44,6 @@ private val loggerTag = LoggerTag("DefaultNotificationDrawerManager", LoggerTag.
*/
@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationDrawerManager(
private val notificationManager: NotificationManagerCompat,
private val notificationRenderer: NotificationRenderer,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.notifications
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.matrix.api.MatrixClientProvider
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
@ -17,7 +16,6 @@ import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.push.api.notifications.OnMissedCallNotificationHandler
@ContributesBinding(AppScope::class)
@Inject
class DefaultOnMissedCallNotificationHandler(
private val matrixClientProvider: MatrixClientProvider,
private val defaultNotificationDrawerManager: DefaultNotificationDrawerManager,

View file

@ -15,7 +15,6 @@ import androidx.core.text.inSpans
import coil3.ImageLoader
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.user.MatrixUser
@ -54,7 +53,6 @@ interface NotificationDataFactory {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationDataFactory(
private val notificationCreator: NotificationCreator,
private val roomGroupMessageCreator: RoomGroupMessageCreator,

View file

@ -15,7 +15,6 @@ import androidx.core.app.ActivityCompat
import androidx.core.app.NotificationManagerCompat
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.ApplicationContext
import timber.log.Timber
@ -27,7 +26,6 @@ interface NotificationDisplayer {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationDisplayer(
@ApplicationContext private val context: Context,
private val notificationManager: NotificationManagerCompat

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.notifications
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.libraries.androidutils.json.JsonProvider
import io.element.android.libraries.di.annotations.AppCoroutineScope
@ -43,7 +42,6 @@ interface NotificationResolverQueue {
@OptIn(ExperimentalCoroutinesApi::class)
@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationResolverQueue(
private val notifiableEventResolver: NotifiableEventResolver,
@AppCoroutineScope

View file

@ -11,14 +11,12 @@ import android.content.Intent
import androidx.core.app.RemoteInput
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
interface ReplyMessageExtractor {
fun getReplyMessage(intent: Intent): String?
}
@ContributesBinding(AppScope::class)
@Inject
class AndroidReplyMessageExtractor : ReplyMessageExtractor {
override fun getReplyMessage(intent: Intent): String? {
return RemoteInput.getResultsFromIntent(intent)

View file

@ -12,7 +12,6 @@ import android.graphics.Bitmap
import coil3.ImageLoader
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.push.api.notifications.NotificationBitmapLoader
@ -33,7 +32,6 @@ interface RoomGroupMessageCreator {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultRoomGroupMessageCreator(
private val bitmapLoader: NotificationBitmapLoader,
private val stringProvider: StringProvider,

View file

@ -10,7 +10,6 @@ package io.element.android.libraries.push.impl.notifications
import android.app.Notification
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.push.impl.R
import io.element.android.libraries.push.impl.notifications.factories.NotificationCreator
@ -36,7 +35,6 @@ interface SummaryGroupMessageCreator {
* https://developer.android.com/training/notify-user/group
*/
@ContributesBinding(AppScope::class)
@Inject
class DefaultSummaryGroupMessageCreator(
private val stringProvider: StringProvider,
private val notificationCreator: NotificationCreator,

View file

@ -20,7 +20,6 @@ import androidx.core.app.NotificationChannelCompat
import androidx.core.app.NotificationManagerCompat
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.appconfig.NotificationConfig
import io.element.android.libraries.di.annotations.ApplicationContext
@ -62,7 +61,6 @@ private fun supportNotificationChannels() = Build.VERSION.SDK_INT >= Build.VERSI
@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationChannels(
private val notificationManager: NotificationManagerCompat,
private val stringProvider: StringProvider,

View file

@ -16,7 +16,6 @@ import androidx.core.content.pm.ShortcutManagerCompat
import androidx.core.graphics.drawable.IconCompat
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.features.lockscreen.api.LockScreenService
import io.element.android.libraries.core.coroutine.withPreviousValue
@ -46,7 +45,6 @@ import timber.log.Timber
@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationConversationService(
@ApplicationContext private val context: Context,
private val intentProvider: IntentProvider,

View file

@ -19,7 +19,6 @@ import androidx.core.content.res.ResourcesCompat
import coil3.ImageLoader
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.appconfig.NotificationConfig
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.designsystem.utils.CommonDrawables
@ -86,7 +85,6 @@ interface NotificationCreator {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultNotificationCreator(
@ApplicationContext private val context: Context,
private val notificationChannels: NotificationChannels,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.push
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import dev.zacsweers.metro.SingleIn
import io.element.android.features.call.api.CallType
import io.element.android.features.call.api.ElementCallEntryPoint
@ -51,7 +50,6 @@ private val loggerTag = LoggerTag("PushHandler", LoggerTag.PushLoggerTag)
@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
@Inject
class DefaultPushHandler(
private val onNotifiableEventReceived: OnNotifiableEventReceived,
private val onRedactedEventReceived: OnRedactedEventReceived,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.push
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.api.FeatureFlags
@ -23,7 +22,6 @@ import timber.log.Timber
import kotlin.time.Duration.Companion.seconds
@ContributesBinding(AppScope::class)
@Inject
class DefaultSyncOnNotifiableEvent(
private val matrixClientProvider: MatrixClientProvider,
private val featureFlagService: FeatureFlagService,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.push
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.push.impl.store.DefaultPushDataStore
interface IncrementPushDataStore {
@ -17,7 +16,6 @@ interface IncrementPushDataStore {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultIncrementPushDataStore(
private val defaultPushDataStore: DefaultPushDataStore
) : IncrementPushDataStore {

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.push
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.push.impl.store.DefaultPushDataStore
interface MutableBatteryOptimizationStore {
@ -19,7 +18,6 @@ interface MutableBatteryOptimizationStore {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultMutableBatteryOptimizationStore(
private val defaultPushDataStore: DefaultPushDataStore,
) : MutableBatteryOptimizationStore {

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.push
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.AppCoroutineScope
import io.element.android.libraries.push.impl.notifications.DefaultNotificationDrawerManager
import io.element.android.libraries.push.impl.notifications.model.NotifiableEvent
@ -22,7 +21,6 @@ interface OnNotifiableEventReceived {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultOnNotifiableEventReceived(
private val defaultNotificationDrawerManager: DefaultNotificationDrawerManager,
@AppCoroutineScope

View file

@ -16,7 +16,6 @@ import androidx.core.text.buildSpannedString
import androidx.core.text.inSpans
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.di.annotations.AppCoroutineScope
import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.libraries.push.impl.notifications.ActiveNotificationsProvider
@ -34,7 +33,6 @@ interface OnRedactedEventReceived {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultOnRedactedEventReceived(
private val activeNotificationsProvider: ActiveNotificationsProvider,
private val notificationDisplayer: NotificationDisplayer,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.pushgateway
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.network.RetrofitFactory
interface PushGatewayApiFactory {
@ -17,7 +16,6 @@ interface PushGatewayApiFactory {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultPushGatewayApiFactory(
private val retrofitFactory: RetrofitFactory,
) : PushGatewayApiFactory {

View file

@ -8,7 +8,6 @@ package io.element.android.libraries.push.impl.pushgateway
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.push.api.gateway.PushGatewayFailure
@ -26,7 +25,6 @@ interface PushGatewayNotifyRequest {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultPushGatewayNotifyRequest(
private val pushGatewayApiFactory: PushGatewayApiFactory,
) : PushGatewayNotifyRequest {

View file

@ -13,7 +13,6 @@ import app.cash.sqldelight.coroutines.asFlow
import app.cash.sqldelight.coroutines.mapToList
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.dateformatter.api.DateFormatter
import io.element.android.libraries.dateformatter.api.DateFormatterMode
@ -30,7 +29,6 @@ import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
@ContributesBinding(AppScope::class)
@Inject
class DefaultPushDataStore(
private val pushDatabase: PushDatabase,
private val dateFormatter: DateFormatter,

View file

@ -9,7 +9,6 @@ package io.element.android.libraries.push.impl.test
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
import dev.zacsweers.metro.Inject
import io.element.android.appconfig.PushConfig
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
@ -21,7 +20,6 @@ interface TestPush {
}
@ContributesBinding(AppScope::class)
@Inject
class DefaultTestPush(
private val pushGatewayNotifyRequest: PushGatewayNotifyRequest,
) : TestPush {