mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 19:35:51 +00:00
fix: Bridge cards use AssetIconProvider and displayNameWithAssetStandard
The redesigned Bridge cards resolved asset icons via the chain-icon helper (asset.icon.asIconOrFallback()), which treats the value as a ready-to-load URL. Chain.Asset.icon is frequently a bare filename resolved through AssetIconProvider's base-URL/color-mode logic, so any asset relying on that path rendered a blank icon (Polkadot Asset Hub's USDT, and the DOT/HEZ utility assets on the affected side). Switched to assetIconProvider.getAssetIconOrFallback(asset), the same path every other asset row in the app uses. Also switched the card subtitle from chain.name to chain.displayNameWithAssetStandard(), so Pezkuwi Asset Hub shows its PEZ-20 token-standard label, matching Send/Receive/the balance list.
This commit is contained in:
+7
-4
@@ -3,16 +3,18 @@ package io.novafoundation.nova.feature_assets.presentation.bridge
|
|||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import io.novafoundation.nova.common.base.BaseViewModel
|
import io.novafoundation.nova.common.base.BaseViewModel
|
||||||
|
import io.novafoundation.nova.common.presentation.AssetIconProvider
|
||||||
import io.novafoundation.nova.common.resources.ResourceManager
|
import io.novafoundation.nova.common.resources.ResourceManager
|
||||||
import io.novafoundation.nova.common.utils.images.Icon
|
import io.novafoundation.nova.common.utils.images.Icon
|
||||||
import io.novafoundation.nova.common.view.ButtonState
|
import io.novafoundation.nova.common.view.ButtonState
|
||||||
import io.novafoundation.nova.feature_account_api.presenatation.chain.asIconOrFallback
|
import io.novafoundation.nova.feature_account_api.presenatation.chain.getAssetIconOrFallback
|
||||||
import io.novafoundation.nova.feature_assets.R
|
import io.novafoundation.nova.feature_assets.R
|
||||||
import io.novafoundation.nova.feature_assets.presentation.AssetsRouter
|
import io.novafoundation.nova.feature_assets.presentation.AssetsRouter
|
||||||
import io.novafoundation.nova.feature_assets.presentation.send.amount.SendPayload
|
import io.novafoundation.nova.feature_assets.presentation.send.amount.SendPayload
|
||||||
import io.novafoundation.nova.feature_wallet_api.presentation.model.AssetPayload
|
import io.novafoundation.nova.feature_wallet_api.presentation.model.AssetPayload
|
||||||
import io.novafoundation.nova.runtime.ext.ChainGeneses
|
import io.novafoundation.nova.runtime.ext.ChainGeneses
|
||||||
import io.novafoundation.nova.runtime.ext.addressOf
|
import io.novafoundation.nova.runtime.ext.addressOf
|
||||||
|
import io.novafoundation.nova.runtime.ext.displayNameWithAssetStandard
|
||||||
import io.novafoundation.nova.runtime.multiNetwork.ChainRegistry
|
import io.novafoundation.nova.runtime.multiNetwork.ChainRegistry
|
||||||
import io.novasama.substrate_sdk_android.ss58.SS58Encoder.toAccountId
|
import io.novasama.substrate_sdk_android.ss58.SS58Encoder.toAccountId
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -26,7 +28,8 @@ import java.net.URL
|
|||||||
class BridgeViewModel(
|
class BridgeViewModel(
|
||||||
private val router: AssetsRouter,
|
private val router: AssetsRouter,
|
||||||
private val resourceManager: ResourceManager,
|
private val resourceManager: ResourceManager,
|
||||||
private val chainRegistry: ChainRegistry
|
private val chainRegistry: ChainRegistry,
|
||||||
|
private val assetIconProvider: AssetIconProvider
|
||||||
) : BaseViewModel() {
|
) : BaseViewModel() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@@ -386,10 +389,10 @@ class BridgeViewModel(
|
|||||||
val asset = chain.assetsById.getValue(assetId)
|
val asset = chain.assetsById.getValue(assetId)
|
||||||
|
|
||||||
return BridgeAssetCardUi(
|
return BridgeAssetCardUi(
|
||||||
assetIcon = asset.icon.asIconOrFallback(),
|
assetIcon = assetIconProvider.getAssetIconOrFallback(asset),
|
||||||
chainIconUrl = chain.icon,
|
chainIconUrl = chain.icon,
|
||||||
symbol = asset.symbol.value,
|
symbol = asset.symbol.value,
|
||||||
chainName = chain.name
|
chainName = chain.displayNameWithAssetStandard()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -8,6 +8,7 @@ import dagger.Provides
|
|||||||
import dagger.multibindings.IntoMap
|
import dagger.multibindings.IntoMap
|
||||||
import io.novafoundation.nova.common.di.viewmodel.ViewModelKey
|
import io.novafoundation.nova.common.di.viewmodel.ViewModelKey
|
||||||
import io.novafoundation.nova.common.di.viewmodel.ViewModelModule
|
import io.novafoundation.nova.common.di.viewmodel.ViewModelModule
|
||||||
|
import io.novafoundation.nova.common.presentation.AssetIconProvider
|
||||||
import io.novafoundation.nova.common.resources.ResourceManager
|
import io.novafoundation.nova.common.resources.ResourceManager
|
||||||
import io.novafoundation.nova.feature_assets.presentation.AssetsRouter
|
import io.novafoundation.nova.feature_assets.presentation.AssetsRouter
|
||||||
import io.novafoundation.nova.feature_assets.presentation.bridge.BridgeViewModel
|
import io.novafoundation.nova.feature_assets.presentation.bridge.BridgeViewModel
|
||||||
@@ -22,9 +23,10 @@ class BridgeModule {
|
|||||||
fun provideViewModel(
|
fun provideViewModel(
|
||||||
router: AssetsRouter,
|
router: AssetsRouter,
|
||||||
resourceManager: ResourceManager,
|
resourceManager: ResourceManager,
|
||||||
chainRegistry: ChainRegistry
|
chainRegistry: ChainRegistry,
|
||||||
|
assetIconProvider: AssetIconProvider
|
||||||
): ViewModel {
|
): ViewModel {
|
||||||
return BridgeViewModel(router, resourceManager, chainRegistry)
|
return BridgeViewModel(router, resourceManager, chainRegistry, assetIconProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|||||||
Reference in New Issue
Block a user