支付方式管理
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