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