diff --git a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/MviFragment.kt b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/MviFragment.kt index dca3412..6351cae 100644 --- a/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/MviFragment.kt +++ b/mvi-arch/src/main/java/ru/touchin/roboswag/mvi_arch/core/MviFragment.kt @@ -76,6 +76,10 @@ abstract class MviFragment( arguments?.putParcelable(INIT_ARGS_KEY, navArgs) } + protected val navArgs: NavArgs by lazy(mode = LazyThreadSafetyMode.NONE) { + arguments?.getParcelable(INIT_ARGS_KEY) as NavArgs + } + @CallSuper override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) diff --git a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/ComponentHolder.kt b/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/ComponentHolder.kt deleted file mode 100644 index a889623..0000000 --- a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/ComponentHolder.kt +++ /dev/null @@ -1,20 +0,0 @@ -package ru.touchin.roboswag.navigation_cicerone.flow - -import me.vponomarenko.injectionmanager.customlifecycle.StoredComponent -import ru.touchin.roboswag.navigation_base.scopes.FeatureScope -import javax.inject.Inject - -@FeatureScope -class ComponentHolder @Inject constructor(){ - - private var storedComponent: StoredComponent? = null - - fun setStoredComponent(storedComponent: StoredComponent) { - this.storedComponent = storedComponent - } - - fun destroy() { - storedComponent?.lifecycle?.destroy() - } - -} diff --git a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt b/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt index c7fce66..9849a3a 100644 --- a/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt +++ b/navigation-cicerone/src/main/java/ru/touchin/roboswag/navigation_cicerone/flow/FlowFragment.kt @@ -6,14 +6,12 @@ import android.view.View import androidx.activity.OnBackPressedCallback import androidx.annotation.IdRes import androidx.fragment.app.Fragment -import me.vponomarenko.injectionmanager.customlifecycle.StoredComponent import ru.terrakok.cicerone.Navigator import ru.terrakok.cicerone.NavigatorHolder import ru.terrakok.cicerone.Router import ru.terrakok.cicerone.android.support.SupportAppNavigator import ru.terrakok.cicerone.android.support.SupportAppScreen import ru.touchin.mvi_arch.core_nav.R -import ru.touchin.roboswag.navigation_base.scopes.FeatureScope import ru.touchin.roboswag.navigation_cicerone.CiceroneTuner import javax.inject.Inject @@ -27,15 +25,8 @@ abstract class FlowFragment : Fragment(R.layout.fragment_flow) { @FlowNavigation lateinit var router: Router - @Inject - @FeatureScope - lateinit var componentHolder: ComponentHolder - override fun onAttach(context: Context) { - if (!injectExistedComponent()) { - val storedComponent = injectComponent() - componentHolder.setStoredComponent(storedComponent) - } + injectComponent() super.onAttach(context) } @@ -46,9 +37,7 @@ abstract class FlowFragment : Fragment(R.layout.fragment_flow) { } } - abstract fun injectComponent(): StoredComponent - - abstract fun injectExistedComponent(): Boolean + abstract fun injectComponent() override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -70,7 +59,6 @@ abstract class FlowFragment : Fragment(R.layout.fragment_flow) { private val exitRouterOnBackPressed = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { - componentHolder.destroy() router.exit() } }