diff --git a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt index b5a695372..86ce79a66 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt @@ -22,7 +22,14 @@ import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.di.components.KiwixComponent private val BaseActivity.kiwixComponent: KiwixComponent - get() = (applicationContext as KiwixApp).kiwixComponent + get() = kiwixApp()?.kiwixComponent ?: throw RuntimeException( + """ + applicationContext is ${applicationContext::class.java.simpleName} + application is ${application::class.java.simpleName} + """.trimIndent() + ) + +private fun BaseActivity.kiwixApp() = applicationContext as? KiwixApp ?: application as? KiwixApp internal inline val BaseActivity.kiwixActivityComponent get() = kiwixComponent diff --git a/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt b/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt index 8c296ee66..42ef9e1c5 100644 --- a/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt +++ b/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt @@ -22,7 +22,14 @@ import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.custom.di.CustomComponent private val BaseActivity.customComponent: CustomComponent - get() = (applicationContext as CustomApp).customComponent + get() = customApp()?.customComponent ?: throw RuntimeException( + """ + applicationContext is ${applicationContext::class.java.simpleName} + application is ${application::class.java.simpleName} + """.trimIndent() + ) + +private fun BaseActivity.customApp() = applicationContext as? CustomApp ?: application as? CustomApp internal inline val BaseActivity.customActivityComponent get() = customComponent.activityComponentBuilder().activity(this).build()