|
@@ -4,6 +4,7 @@ import android.os.Bundle
|
|
|
import android.view.Gravity
|
|
|
import android.widget.Toast
|
|
|
import androidx.fragment.app.viewModels
|
|
|
+import androidx.lifecycle.lifecycleScope
|
|
|
import com.android.billingclient.api.Purchase
|
|
|
import com.swago.baseswago.PayVm
|
|
|
import com.swago.baseswago.R
|
|
@@ -15,6 +16,8 @@ import com.swago.baseswago.util.AppContext
|
|
|
import com.swago.baseswago.util.NoDoubleClickListener
|
|
|
import com.swago.baseswago.util.SwagoLoading
|
|
|
import com.swago.baseswago.util.UserInfo
|
|
|
+import kotlinx.coroutines.Dispatchers
|
|
|
+import kotlinx.coroutines.launch
|
|
|
|
|
|
/**
|
|
|
*@date 2022/1/18 20:29
|
|
@@ -86,48 +89,70 @@ class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback
|
|
|
}
|
|
|
|
|
|
override fun onPaySuccess(data: List<Purchase>?) {
|
|
|
- data?.forEach {
|
|
|
- payVm.payOrderToServer(it, 1)
|
|
|
- UserInfo.getUserInfo()?.is_benefit = 1
|
|
|
- benefitIconDismissFun?.invoke()
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ data?.forEach {
|
|
|
+ payVm.payOrderToServer(it, 1)
|
|
|
+ UserInfo.getUserInfo()?.is_benefit = 1
|
|
|
+ benefitIconDismissFun?.invoke()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
override fun onQueryProductPrice(data: List<PayModel>) {
|
|
|
- SwagoLoading.cancelLoadingDialog()
|
|
|
- binding.tvRecharge.text = data[0].product_price
|
|
|
- PayManager.queryUnConsumeOrder("")
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ SwagoLoading.cancelLoadingDialog()
|
|
|
+ binding.tvRecharge.text = data[0].product_price
|
|
|
+ PayManager.queryUnConsumeOrder("")
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun onPayError(code: Int) {
|
|
|
- SwagoLoading.cancelLoadingDialog()
|
|
|
- Toast.makeText(AppContext.getContext(), AppContext.getContext().resources.getString(R.string.pay_fail)+"-$code", Toast.LENGTH_SHORT).show()
|
|
|
- payVm.payOrderToServer(null, 2)
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ SwagoLoading.cancelLoadingDialog()
|
|
|
+ Toast.makeText(
|
|
|
+ AppContext.getContext(),
|
|
|
+ AppContext.getContext().resources.getString(R.string.pay_fail) + "-$code",
|
|
|
+ Toast.LENGTH_SHORT
|
|
|
+ ).show()
|
|
|
+ payVm.payOrderToServer(null, 2)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun onPayCancel() {
|
|
|
- Toast.makeText(AppContext.getContext(), AppContext.getContext().resources.getString(R.string.pay_cancel), Toast.LENGTH_SHORT).show()
|
|
|
- payVm.payOrderToServer(null, 3)
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ Toast.makeText(
|
|
|
+ AppContext.getContext(),
|
|
|
+ AppContext.getContext().resources.getString(R.string.pay_cancel),
|
|
|
+ Toast.LENGTH_SHORT
|
|
|
+ ).show()
|
|
|
+ payVm.payOrderToServer(null, 3)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun onUnConsumeOrder(data: List<Purchase>) {
|
|
|
- data.forEach {
|
|
|
- val orderLostDialog = OrderLostDialog.newInstance(it.orderId)
|
|
|
- orderLostDialog.commitLostOrderFun = {
|
|
|
- payVm.payOrderToServer(it,4)
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ data.forEach {
|
|
|
+ val orderLostDialog = OrderLostDialog.newInstance(it.orderId)
|
|
|
+ orderLostDialog.commitLostOrderFun = {
|
|
|
+ payVm.payOrderToServer(it, 4)
|
|
|
+ }
|
|
|
+ orderLostDialog.show(childFragmentManager, "OrderLostDialog")
|
|
|
}
|
|
|
- orderLostDialog.show(childFragmentManager, "OrderLostDialog")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
override fun consumeOrderSuccess() {
|
|
|
- dismissAllowingStateLoss()
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ dismissAllowingStateLoss()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun consumeOrderFail(code: Int) {
|
|
|
}
|
|
|
|
|
|
override fun toCreateNewOrder(productId: String) {
|
|
|
- payVm.createOrder(productId)
|
|
|
+ lifecycleScope.launch(Dispatchers.Main) {
|
|
|
+ payVm.createOrder(productId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|