Updated on 2026-08-14

This commit is contained in:
Tangem 2024-06-13 13:01:45 +04:00
parent 40e0a8d0e5
commit ad88ca4b08
5 changed files with 11 additions and 15 deletions

View file

@ -5,9 +5,4 @@ import androidx.fragment.app.Fragment
interface QrScanningRouter {
fun getEntryFragment(): Fragment
companion object {
const val SOURCE_KEY = "source"
const val NETWORK_KEY = "network"
}
}

View file

@ -16,6 +16,7 @@ dependencies {
implementation(projects.core.ui)
implementation(projects.core.utils)
implementation(projects.core.navigation)
implementation(projects.common.routing)
implementation(deps.androidx.fragment.ktx)
implementation(deps.androidx.activity.compose)

View file

@ -1,6 +1,6 @@
package com.tangem.feature.qrscanning.di
import com.tangem.core.navigation.ReduxNavController
import com.tangem.common.routing.AppRouter
import com.tangem.feature.qrscanning.QrScanningRouter
import com.tangem.feature.qrscanning.navigation.DefaultQrScanningRouter
import dagger.Module
@ -15,7 +15,7 @@ internal object QrScanningRouterModule {
@Provides
@ActivityScoped
fun provideQrScanRouter(reduxNavController: ReduxNavController): QrScanningRouter {
return DefaultQrScanningRouter(reduxNavController)
fun provideQrScanRouter(appRouter: AppRouter): QrScanningRouter {
return DefaultQrScanningRouter(appRouter)
}
}

View file

@ -1,15 +1,16 @@
package com.tangem.feature.qrscanning.navigation
import androidx.fragment.app.Fragment
import com.tangem.core.navigation.ReduxNavController
import com.tangem.common.routing.AppRouter
import com.tangem.feature.qrscanning.QrScanningFragment
class DefaultQrScanningRouter(
private val reduxNavController: ReduxNavController,
private val router: AppRouter,
) : QrScanningInnerRouter {
override fun getEntryFragment(): Fragment = QrScanningFragment.create()
override fun popBackStack() {
reduxNavController.popBackStack()
router.pop()
}
}

View file

@ -3,8 +3,7 @@ package com.tangem.feature.qrscanning.viewmodel
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.tangem.feature.qrscanning.QrScanningRouter.Companion.NETWORK_KEY
import com.tangem.feature.qrscanning.QrScanningRouter.Companion.SOURCE_KEY
import com.tangem.common.routing.AppRoute
import com.tangem.domain.qrscanning.models.SourceType
import com.tangem.feature.qrscanning.navigation.QrScanningInnerRouter
import com.tangem.feature.qrscanning.presentation.QrScanningState
@ -24,8 +23,8 @@ internal class QrScanningViewModel @Inject constructor(
savedStateHandle: SavedStateHandle,
) : ViewModel() {
private val source: SourceType = savedStateHandle[SOURCE_KEY] ?: error("Source is mandatory")
private val network: String? = savedStateHandle[NETWORK_KEY]
private val source: SourceType = savedStateHandle[AppRoute.QrScanning.SOURCE_KEY] ?: error("Source is mandatory")
private val network: String? = savedStateHandle[AppRoute.QrScanning.NETWORK_KEY]
val uiState: StateFlow<QrScanningState> = stateHolder.uiState
val launchGalleryEvent: SharedFlow<GalleryRequest> = clickIntents.launchGallery