Updated on 2026-08-14
This commit is contained in:
parent
a61cb65789
commit
73f5f83b97
1 changed files with 25 additions and 3 deletions
|
|
@ -4,6 +4,7 @@ import com.tangem.datasource.local.preferences.AppPreferencesStore
|
|||
import com.tangem.datasource.local.preferences.PreferencesKeys
|
||||
import com.tangem.datasource.local.preferences.utils.getSyncOrDefault
|
||||
import com.tangem.datasource.local.userwallet.UserWalletsStore
|
||||
import com.tangem.domain.wallets.models.UserWallet
|
||||
import com.tangem.lib.auth.ExpressAuthProvider
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.util.UUID
|
||||
|
|
@ -25,6 +26,17 @@ internal class DefaultExpressAuthProvider(
|
|||
}
|
||||
|
||||
override fun getRefCode(): String {
|
||||
val selectedUserWallet = userWalletsStore.selectedUserWalletOrNull ?: error("Can not get selected user wallet")
|
||||
|
||||
return when {
|
||||
isRing(selectedUserWallet) -> "ring"
|
||||
isChangeNow(selectedUserWallet) -> "ChangeNow"
|
||||
isPartner(selectedUserWallet) -> "partner"
|
||||
else -> ""
|
||||
}
|
||||
}
|
||||
|
||||
private fun isRing(selectedUserWallet: UserWallet): Boolean {
|
||||
val addedWalletsWithRings = runBlocking {
|
||||
appPreferencesStore.getSyncOrDefault(
|
||||
key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY,
|
||||
|
|
@ -32,9 +44,19 @@ internal class DefaultExpressAuthProvider(
|
|||
)
|
||||
}
|
||||
|
||||
val userWalletId = userWalletsStore.selectedUserWalletOrNull?.walletId?.stringValue
|
||||
?: error("No user id provided")
|
||||
return addedWalletsWithRings.contains(selectedUserWallet.walletId.stringValue)
|
||||
}
|
||||
|
||||
return if (addedWalletsWithRings.contains(userWalletId)) "ring" else ""
|
||||
private fun isChangeNow(selectedUserWallet: UserWallet): Boolean {
|
||||
return selectedUserWallet.scanResponse.card.batchId == BATCH_ID_CHANGENOW
|
||||
}
|
||||
|
||||
private fun isPartner(selectedUserWallet: UserWallet): Boolean {
|
||||
return selectedUserWallet.scanResponse.card.batchId == BATCH_ID_PARTNER
|
||||
}
|
||||
|
||||
private companion object {
|
||||
const val BATCH_ID_CHANGENOW = "BB000013"
|
||||
const val BATCH_ID_PARTNER = "AF990015"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue