修复首次添加信用卡不能编辑的bug
This commit is contained in:
@@ -28,9 +28,9 @@ android {
|
|||||||
applicationId "com.abbidot.tracker"
|
applicationId "com.abbidot.tracker"
|
||||||
minSdkVersion 23
|
minSdkVersion 23
|
||||||
targetSdkVersion 35
|
targetSdkVersion 35
|
||||||
versionCode 2212
|
versionCode 2213
|
||||||
// versionName "2.2.12"
|
// versionName "2.2.13"
|
||||||
versionName "2.2.12-Beta2"
|
versionName "2.2.13-Beta1"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ class AddCreditCardPaymentActivity :
|
|||||||
private var mOldCard: CreditCardBean? = null
|
private var mOldCard: CreditCardBean? = null
|
||||||
private var isEdit = false
|
private var isEdit = false
|
||||||
|
|
||||||
|
//是否存在PaymentMethodID
|
||||||
|
private var isHavePaymentMethodID = false
|
||||||
|
|
||||||
override fun getTopBar() = mViewBinding.ilAddPaymentMethodTopInfo.titleTopBar
|
override fun getTopBar() = mViewBinding.ilAddPaymentMethodTopInfo.titleTopBar
|
||||||
|
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
@@ -52,7 +55,8 @@ class AddCreditCardPaymentActivity :
|
|||||||
mCreditCard = Util.getParcelableAdaptive(
|
mCreditCard = Util.getParcelableAdaptive(
|
||||||
intent, ConstantString.Card, CreditCardBean::class.java
|
intent, ConstantString.Card, CreditCardBean::class.java
|
||||||
)
|
)
|
||||||
isEdit = getBoolean(ConstantString.Edit, false)
|
isEdit = getBoolean(ConstantString.Edit)
|
||||||
|
isHavePaymentMethodID = getBoolean(ConstantString.isCheck)
|
||||||
}
|
}
|
||||||
if (null == mCreditCard) mCreditCard = CreditCardBean()
|
if (null == mCreditCard) mCreditCard = CreditCardBean()
|
||||||
|
|
||||||
@@ -382,14 +386,7 @@ class AddCreditCardPaymentActivity :
|
|||||||
setButtonEnabled(btnSaveNewCreditCard, ConstantInt.Type0)
|
setButtonEnabled(btnSaveNewCreditCard, ConstantInt.Type0)
|
||||||
lifecycleScope.launch(Dispatchers.IO) {
|
lifecycleScope.launch(Dispatchers.IO) {
|
||||||
mCreditCard?.let {
|
mCreditCard?.let {
|
||||||
MyDatabase.creditCardDao().deleteAll(MyDatabase.CREDIT_CARD_TABLE)
|
if (isHavePaymentMethodID && isEdit) {
|
||||||
it.cardNumber = cardNumber
|
|
||||||
it.cardName = cardName
|
|
||||||
it.expirationDate = creditCardValidity
|
|
||||||
it.cvv = cvv
|
|
||||||
val insertResult = MyDatabase.creditCardDao().insert(it)
|
|
||||||
if (insertResult > 0) {
|
|
||||||
if (isEdit) {
|
|
||||||
val dates = creditCardValidity.split("/")
|
val dates = creditCardValidity.split("/")
|
||||||
// 用 PaymentMethodCreateParams 封装银行卡,不再直接new Card
|
// 用 PaymentMethodCreateParams 封装银行卡,不再直接new Card
|
||||||
val cardParams =
|
val cardParams =
|
||||||
@@ -403,13 +400,23 @@ class AddCreditCardPaymentActivity :
|
|||||||
paymentMethodParams,
|
paymentMethodParams,
|
||||||
callback = object : ApiResultCallback<PaymentMethod> {
|
callback = object : ApiResultCallback<PaymentMethod> {
|
||||||
override fun onError(e: Exception) {
|
override fun onError(e: Exception) {
|
||||||
showToast(R.string.txt_missing_param)
|
var message = e.message
|
||||||
|
if (null == message || TextUtils.isEmpty(message)) message =
|
||||||
|
getString(R.string.txt_missing_param)
|
||||||
|
showToast(message)
|
||||||
setButtonEnabled(btnSaveNewCreditCard, ConstantInt.Type1)
|
setButtonEnabled(btnSaveNewCreditCard, ConstantInt.Type1)
|
||||||
LogUtil.e("PaymentMethodCreateParams,${e.message}")
|
LogUtil.e("PaymentMethodCreateParams,${e.message}")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSuccess(result: PaymentMethod) {
|
override fun onSuccess(result: PaymentMethod) {
|
||||||
LogUtil.e(result.toString())
|
LogUtil.e(result.toString())
|
||||||
|
MyDatabase.creditCardDao()
|
||||||
|
.deleteAll(MyDatabase.CREDIT_CARD_TABLE)
|
||||||
|
it.cardNumber = cardNumber
|
||||||
|
it.cardName = cardName
|
||||||
|
it.expirationDate = creditCardValidity
|
||||||
|
it.cvv = cvv
|
||||||
|
MyDatabase.creditCardDao().insert(it)
|
||||||
val paymentMethodID = "${result.id}"
|
val paymentMethodID = "${result.id}"
|
||||||
mSubscriptionPayViewModel.savePaymentMethodInfo(
|
mSubscriptionPayViewModel.savePaymentMethodInfo(
|
||||||
paymentMethodID
|
paymentMethodID
|
||||||
@@ -417,6 +424,12 @@ class AddCreditCardPaymentActivity :
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
MyDatabase.creditCardDao().deleteAll(MyDatabase.CREDIT_CARD_TABLE)
|
||||||
|
it.cardNumber = cardNumber
|
||||||
|
it.cardName = cardName
|
||||||
|
it.expirationDate = creditCardValidity
|
||||||
|
it.cvv = cvv
|
||||||
|
MyDatabase.creditCardDao().insert(it)
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
setResult(ResultCode.ResultCode_1, null)
|
setResult(ResultCode.ResultCode_1, null)
|
||||||
showToast(R.string.txt_save_successful, isFinish = true)
|
showToast(R.string.txt_save_successful, isFinish = true)
|
||||||
@@ -426,7 +439,6 @@ class AddCreditCardPaymentActivity :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private fun deleteCard() {
|
private fun deleteCard() {
|
||||||
ViewUtil.instance.showDialog(
|
ViewUtil.instance.showDialog(
|
||||||
|
|||||||
@@ -135,6 +135,13 @@ class CreditCardPaymentFragment : BaseFragment<FragmentCreditCardPaymentBinding>
|
|||||||
Intent(mContext, AddCreditCardPaymentActivity::class.java).let {
|
Intent(mContext, AddCreditCardPaymentActivity::class.java).let {
|
||||||
it.putExtra(ConstantString.Card, cardBean)
|
it.putExtra(ConstantString.Card, cardBean)
|
||||||
it.putExtra(ConstantString.Edit, true)
|
it.putExtra(ConstantString.Edit, true)
|
||||||
|
//是否存在PaymentMethodID
|
||||||
|
var isHavePaymentMethodID = false
|
||||||
|
getHostActivity(PaymentMethodActivity::class.java)?.let { h ->
|
||||||
|
isHavePaymentMethodID =
|
||||||
|
!(null == h.mPaymentIDBean || TextUtils.isEmpty(h.mPaymentIDBean?.stripeMethodInfo?.lastFourNumber))
|
||||||
|
}
|
||||||
|
it.putExtra(ConstantString.isCheck, isHavePaymentMethodID)
|
||||||
launchActivity(mActivity!!, mActivityResultLauncher, it)
|
launchActivity(mActivity!!, mActivityResultLauncher, it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -273,7 +280,10 @@ class CreditCardPaymentFragment : BaseFragment<FragmentCreditCardPaymentBinding>
|
|||||||
paymentMethodParams,
|
paymentMethodParams,
|
||||||
callback = object : ApiResultCallback<PaymentMethod> {
|
callback = object : ApiResultCallback<PaymentMethod> {
|
||||||
override fun onError(e: Exception) {
|
override fun onError(e: Exception) {
|
||||||
showToast(R.string.txt_missing_param)
|
var message = e.message
|
||||||
|
if (null == message || TextUtils.isEmpty(message)) message =
|
||||||
|
getString(R.string.txt_missing_param)
|
||||||
|
showToast(message)
|
||||||
showNoCancelableLoading(false)
|
showNoCancelableLoading(false)
|
||||||
LogUtil.e("ApiResultCallback,${e.message}")
|
LogUtil.e("ApiResultCallback,${e.message}")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
<string name="txt_card_list_end">À partir du %s</string>
|
<string name="txt_card_list_end">À partir du %s</string>
|
||||||
<string name="txt_duration_min_unit">%s min</string>
|
<string name="txt_duration_min_unit">%s min</string>
|
||||||
<string name="txt_legal_info_content">En utilisant notre application, vous acceptez notre Politique de confidentialité et nos Conditions générales. Nous pouvons les mettre à jour occasionnellement - votre utilisation continue signifie que vous acceptez ces modifications.</string>
|
<string name="txt_legal_info_content">En utilisant notre application, vous acceptez notre Politique de confidentialité et nos Conditions générales. Nous pouvons les mettre à jour occasionnellement - votre utilisation continue signifie que vous acceptez ces modifications.</string>
|
||||||
|
<!-- Android -->
|
||||||
<string name="start_txt_yes">Oui</string>
|
<string name="start_txt_yes">Oui</string>
|
||||||
<string name="system_txt_copyright">Copyright © %d ABBIDOT Tous droits réservés</string>
|
<string name="system_txt_copyright">Copyright © %d ABBIDOT Tous droits réservés</string>
|
||||||
<string name="tracker_number">%d traceurs</string>
|
<string name="tracker_number">%d traceurs</string>
|
||||||
@@ -357,7 +358,6 @@
|
|||||||
<string name="text_sticker_hint_easy_photos">Double-cliquez pour modifier</string>
|
<string name="text_sticker_hint_easy_photos">Double-cliquez pour modifier</string>
|
||||||
<string name="text_sticker_hint_name_easy_photos">Personnaliser</string>
|
<string name="text_sticker_hint_name_easy_photos">Personnaliser</string>
|
||||||
<string name="picture_selection_easy_photos">Sélection de photos</string>
|
<string name="picture_selection_easy_photos">Sélection de photos</string>
|
||||||
|
|
||||||
<string name="gif_easy_photos">GIF</string>
|
<string name="gif_easy_photos">GIF</string>
|
||||||
<string name="txt_card_list_time">Jours</string>
|
<string name="txt_card_list_time">Jours</string>
|
||||||
<string name="txt_card_auto_sub">Renouvellement automatique :</string>
|
<string name="txt_card_auto_sub">Renouvellement automatique :</string>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
# This option should only be used with decoupled projects. For more details, visit
|
# This option should only be used with decoupled projects. For more details, visit
|
||||||
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
|
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
|
||||||
# org.gradle.parallel=true
|
# org.gradle.parallel=true
|
||||||
#Wed Jun 10 09:53:29 CST 2026
|
#Fri Jun 26 11:14:19 CST 2026
|
||||||
BAIDU_MAP_KEY=YT2CmlqAkpMyzmw1AKNIBlYlBtHESEaW
|
BAIDU_MAP_KEY=YT2CmlqAkpMyzmw1AKNIBlYlBtHESEaW
|
||||||
BUGLY_KEY=06fc0a9cd1
|
BUGLY_KEY=06fc0a9cd1
|
||||||
GOOGLE_MAP_KEY=AIzaSyCFEqlOoo2274NsX7tzoQjs_DA7B9N7-gY
|
GOOGLE_MAP_KEY=AIzaSyCFEqlOoo2274NsX7tzoQjs_DA7B9N7-gY
|
||||||
@@ -25,4 +25,4 @@ android.nonTransitiveRClass=false
|
|||||||
android.suppressUnsupportedCompileSdk=34
|
android.suppressUnsupportedCompileSdk=34
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
org.gradle.jvmargs=-Xmx1024M -Dkotlin.daemon.jvm.options\="-Xmx1024M" -Dfile.encoding\=UTF-8
|
org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1536M" -Dfile.encoding\=UTF-8
|
||||||
|
|||||||
Reference in New Issue
Block a user