0
0
mirror of https://github.com/thunderbird/thunderbird-android.git synced 2024-09-19 19:52:14 +02:00

Merge pull request #8135 from thunderbird/remove_earlyinit

Remove `EarlyInit` interface that is no longer necessary
This commit is contained in:
cketti 2024-09-11 11:32:10 +02:00 committed by GitHub
commit a58a052082
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 10 additions and 21 deletions

View File

@ -96,7 +96,7 @@
<ID>TooGenericExceptionCaught:SettingsExporter.kt$SettingsExporter$e: Exception</ID>
<ID>TooManyFunctions:CoreResourceProvider.kt$CoreResourceProvider</ID>
<ID>TooManyFunctions:HttpUriParser.kt$HttpUriParser : UriParser</ID>
<ID>TooManyFunctions:K9.kt$K9 : EarlyInit</ID>
<ID>TooManyFunctions:K9.kt$K9 : KoinComponent</ID>
<ID>TooManyFunctions:K9BackendFolder.kt$K9BackendFolder : BackendFolder</ID>
<ID>TooManyFunctions:MessageListCache.kt$MessageListCache</ID>
<ID>TooManyFunctions:NotificationActionCreator.kt$NotificationActionCreator</ID>

View File

@ -8,12 +8,12 @@ import android.content.Intent
import android.view.View
import android.widget.RemoteViews
import androidx.core.app.PendingIntentCompat
import app.k9mail.legacy.di.EarlyInit
import app.k9mail.legacy.di.inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.launch
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import timber.log.Timber
/**
@ -46,7 +46,7 @@ import timber.log.Timber
* qualified class name that can't ever be changed. Otherwise widgets created with older versions of the app
* will stop working.
*/
abstract class BaseUnreadWidgetProvider : AppWidgetProvider(), EarlyInit {
abstract class BaseUnreadWidgetProvider : AppWidgetProvider(), KoinComponent {
private val repository: UnreadWidgetRepository by inject()
private val widgetScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)

View File

@ -3,17 +3,17 @@ package com.fsck.k9
import android.content.ComponentName
import android.content.Context
import android.content.pm.PackageManager
import app.k9mail.legacy.di.EarlyInit
import app.k9mail.legacy.di.inject
import com.fsck.k9.job.K9JobManager
import com.fsck.k9.mail.internet.BinaryTempFileBody
import com.fsck.k9.notification.NotificationController
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import org.koin.core.qualifier.named
object Core : EarlyInit {
object Core : KoinComponent {
private val context: Context by inject()
private val appConfig: AppConfig by inject()
private val jobManager: K9JobManager by inject()

View File

@ -6,8 +6,6 @@ import app.k9mail.feature.telemetry.api.TelemetryManager
import app.k9mail.legacy.account.Account
import app.k9mail.legacy.account.Account.SortType
import app.k9mail.legacy.di.DI
import app.k9mail.legacy.di.EarlyInit
import app.k9mail.legacy.di.inject
import com.fsck.k9.core.BuildConfig
import com.fsck.k9.mail.K9MailLib
import com.fsck.k9.mailstore.LocalStore
@ -15,11 +13,13 @@ import com.fsck.k9.preferences.RealGeneralSettingsManager
import com.fsck.k9.preferences.Storage
import com.fsck.k9.preferences.StorageEditor
import kotlinx.datetime.Clock
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import timber.log.Timber
import timber.log.Timber.DebugTree
// TODO "Use GeneralSettingsManager and GeneralSettings instead"
object K9 : EarlyInit {
object K9 : KoinComponent {
private val generalSettingsManager: RealGeneralSettingsManager by inject()
private val telemetryManager: TelemetryManager by inject()

View File

@ -5,9 +5,6 @@ import org.koin.android.ext.koin.androidContext
import org.koin.android.ext.koin.androidLogger
import org.koin.core.context.startKoin
import org.koin.core.module.Module
import org.koin.core.parameter.ParametersDefinition
import org.koin.core.qualifier.Qualifier
import org.koin.java.KoinJavaComponent.getKoin
import org.koin.java.KoinJavaComponent.get as koinGet
object DI {
@ -36,11 +33,3 @@ object DI {
return koinGet(T::class.java)
}
}
interface EarlyInit
// Copied from ComponentCallbacks.inject()
inline fun <reified T : Any> EarlyInit.inject(
qualifier: Qualifier? = null,
noinline parameters: ParametersDefinition? = null,
) = lazy { getKoin().get<T>(qualifier, parameters) }