33 lines
1.2 KiB
Kotlin
33 lines
1.2 KiB
Kotlin
/*
|
|
* Copyright 2022-2024 New Vector Ltd.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
* Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
package io.element.android.x
|
|
|
|
import android.app.Application
|
|
import androidx.startup.AppInitializer
|
|
import dev.zacsweers.metro.asContribution
|
|
import io.element.android.features.cachecleaner.api.CacheCleanerInitializer
|
|
import io.element.android.libraries.di.DaggerComponentOwner
|
|
import io.element.android.x.di.AppComponent
|
|
import io.element.android.x.di.globalGraph
|
|
import io.element.android.x.info.logApplicationInfo
|
|
import io.element.android.x.initializer.CrashInitializer
|
|
import io.element.android.x.initializer.PlatformInitializer
|
|
|
|
class ElementXApplication : Application(), DaggerComponentOwner {
|
|
override val daggerComponent: AppComponent = globalGraph.asContribution<AppComponent.Factory>().create(this)
|
|
|
|
override fun onCreate() {
|
|
super.onCreate()
|
|
AppInitializer.getInstance(this).apply {
|
|
initializeComponent(CrashInitializer::class.java)
|
|
initializeComponent(PlatformInitializer::class.java)
|
|
initializeComponent(CacheCleanerInitializer::class.java)
|
|
}
|
|
logApplicationInfo(this)
|
|
}
|
|
}
|