From 13fb7494ba8420191490d602ec76fb54a9cb95d7 Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Wed, 29 Jan 2020 11:28:24 +0000 Subject: [PATCH 1/2] #1727 CrashReport 3.1.3: ClassCastException getActivityComponent - rewrite to fallback - more verbose error message --- .../java/org/kiwix/kiwixmobile/ActivityExtensions.kt | 11 ++++++++++- .../kiwix/kiwixmobile/custom/ActivityExtensions.kt | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt index b5a695372..d4bf9c735 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt @@ -22,7 +22,16 @@ 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..879eb93a5 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,15 @@ 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() From 5679ae9a7d583d96bef0d6a36d7e52f190f063f2 Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Wed, 29 Jan 2020 11:35:14 +0000 Subject: [PATCH 2/2] #1727 CrashReport 3.1.3: ClassCastException getActivityComponent - fix codefactor issues --- .../java/org/kiwix/kiwixmobile/ActivityExtensions.kt | 12 +++++------- .../kiwix/kiwixmobile/custom/ActivityExtensions.kt | 5 ++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt index d4bf9c735..86ce79a66 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/ActivityExtensions.kt @@ -22,16 +22,14 @@ import org.kiwix.kiwixmobile.core.base.BaseActivity import org.kiwix.kiwixmobile.di.components.KiwixComponent private val BaseActivity.kiwixComponent: KiwixComponent - get() = kiwixApp()?.kiwixComponent - ?: throw RuntimeException( - """ + get() = kiwixApp()?.kiwixComponent ?: throw RuntimeException( + """ applicationContext is ${applicationContext::class.java.simpleName} application is ${application::class.java.simpleName} - """".trimIndent() - ) + """.trimIndent() + ) -private fun BaseActivity.kiwixApp() = - (applicationContext as? KiwixApp) ?: (application as? KiwixApp) +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 879eb93a5..42ef9e1c5 100644 --- a/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt +++ b/custom/src/main/java/org/kiwix/kiwixmobile/custom/ActivityExtensions.kt @@ -26,11 +26,10 @@ private val BaseActivity.customComponent: CustomComponent """ applicationContext is ${applicationContext::class.java.simpleName} application is ${application::class.java.simpleName} - """".trimIndent() + """.trimIndent() ) -private fun BaseActivity.customApp() = - (applicationContext as? CustomApp) ?: (application as? CustomApp) +private fun BaseActivity.customApp() = applicationContext as? CustomApp ?: application as? CustomApp internal inline val BaseActivity.customActivityComponent get() = customComponent.activityComponentBuilder().activity(this).build()