diff --git a/app/src/main/java/com/gemwallet/android/features/amount/viewmodels/AmountViewModel.kt b/app/src/main/java/com/gemwallet/android/features/amount/viewmodels/AmountViewModel.kt index 9c8db295..015a73cb 100644 --- a/app/src/main/java/com/gemwallet/android/features/amount/viewmodels/AmountViewModel.kt +++ b/app/src/main/java/com/gemwallet/android/features/amount/viewmodels/AmountViewModel.kt @@ -201,8 +201,8 @@ class AmountViewModel @Inject constructor( memo = memo, isMax = maxAmount.value, ) - TransactionType.StakeDelegate -> builder.delegate(validator?.id!!) - TransactionType.StakeUndelegate -> builder.undelegate(delegation!!) + TransactionType.StakeDelegate -> builder.delegate(validator?.id ?: return@launch) // TODO: Add error showing + TransactionType.StakeUndelegate -> builder.undelegate(delegation ?: return@launch) // TODO: Add error showing TransactionType.StakeRewards -> builder.rewards( stakeRepository.getRewards(asset.id, state.assetInfo.owner.address).map { it.validator.id } ) diff --git a/app/src/main/java/com/gemwallet/android/features/swap/views/SwapScreen.kt b/app/src/main/java/com/gemwallet/android/features/swap/views/SwapScreen.kt index ae8157f9..4227266c 100644 --- a/app/src/main/java/com/gemwallet/android/features/swap/views/SwapScreen.kt +++ b/app/src/main/java/com/gemwallet/android/features/swap/views/SwapScreen.kt @@ -211,7 +211,7 @@ private fun SwapError(state: SwapState) { SwapError.NotSupportedAsset -> stringResource(com.gemwallet.android.localize.R.string.errors_swap_not_supported_asset) SwapError.NotSupportedChain -> stringResource(com.gemwallet.android.localize.R.string.errors_swap_not_supported_chain) SwapError.NotSupportedPair -> stringResource(com.gemwallet.android.localize.R.string.errors_swap_not_supported_pair) - is SwapError.Unknown -> TODO() + is SwapError.Unknown -> "${stringResource(com.gemwallet.android.localize.R.string.errors_unknown_try_again)}: ${state.error.message}" }, style = MaterialTheme.typography.bodyMedium, ) diff --git a/data/repositories/src/main/java/com/gemwallet/android/data/repositoreis/assets/AssetsRepository.kt b/data/repositories/src/main/java/com/gemwallet/android/data/repositoreis/assets/AssetsRepository.kt index 2950ebaa..c7690246 100644 --- a/data/repositories/src/main/java/com/gemwallet/android/data/repositoreis/assets/AssetsRepository.kt +++ b/data/repositories/src/main/java/com/gemwallet/android/data/repositoreis/assets/AssetsRepository.kt @@ -384,8 +384,12 @@ class AssetsRepository @Inject constructor( assetsDao.getAll().map { it.id }.toSet().mapNotNull { it.toAssetId() }.toList() } .map { it.toIdentifier() } - val prices = gemApi.prices(AssetPricesRequest(currency.string, ids)) - .getOrNull()?.prices ?: emptyList() + // TODO: java.lang.ClassCastException: + // at com.gemwallet.android.data.repositoreis.assets.AssetsRepository$updatePrices$2.invokeSuspend (AssetsRepository.kt:388) + val prices = try { + gemApi.prices(AssetPricesRequest(currency.string, ids)) + .getOrNull()?.prices ?: emptyList() + } catch (_: Throwable) { emptyList() } pricesDao.insert( prices.map { price -> DbPrice(price.assetId, price.price, price.priceChangePercentage24h, currency.string)