فهرست منبع

feat: 钱包页面

DoggyZhang 3 ماه پیش
والد
کامیت
51d7ed59e9
17فایلهای تغییر یافته به همراه170 افزوده شده و 158 حذف شده
  1. 0 8
      app/src/main/java/com/adealink/weparty/module/wallet/Router.kt
  2. 2 0
      app/src/main/java/com/adealink/weparty/module/wallet/viewmodel/IWalletViewModel.kt
  3. 11 2
      module/wallet/src/main/java/com/adealink/weparty/wallet/comp/MyBalanceComp.kt
  4. 9 4
      module/wallet/src/main/java/com/adealink/weparty/wallet/comp/MyIncomeComp.kt
  5. 3 41
      module/wallet/src/main/java/com/adealink/weparty/wallet/data/WalletData.kt
  6. 5 2
      module/wallet/src/main/java/com/adealink/weparty/wallet/manager/WalletManager.kt
  7. 21 5
      module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/RechargeActivity.kt
  8. 0 30
      module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/TopUpDialog.kt
  9. 3 3
      module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/BeanExchangedFragment.kt
  10. 3 3
      module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/CoinRechargeFragment.kt
  11. 3 3
      module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/DiamondRechargeFragment.kt
  12. 2 0
      module/wallet/src/main/java/com/adealink/weparty/wallet/viewmodel/WalletViewModel.kt
  13. 0 56
      module/wallet/src/main/res/layout/dialog_top_up.xml
  14. 0 0
      module/wallet/src/main/res/layout/fragment_recharge_bean.xml
  15. 107 0
      module/wallet/src/main/res/layout/fragment_recharge_coin.xml
  16. 0 0
      module/wallet/src/main/res/layout/fragment_recharge_diamond.xml
  17. 1 1
      module/wallet/src/main/res/layout/layout_wallet_income.xml

+ 0 - 8
app/src/main/java/com/adealink/weparty/module/wallet/Router.kt

@@ -31,12 +31,4 @@ interface Wallet {
         }
     }
 
-
-    interface TopUpDialog {
-        companion object {
-            const val PATH = "${Common.PATH}/top_up_dialog"
-        }
-    }
-
-
 }

+ 2 - 0
app/src/main/java/com/adealink/weparty/module/wallet/viewmodel/IWalletViewModel.kt

@@ -7,6 +7,8 @@ interface IWalletViewModel {
     val coinLD: LiveData<Double>
     val diamondLD: LiveData<Double>
 
+    val beanLD: LiveData<Double>
+
     fun refreshWalletData()
 
 }

+ 11 - 2
module/wallet/src/main/java/com/adealink/weparty/wallet/comp/MyBalanceComp.kt

@@ -3,7 +3,10 @@ package com.adealink.weparty.wallet.comp
 import androidx.lifecycle.LifecycleOwner
 import com.adealink.frame.mvvm.view.ViewComponent
 import com.adealink.frame.mvvm.viewmodel.activityViewModels
+import com.adealink.frame.router.Router
 import com.adealink.frame.util.onClick
+import com.adealink.weparty.module.wallet.Wallet
+import com.adealink.weparty.module.wallet.data.Currency
 import com.adealink.weparty.util.formatNumberStr
 import com.adealink.weparty.wallet.databinding.LayoutWalletBalanceBinding
 import com.adealink.weparty.wallet.viewmodel.WalletViewModel
@@ -46,10 +49,16 @@ class MyBalanceComp(
     }
 
     private fun topUpCoin() {
-
+        val act = activity ?: return
+        Router.build(act, Wallet.Recharge.PATH)
+            .putExtra(Wallet.Common.EXTRA_CURRENCY, Currency.COIN.type)
+            .start()
     }
 
     private fun topUpDiamond() {
-
+        val act = activity ?: return
+        Router.build(act, Wallet.Recharge.PATH)
+            .putExtra(Wallet.Common.EXTRA_CURRENCY, Currency.DIAMOND.type)
+            .start()
     }
 }

+ 9 - 4
module/wallet/src/main/java/com/adealink/weparty/wallet/comp/MyIncomeComp.kt

@@ -3,6 +3,8 @@ package com.adealink.weparty.wallet.comp
 import androidx.lifecycle.LifecycleOwner
 import com.adealink.frame.mvvm.view.ViewComponent
 import com.adealink.frame.mvvm.viewmodel.activityViewModels
+import com.adealink.frame.util.onClick
+import com.adealink.weparty.util.formatNumberStr
 import com.adealink.weparty.wallet.databinding.LayoutWalletIncomeBinding
 import com.adealink.weparty.wallet.viewmodel.WalletViewModel
 import com.adealink.weparty.wallet.viewmodel.WalletViewModelFactory
@@ -18,18 +20,21 @@ class MyIncomeComp(
         super.onCreate()
         initView()
         observeViewModel()
-        loadData()
     }
 
     private fun initView() {
-
+        binding.btnTopUpCoin.onClick {
+            goBeanDetail()
+        }
     }
 
     private fun observeViewModel() {
-
+        viewModel.beanLD.observe(viewLifecycleOwner) {
+            binding.tvBean.text = formatNumberStr(it)
+        }
     }
 
-    private fun loadData() {
+    private fun goBeanDetail() {
 
     }
 

+ 3 - 41
module/wallet/src/main/java/com/adealink/weparty/wallet/data/WalletData.kt

@@ -1,9 +1,6 @@
 package com.adealink.weparty.wallet.data
 
-import android.os.Parcelable
-import com.google.gson.annotations.GsonNullable
 import com.google.gson.annotations.SerializedName
-import kotlinx.parcelize.Parcelize
 
 
 data class WalletRes(
@@ -11,7 +8,9 @@ data class WalletRes(
     @SerializedName("totalGoldCoinConsume") val totalGoldCoinConsume: Double,
 
     @SerializedName("diamond") val diamond: Double,
-    @SerializedName("totalDiamondConsume") val totalDiamondConsume: Double
+    @SerializedName("totalDiamondConsume") val totalDiamondConsume: Double,
+
+    @SerializedName("bean") val bean: Double,
 )
 
 enum class PayChannel(val value: String) {
@@ -23,40 +22,3 @@ enum class PayChannel(val value: String) {
         }
     }
 }
-
-
-@Parcelize
-data class RechargeProductData(
-    @SerializedName("innerProductId")
-    val productId: Int,
-    @SerializedName("skuId")
-    var skuId: String,
-    @SerializedName("coin")
-    var coin: Int = 0,
-    @SerializedName("productNum")
-    var productNum: String? = null,
-    @SerializedName("productType")
-    var productType: String? = null,
-    @SerializedName("priceAmountCents")
-    var priceAmountCents: Long = 0,
-    @GsonNullable
-    @SerializedName("priceCurrencyCode")
-    var priceCurrencyCode: String? = null,
-    var channel: String = "",
-    @SerializedName("attrs")
-    val attrs: Map<String, String> = hashMapOf(),
-    @SerializedName("extAddNum")
-    var extAddNum: Int = 0,   // 总数量中包含的赠送数量
-    @SerializedName("cornerMark")
-    val cornerMark: Int? = 0, //首充标记,0非首充,1首充
-    @SerializedName("icon")
-    var icon: String = "", //充值图示
-    @SerializedName("iconName")
-    val iconName: String? = "", //图标名
-    @SerializedName("iconUrl")
-    val iconUrl: String? = "", //图标url
-) : Parcelable
-
-class RechargeProductItemData(
-    val data: RechargeProductData
-)

+ 5 - 2
module/wallet/src/main/java/com/adealink/weparty/wallet/manager/WalletManager.kt

@@ -45,10 +45,12 @@ class WalletManager : BaseFrame<IWalletListener>(), IWalletManager {
             is Rlt.Success -> {
                 this.coin = rlt.data.data?.coin ?: 0.0
                 this.diamond = rlt.data.data?.diamond ?: 0.0
+                this.bean = rlt.data.data?.bean ?: 0.0
                 return Rlt.Success(
                     mapOf(
                         Currency.COIN to this.coin,
-                        Currency.DIAMOND to this.diamond
+                        Currency.DIAMOND to this.diamond,
+                        Currency.BEAN to this.bean
                     )
                 )
             }
@@ -72,7 +74,8 @@ class WalletManager : BaseFrame<IWalletListener>(), IWalletManager {
             it.onCurrencyChanged(
                 mapOf(
                     Currency.COIN to this.coin,
-                    Currency.DIAMOND to this.diamond
+                    Currency.DIAMOND to this.diamond,
+                    Currency.BEAN to this.bean
                 )
             )
         }

+ 21 - 5
module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/RechargeActivity.kt

@@ -1,17 +1,22 @@
 package com.adealink.weparty.wallet.recharge
 
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.updateLayoutParams
+import com.adealink.frame.aab.util.getCompatDimension
 import com.adealink.frame.mvvm.view.viewBinding
 import com.adealink.frame.router.Router
 import com.adealink.frame.router.annotation.BindExtra
 import com.adealink.frame.router.annotation.RouterUri
 import com.adealink.frame.util.onClick
+import com.adealink.frame.util.statusBarHeight
 import com.adealink.weparty.commonui.BaseActivity
 import com.adealink.weparty.module.wallet.Wallet
 import com.adealink.weparty.module.wallet.data.Currency
 import com.adealink.weparty.wallet.databinding.ActivityRechargeBinding
 import com.adealink.weparty.wallet.recharge.fragment.BeanExchangedFragment
-import com.adealink.weparty.wallet.recharge.fragment.CoinTopUpFragment
-import com.adealink.weparty.wallet.recharge.fragment.DiamondTopUpFragment
+import com.adealink.weparty.wallet.recharge.fragment.CoinRechargeFragment
+import com.adealink.weparty.wallet.recharge.fragment.DiamondRechargeFragment
+import com.adealink.weparty.R as APP_R
 
 @RouterUri(
     path = [Wallet.Recharge.PATH],
@@ -31,19 +36,30 @@ class RechargeActivity : BaseActivity() {
 
     override fun initViews() {
         super.initViews()
+        setContentView(binding.root)
+        val statusBarHeight = this@RechargeActivity.statusBarHeight()
+        binding.topBar.setPadding(0, statusBarHeight, 0, 0)
+        binding.topBar.updateLayoutParams<ConstraintLayout.LayoutParams> {
+            height = statusBarHeight + getCompatDimension(APP_R.dimen.common_top_bar_height).toInt()
+        }
+
         binding.btnBack.onClick {
             finish()
         }
         when (Currency.map(currency)) {
             Currency.COIN -> {
                 supportFragmentManager.beginTransaction()
-                    .replace(binding.flContent.id, CoinTopUpFragment(), "CoinTopUpFragment")
+                    .replace(binding.flContent.id, CoinRechargeFragment(), "CoinRechargeFragment")
                     .commitAllowingStateLoss()
             }
 
             Currency.DIAMOND -> {
                 supportFragmentManager.beginTransaction()
-                    .replace(binding.flContent.id, DiamondTopUpFragment(), "DiamondTopUpFragment")
+                    .replace(
+                        binding.flContent.id,
+                        DiamondRechargeFragment(),
+                        "DiamondRechargeFragment"
+                    )
                     .commitAllowingStateLoss()
             }
 
@@ -55,7 +71,7 @@ class RechargeActivity : BaseActivity() {
 
             null -> {
                 supportFragmentManager.beginTransaction()
-                    .replace(binding.flContent.id, CoinTopUpFragment(), "CoinTopUpFragment")
+                    .replace(binding.flContent.id, CoinRechargeFragment(), "CoinRechargeFragment")
                     .commitAllowingStateLoss()
             }
         }

+ 0 - 30
module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/TopUpDialog.kt

@@ -1,30 +0,0 @@
-package com.adealink.weparty.wallet.recharge
-
-import com.adealink.frame.base.fastLazy
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.util.onClick
-import com.adealink.weparty.commonui.recycleview.adapter.MultiTypeListAdapter
-import com.adealink.weparty.commonui.widget.BottomDialogFragment
-import com.adealink.weparty.wallet.R
-import com.adealink.weparty.wallet.data.RechargeProductItemData
-import com.adealink.weparty.wallet.databinding.DialogTopUpBinding
-
-class TopUpDialog : BottomDialogFragment(R.layout.dialog_top_up) {
-
-    private val binding by viewBinding(DialogTopUpBinding::bind)
-
-    private val listAdapter by fastLazy { MultiTypeListAdapter<RechargeProductItemData>() }
-    override fun initViews() {
-        super.initViews()
-
-        binding.btnRecharge.onClick {
-            doRecharge()
-        }
-    }
-
-
-    private fun doRecharge() {
-
-    }
-
-}

+ 3 - 3
module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/BeanExchangedFragment.kt

@@ -3,11 +3,11 @@ package com.adealink.weparty.wallet.recharge.fragment
 import com.adealink.frame.mvvm.view.viewBinding
 import com.adealink.weparty.commonui.BaseFragment
 import com.adealink.weparty.wallet.R
-import com.adealink.weparty.wallet.databinding.FragmentTopUpCoinBinding
+import com.adealink.weparty.wallet.databinding.FragmentRechargeBeanBinding
 
-class BeanExchangedFragment : BaseFragment(R.layout.fragment_top_up_coin) {
+class BeanExchangedFragment : BaseFragment(R.layout.fragment_recharge_bean) {
 
-    private val binding by viewBinding(FragmentTopUpCoinBinding::bind)
+    private val binding by viewBinding(FragmentRechargeBeanBinding::bind)
 
     override fun initViews() {
         super.initViews()

+ 3 - 3
module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/CoinTopUpFragment.kt → module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/CoinRechargeFragment.kt

@@ -12,20 +12,20 @@ import com.adealink.weparty.commonui.recycleview.itemdecoration.GridSpacingItemD
 import com.adealink.weparty.commonui.toast.util.showToast
 import com.adealink.weparty.module.wallet.data.Currency
 import com.adealink.weparty.wallet.R
-import com.adealink.weparty.wallet.databinding.FragmentTopUpCoinBinding
+import com.adealink.weparty.wallet.databinding.FragmentRechargeCoinBinding
 import com.adealink.weparty.wallet.recharge.adapter.RechargeItemViewBinder
 import com.adealink.weparty.wallet.recharge.data.RechargeItemData
 import com.adealink.weparty.wallet.recharge.viewmodel.RechargeViewModel
 import com.adealink.weparty.wallet.viewmodel.WalletViewModel
 import com.adealink.weparty.wallet.viewmodel.WalletViewModelFactory
 
-class CoinTopUpFragment : BaseFragment(R.layout.fragment_top_up_coin) {
+class CoinRechargeFragment : BaseFragment(R.layout.fragment_recharge_coin) {
 
     companion object {
         private const val SPAN = 3
     }
 
-    private val binding by viewBinding(FragmentTopUpCoinBinding::bind)
+    private val binding by viewBinding(FragmentRechargeCoinBinding::bind)
 
     private val walletViewModel by viewModels<WalletViewModel> { WalletViewModelFactory() }
     private val rechargeViewModel by viewModels<RechargeViewModel> { WalletViewModelFactory() }

+ 3 - 3
module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/DiamondTopUpFragment.kt → module/wallet/src/main/java/com/adealink/weparty/wallet/recharge/fragment/DiamondRechargeFragment.kt

@@ -12,20 +12,20 @@ import com.adealink.weparty.commonui.recycleview.itemdecoration.GridSpacingItemD
 import com.adealink.weparty.commonui.toast.util.showToast
 import com.adealink.weparty.module.wallet.data.Currency
 import com.adealink.weparty.wallet.R
-import com.adealink.weparty.wallet.databinding.FragmentTopUpDiamondBinding
+import com.adealink.weparty.wallet.databinding.FragmentRechargeDiamondBinding
 import com.adealink.weparty.wallet.recharge.adapter.RechargeItemViewBinder
 import com.adealink.weparty.wallet.recharge.data.RechargeItemData
 import com.adealink.weparty.wallet.recharge.viewmodel.RechargeViewModel
 import com.adealink.weparty.wallet.viewmodel.WalletViewModel
 import com.adealink.weparty.wallet.viewmodel.WalletViewModelFactory
 
-class DiamondTopUpFragment : BaseFragment(R.layout.fragment_top_up_diamond) {
+class DiamondRechargeFragment : BaseFragment(R.layout.fragment_recharge_diamond) {
 
     companion object {
         private const val SPAN = 3
     }
 
-    private val binding by viewBinding(FragmentTopUpDiamondBinding::bind)
+    private val binding by viewBinding(FragmentRechargeDiamondBinding::bind)
 
     private val walletViewModel by viewModels<WalletViewModel> { WalletViewModelFactory() }
     private val rechargeViewModel by viewModels<RechargeViewModel> { WalletViewModelFactory() }

+ 2 - 0
module/wallet/src/main/java/com/adealink/weparty/wallet/viewmodel/WalletViewModel.kt

@@ -15,6 +15,7 @@ import kotlinx.coroutines.launch
 class WalletViewModel : BaseViewModel(), IWalletViewModel, IWalletListener {
     override val coinLD: LiveData<Double> = MutableLiveData()
     override val diamondLD: LiveData<Double> = MutableLiveData()
+    override val beanLD: LiveData<Double> = MutableLiveData()
 
     init {
         walletManager.addListener(this)
@@ -40,6 +41,7 @@ class WalletViewModel : BaseViewModel(), IWalletViewModel, IWalletListener {
     override fun onCurrencyChanged(currency: Map<Currency, Double>) {
         coinLD.send(currency[Currency.COIN] ?: 0.0)
         diamondLD.send(currency[Currency.DIAMOND] ?: 0.0)
+        beanLD.send(currency[Currency.BEAN] ?: 0.0)
     }
 
 

+ 0 - 56
module/wallet/src/main/res/layout/dialog_top_up.xml

@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="@drawable/common_bottom_dialog_gray_bg"
-    android:paddingHorizontal="16dp"
-    android:paddingBottom="24dp">
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_title"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/common_top_bar_height"
-        android:fontFamily="@font/poppins_semibold"
-        android:gravity="center"
-        android:includeFontPadding="false"
-        android:text="@string/wallet_top_up_title"
-        android:textColor="@color/color_FF1D2129"
-        android:textSize="16sp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <include
-        android:id="@+id/v_product"
-        layout="@layout/layout_top_up_product"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/tv_title" />
-
-    <include
-        android:id="@+id/v_payment"
-        layout="@layout/layout_top_up_payment"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="10dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/v_product" />
-
-    <com.adealink.weparty.commonui.widget.CommonButton
-        android:id="@+id/btn_recharge"
-        android:layout_width="0dp"
-        android:layout_height="48dp"
-        android:layout_marginTop="16dp"
-        android:layout_marginBottom="24dp"
-        app:text="@string/wallet_top_up_button"
-        app:textColor="@color/white"
-        app:textSize="16sp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/v_payment" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 0
module/wallet/src/main/res/layout/fragment_top_up_coin.xml → module/wallet/src/main/res/layout/fragment_recharge_bean.xml


+ 107 - 0
module/wallet/src/main/res/layout/fragment_recharge_coin.xml

@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:background="@color/color_FFF1F2F5">
+
+    <include
+        android:id="@+id/v_coin_card"
+        layout="@layout/layout_wallet_coin_header"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="16dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <androidx.core.widget.NestedScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:background="@drawable/common_bottom_dialog_bg"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/v_coin_card">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:paddingHorizontal="16dp"
+            android:paddingTop="20dp"
+            android:paddingBottom="24dp">
+
+            <!--充值套餐-->
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/rv_top_up"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <com.adealink.weparty.commonui.widget.CommonButton
+                android:id="@+id/btn_top_up"
+                android:layout_width="0dp"
+                android:layout_height="@dimen/common_button_height"
+                android:layout_marginTop="20dp"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/rv_top_up"
+                app:text="@string/common_recharge"
+                app:textSize="16sp" />
+
+            <!--说明-->
+            <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tv_instruction"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="20dp"
+                android:ellipsize="end"
+                android:fontFamily="@font/poppins_semibold"
+                android:includeFontPadding="false"
+                android:text="@string/wallet_topup_instruction_title"
+                android:textColor="@color/color_FF1D2129"
+                android:textSize="12sp"
+                app:layout_constrainedWidth="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintHorizontal_bias="0"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/btn_top_up" />
+
+            <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tv_instruction1"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:ellipsize="end"
+                android:includeFontPadding="false"
+                android:text="@string/wallet_topup_instruction_1"
+                android:textColor="@color/color_FF1D2129"
+                android:textSize="12sp"
+                app:layout_constrainedWidth="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintHorizontal_bias="0"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_instruction" />
+
+            <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tv_instruction2"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:ellipsize="end"
+                android:includeFontPadding="false"
+                android:text="@string/wallet_topup_instruction_2"
+                android:textColor="@color/color_FF1D2129"
+                android:textSize="12sp"
+                app:layout_constrainedWidth="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintHorizontal_bias="0"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/tv_instruction1" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </androidx.core.widget.NestedScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 0
module/wallet/src/main/res/layout/fragment_top_up_diamond.xml → module/wallet/src/main/res/layout/fragment_recharge_diamond.xml


+ 1 - 1
module/wallet/src/main/res/layout/layout_wallet_income.xml

@@ -49,7 +49,7 @@
             android:fontFamily="@font/poppins_semibold"
             android:gravity="start|center_vertical"
             android:includeFontPadding="false"
-            android:text="@string/common_coin"
+            android:text="@string/common_bean"
             android:textColor="@color/color_FF1D2129"
             android:textSize="12sp"
             app:layout_constraintBottom_toTopOf="@id/tv_bean"