--- a/app/src/main/AndroidManifest.xml Wed Jan 12 14:27:20 2022 -0400
+++ b/app/src/main/AndroidManifest.xml Wed Jan 12 14:36:14 2022 -0400
@@ -158,6 +158,9 @@
<meta-data android:name="com.geekorum.ttrss.background_job.BackgroundJobManagerInitializer"
android:value="androidx.startup" />
+ <meta-data android:name="com.geekorum.ttrss.debugtools.StrictModeInitializer"
+ android:value="androidx.startup" />
+
</provider>
--- a/app/src/main/java/com/geekorum/ttrss/Application.kt Wed Jan 12 14:27:20 2022 -0400
+++ b/app/src/main/java/com/geekorum/ttrss/Application.kt Wed Jan 12 14:36:14 2022 -0400
@@ -59,11 +59,7 @@
}
protected open fun sortAppInitializers(initializers: Set<AppInitializer>): List<AppInitializer> {
- val result = mutableListOf<AppInitializer>()
- val strictModeInitializer = initializers.find { it is StrictModeInitializer }
- strictModeInitializer?.let { result.add(it) }
- result.addAll(initializers)
- return result.distinct()
+ return initializers.toList()
}
override fun getWorkManagerConfiguration(): Configuration = workManagerConfig
--- a/app/src/main/java/com/geekorum/ttrss/debugtools/StrictMode.kt Wed Jan 12 14:27:20 2022 -0400
+++ b/app/src/main/java/com/geekorum/ttrss/debugtools/StrictMode.kt Wed Jan 12 14:36:14 2022 -0400
@@ -21,14 +21,14 @@
package com.geekorum.ttrss.debugtools
import android.app.Application
-import android.content.ContentResolver
+import android.content.Context
import android.os.Build
import android.os.StrictMode
import android.os.StrictMode.allowThreadDiskReads
import android.os.strictmode.Violation
import androidx.annotation.RequiresApi
+import androidx.startup.Initializer
import com.geekorum.geekdroid.dagger.AppInitializer
-import com.geekorum.geekdroid.dagger.AppInitializersModule
import com.geekorum.ttrss.BuildConfig
import dagger.Binds
import dagger.Module
@@ -46,13 +46,17 @@
/**
* Configure StrictMode policies
*/
-class StrictModeInitializer @Inject constructor() : AppInitializer {
+class StrictModeInitializer : Initializer<Unit> {
private val listenerExecutor by lazy { Executors.newSingleThreadExecutor() }
@delegate:RequiresApi(Build.VERSION_CODES.P)
private val violationListener: ViolationListener by lazy { ViolationListener() }
- override fun initialize(app: Application) {
+ override fun create(context: Context) {
+ initialize()
+ }
+
+ fun initialize() {
StrictMode.setVmPolicy(StrictMode.VmPolicy.Builder()
.detectActivityLeaks()
.detectCleartextNetwork()
@@ -103,15 +107,8 @@
}
}
-}
-
+ override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
-@Module(includes = [AppInitializersModule::class])
-@InstallIn(SingletonComponent::class)
-abstract class StrictModeModule {
- @Binds
- @IntoSet
- abstract fun bindStrictModeInitializer(strictModeInitializer: StrictModeInitializer): AppInitializer
}