diff --git a/features/qr-scanning/impl/build.gradle.kts b/features/qr-scanning/impl/build.gradle.kts index f2dfb02aa4..87bb1cc68e 100644 --- a/features/qr-scanning/impl/build.gradle.kts +++ b/features/qr-scanning/impl/build.gradle.kts @@ -47,6 +47,9 @@ dependencies { implementation(projects.domain.qrScanning) implementation(projects.domain.qrScanning.models) + /** Data */ + implementation(projects.data.card) + /** Compose */ implementation(deps.compose.foundation) implementation(deps.compose.ui) @@ -57,4 +60,5 @@ dependencies { /** Other dependencies */ implementation(deps.arrow.core) implementation(deps.timber) + implementation(deps.tangem.card.core) } \ No newline at end of file diff --git a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/viewmodel/QrScanningViewModel.kt b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/viewmodel/QrScanningViewModel.kt index 49b23ff8cd..a504e00e9f 100644 --- a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/viewmodel/QrScanningViewModel.kt +++ b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/viewmodel/QrScanningViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.tangem.common.routing.AppRoute +import com.tangem.data.card.sdk.CardSdkProvider import com.tangem.domain.qrscanning.models.SourceType import com.tangem.feature.qrscanning.navigation.QrScanningInnerRouter import com.tangem.feature.qrscanning.presentation.QrScanningState @@ -20,6 +21,7 @@ import javax.inject.Inject internal class QrScanningViewModel @Inject constructor( private val stateHolder: QrScanningStateController, private val clickIntents: QrScanningClickIntentsImplementor, + private val cardSdkProvider: CardSdkProvider, savedStateHandle: SavedStateHandle, ) : ViewModel() { @@ -31,6 +33,12 @@ internal class QrScanningViewModel @Inject constructor( val uiState: StateFlow = stateHolder.uiState val launchGalleryEvent: SharedFlow = clickIntents.launchGallery + init { + // samsung for some reason disables reader mode, and then it works unstable + // to prevent this disable ir manually before scan QR + cardSdkProvider.sdk.forceDisableReaderMode() + } + fun setRouter(router: QrScanningInnerRouter) { clickIntents.initialize( router = router, @@ -49,4 +57,10 @@ internal class QrScanningViewModel @Inject constructor( fun onDismissBottomSheetState() { stateHolder.update(DismissBottomSheetTransformer()) } + + override fun onCleared() { + super.onCleared() + // don't forget enable reader mode after scan complete + cardSdkProvider.sdk.forceEnableReaderMode() + } } \ No newline at end of file diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index c086ede1d7..43982c3906 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -89,7 +89,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.18-873" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.18-406" +tangemCardSdk = "release-app_5.18-407" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem17" #tangemVico = "0.0.1" # Keep it! - used for local builds ^