app: convert KotlinInitializer to androidx.startup
authorDa Risk <da_risk@geekorum.com>
Wed, 12 Jan 2022 14:55:04 -0400
changeset 874 c759c3dedd91
parent 873 497c741f9c62
child 875 d422a84b6583
app: convert KotlinInitializer to androidx.startup
app/src/main/AndroidManifest.xml
app/src/main/java/com/geekorum/ttrss/debugtools/StrictMode.kt
--- a/app/src/main/AndroidManifest.xml	Wed Jan 12 14:36:14 2022 -0400
+++ b/app/src/main/AndroidManifest.xml	Wed Jan 12 14:55:04 2022 -0400
@@ -161,6 +161,9 @@
             <meta-data android:name="com.geekorum.ttrss.debugtools.StrictModeInitializer"
                 android:value="androidx.startup" />
 
+            <meta-data android:name="com.geekorum.ttrss.debugtools.KotlinInitializer"
+                android:value="androidx.startup" />
+
         </provider>
 
 
--- a/app/src/main/java/com/geekorum/ttrss/debugtools/StrictMode.kt	Wed Jan 12 14:36:14 2022 -0400
+++ b/app/src/main/java/com/geekorum/ttrss/debugtools/StrictMode.kt	Wed Jan 12 14:55:04 2022 -0400
@@ -20,7 +20,6 @@
  */
 package com.geekorum.ttrss.debugtools
 
-import android.app.Application
 import android.content.Context
 import android.os.Build
 import android.os.StrictMode
@@ -38,7 +37,6 @@
 import kotlinx.coroutines.Dispatchers
 import timber.log.Timber
 import java.util.concurrent.Executors
-import javax.inject.Inject
 import kotlin.jvm.internal.Reflection
 
 private const val TAG = "StrictMode"
@@ -115,8 +113,9 @@
 /**
  * Initialize some kotlin functionality eagerly to avoid a DiskReadViolation out of our control
  */
-class KotlinInitializer @Inject constructor() : AppInitializer {
-    override fun initialize(app: Application) {
+class KotlinInitializer : Initializer<Unit> {
+
+    override fun create(context: Context) {
         // load Dispatchers.Main at application start
         withStrictMode(allowThreadDiskReads()) {
             Dispatchers.Main
@@ -124,15 +123,8 @@
             Timber.d("initialize kotlin Klass with class $k")
         }
     }
-}
 
-@Module
-@InstallIn(SingletonComponent::class)
-abstract class KotlinInitializerModule {
-    @Binds
-    @IntoSet
-    abstract fun bindKotlinInitializer(kotlinInitializer: KotlinInitializer): AppInitializer
-
+    override fun dependencies(): List<Class<out Initializer<*>>> = listOf(StrictModeInitializer::class.java)
 }
 
 /**