From f4c81cf2a280e80512c53019387a719c828e703c Mon Sep 17 00:00:00 2001 From: baheroff Date: Fri, 25 Oct 2024 13:11:16 +0300 Subject: [PATCH] fix crash on not initialized viewControllerClass field --- .../fragments/ViewControllerFragment.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/fragments/ViewControllerFragment.kt b/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/fragments/ViewControllerFragment.kt index 053f9a9..3884ead 100644 --- a/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/fragments/ViewControllerFragment.kt +++ b/navigation-viewcontroller/src/main/java/ru/touchin/roboswag/navigation_viewcontroller/fragments/ViewControllerFragment.kt @@ -80,7 +80,8 @@ open class ViewControllerFragment> private set + var viewControllerClass: Class>? = null + private set private var viewController: ViewController? = null @@ -241,14 +242,14 @@ open class ViewControllerFragment { - if (viewControllerClass.constructors.size != 1) { + if (viewControllerClass?.constructors?.size != 1) { throw IllegalStateException("There should be single constructor for $viewControllerClass") } - val constructor = viewControllerClass.constructors[0] - return when (constructor.parameterTypes.size) { + val constructor = viewControllerClass?.constructors?.get(0) + return when (constructor?.parameterTypes?.size) { 1 -> constructor.newInstance(creationContext) 2 -> constructor.newInstance(creationContext, savedInstanceState) - else -> throw IllegalArgumentException("Wrong constructor parameters count: ${constructor.parameterTypes.size}") + else -> throw IllegalArgumentException("Wrong constructor parameters count: ${constructor?.parameterTypes?.size}") } as ViewController } -- 2.40.1