支付方式管理
This commit is contained in:
		
							
								
								
									
										5
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										5
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
								
							| @@ -1,11 +1,12 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="GradleMigrationSettings" migrationVersion="1" /> | ||||
|   <component name="GradleSettings"> | ||||
|     <option name="linkedExternalProjectsSettings"> | ||||
|       <GradleProjectSettings> | ||||
|         <option name="testRunner" value="CHOOSE_PER_TEST" /> | ||||
|         <option name="testRunner" value="GRADLE" /> | ||||
|         <option name="externalProjectPath" value="$PROJECT_DIR$" /> | ||||
|         <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> | ||||
|         <option name="gradleJvm" value="Embedded JDK" /> | ||||
|         <option name="modules"> | ||||
|           <set> | ||||
|             <option value="$PROJECT_DIR$" /> | ||||
|   | ||||
							
								
								
									
										1
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							| @@ -1,4 +1,3 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="ExternalStorageConfigurationManager" enabled="true" /> | ||||
|   <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK"> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| package com.abbidot.tracker.ui.activity.set | ||||
|  | ||||
| import android.content.Intent | ||||
| import android.view.View | ||||
| import androidx.activity.viewModels | ||||
| import androidx.core.content.ContextCompat | ||||
| @@ -9,6 +10,7 @@ import com.abbidot.tracker.base.BaseActivity | ||||
| import com.abbidot.tracker.base.BaseDialog | ||||
| import com.abbidot.tracker.constant.GetResultCallback | ||||
| import com.abbidot.tracker.databinding.ActivityAdvancedSetBinding | ||||
| import com.abbidot.tracker.ui.activity.subscribe.PaymentMethodActivity | ||||
| import com.abbidot.tracker.util.FileUtil | ||||
| import com.abbidot.tracker.util.Util | ||||
| import com.abbidot.tracker.util.ViewUtil | ||||
| @@ -42,10 +44,10 @@ class AdvancedSetActivity : | ||||
|                 ) | ||||
|             } | ||||
|             ilAdvancedSetPayManager.root.let { | ||||
|                 it.text = getString(R.string.txt_delete_account) | ||||
|                 it.text = getString(R.string.txt_payment_manager) | ||||
|                 it.setImageDrawable( | ||||
|                     ContextCompat.getDrawable( | ||||
|                         mContext, R.drawable.ico_account | ||||
|                         mContext, R.drawable.card_pay_manager | ||||
|                     ) | ||||
|                 ) | ||||
|             } | ||||
| @@ -58,7 +60,11 @@ class AdvancedSetActivity : | ||||
|                 ) | ||||
|             } | ||||
|  | ||||
|             setOnClickListenerViews(ilAdvancedSetClearCache.root, ilAdvancedSetDeleteAccount.root) | ||||
|             setOnClickListenerViews( | ||||
|                 ilAdvancedSetClearCache.root, | ||||
|                 ilAdvancedSetPayManager.root, | ||||
|                 ilAdvancedSetDeleteAccount.root | ||||
|             ) | ||||
|         } | ||||
|  | ||||
|         getCacheSize() | ||||
| @@ -118,6 +124,12 @@ class AdvancedSetActivity : | ||||
|                     mClearCacheTipsType, getString(R.string.txt_clear_cache_tips) | ||||
|                 ) | ||||
|  | ||||
|                 ilAdvancedSetPayManager.root -> startActivity( | ||||
|                     Intent( | ||||
|                         mContext, PaymentMethodActivity::class.java | ||||
|                     ) | ||||
|                 ) | ||||
|  | ||||
|                 ilAdvancedSetDeleteAccount.root -> dialogShowType( | ||||
|                     mCloseAccountTipsType, getString(R.string.txt_close_account_tips) | ||||
|                 ) | ||||
|   | ||||
| @@ -32,6 +32,7 @@ class AddCreditCardPaymentActivity : | ||||
|     OnFocusChangeListener { | ||||
|  | ||||
|     private var mCreditCard: CreditCardBean? = null | ||||
|     private var mOldCard: CreditCardBean? = null | ||||
|     private var isEdit = false | ||||
|  | ||||
|     override fun getTopBar() = mViewBinding.ilAddPaymentMethodTopInfo.titleTopBar | ||||
| @@ -47,10 +48,9 @@ class AddCreditCardPaymentActivity : | ||||
|         if (null == mCreditCard) mCreditCard = CreditCardBean() | ||||
|  | ||||
|         if (isEdit) { | ||||
|             mOldCard = mCreditCard | ||||
|             setTopBarTitle(R.string.txt_edit_pay_method) | ||||
|             mRightImageButton = addRightImageButton(R.drawable.icon_delete_svg).apply { | ||||
|                 imageTintList = ColorStateList.valueOf(Color.WHITE) | ||||
|             } | ||||
|             mRightImageButton = addRightImageButton(R.drawable.icon_delete_svg) | ||||
|         } else { | ||||
|             setTopBarTitle(R.string.txt_add_payment) | ||||
|         } | ||||
| @@ -219,19 +219,34 @@ class AddCreditCardPaymentActivity : | ||||
|         lifecycleScope.launch(Dispatchers.IO) { | ||||
|  | ||||
|             val list = MyDatabase.creditCardDao().findAll(MyDatabase.CreditCardTableName) | ||||
|  | ||||
|             if (!isEdit) { | ||||
|                 var isCardExist = false | ||||
|                 list?.apply { | ||||
|                     if (isNotEmpty()) { | ||||
|                         for (c in list) { | ||||
|                             if (c.cardNumber == cardNumber) { | ||||
|                                 isCardExist = true | ||||
|                             } | ||||
|             var existCard: CreditCardBean? = null | ||||
|             list?.apply { | ||||
|                 if (isNotEmpty()) { | ||||
|                     for (c in list) { | ||||
|                         if (!isEdit && c.cardNumber == cardNumber) { | ||||
|                             existCard = c | ||||
|                             break | ||||
|                         } else if (isEdit && null != mOldCard && c.cardNumber == mOldCard!!.cardNumber) { | ||||
|                             existCard = c | ||||
|                             break | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 if (isCardExist) { | ||||
|             } | ||||
|             if (isEdit) { | ||||
|                 existCard?.let { | ||||
|                     it.cardName = cardName | ||||
|                     it.cardNumber = cardNumber | ||||
|                     it.expirationDate = creditCardValidity | ||||
|                     it.cvv = cvv | ||||
|                     it.isPrimary = mViewBinding.cbAddCardSetPrimarySwitch.isChecked | ||||
|                     if (null != mOldCard && mOldCard!!.cardNumber != cardNumber) { | ||||
|                         MyDatabase.creditCardDao().delete(mOldCard!!) | ||||
|                     } | ||||
|                     saveCard(list) | ||||
|                 } | ||||
|             } else { | ||||
|                 if (null != existCard) { | ||||
|                     launch(Dispatchers.Main) { | ||||
|                         ViewUtil.instance.showDialog( | ||||
|                             mContext, | ||||
|   | ||||
| @@ -59,17 +59,22 @@ class CreditCardPaymentFragment : BaseFragment<FragmentCreditCardPaymentBinding> | ||||
|                 setOnItemClickListener(object : BaseRecyclerAdapter.OnItemClickListener { | ||||
|                     override fun onItemClick(itemView: View?, pos: Int) { | ||||
|                         val card = getData()[pos] | ||||
|                         if (card.checked) return | ||||
|                         for (i in 0 until getData().size) { | ||||
|                             val data = getData()[i] | ||||
|                             if (data.checked) { | ||||
|                                 data.checked = false | ||||
|                                 notifyItemChanged(i) | ||||
|                                 break | ||||
|                         //卡管理 不需要点击效果 | ||||
|                         if (null == mPaymentMethodActivity.mOrderBean) { | ||||
|                             goEditCard(card) | ||||
|                         } else { | ||||
|                             if (card.checked) return | ||||
|                             for (i in 0 until getData().size) { | ||||
|                                 val data = getData()[i] | ||||
|                                 if (data.checked) { | ||||
|                                     data.checked = false | ||||
|                                     notifyItemChanged(i) | ||||
|                                     break | ||||
|                                 } | ||||
|                             } | ||||
|                             getData()[pos].checked = true | ||||
|                             notifyItemChanged(pos) | ||||
|                         } | ||||
|                         getData()[pos].checked = true | ||||
|                         notifyItemChanged(pos) | ||||
|                     } | ||||
|                 }) | ||||
|             } | ||||
| @@ -88,7 +93,10 @@ class CreditCardPaymentFragment : BaseFragment<FragmentCreditCardPaymentBinding> | ||||
|             list?.let { | ||||
|                 if (it.isNotEmpty()) mActivity!!.runOnUiThread { | ||||
|                     val sortedByList = list.sortedByDescending { l -> l.isPrimary }.toMutableList() | ||||
|                     setCheckAndPrimaryState(sortedByList) | ||||
|                     //卡管理 不需要点击效果 | ||||
|                     if (null != mPaymentMethodActivity.mOrderBean) { | ||||
|                         setCheckAndPrimaryState(sortedByList) | ||||
|                     } | ||||
|                     mCreditCardAdapter.setData(sortedByList, true) | ||||
|                 } | ||||
|             } | ||||
| @@ -155,7 +163,9 @@ class CreditCardPaymentFragment : BaseFragment<FragmentCreditCardPaymentBinding> | ||||
|         } | ||||
|  | ||||
|         mViewBinding.apply { | ||||
|             btnMakePaymentCreditCard.visibility = View.VISIBLE | ||||
|             btnMakePaymentCreditCard.visibility = | ||||
|                 if (null == mPaymentMethodActivity.mOrderBean) View.GONE | ||||
|                 else View.VISIBLE | ||||
|             tvCreditCardPaymentChoose.visibility = View.VISIBLE | ||||
|             btnCreditCardPaymentAdd.visibility = View.VISIBLE | ||||
|         } | ||||
|   | ||||
| @@ -1029,5 +1029,6 @@ | ||||
|     <string name="txt_update_time">Updated: %s</string> | ||||
|  | ||||
|     <string name="txt_as_low_as">As low as</string> | ||||
|     <string name="txt_payment_manager">Payment Manager</string> | ||||
|  | ||||
| </resources> | ||||
		Reference in New Issue
	
	Block a user
	 yezhiqiu
					yezhiqiu