|
@@ -4,9 +4,12 @@ import android.os.Bundle
|
|
import android.view.Gravity
|
|
import android.view.Gravity
|
|
import android.widget.Toast
|
|
import android.widget.Toast
|
|
import androidx.fragment.app.viewModels
|
|
import androidx.fragment.app.viewModels
|
|
|
|
+import com.alibaba.android.arouter.launcher.ARouter
|
|
import com.android.billingclient.api.Purchase
|
|
import com.android.billingclient.api.Purchase
|
|
import com.swago.baseswago.PayVm
|
|
import com.swago.baseswago.PayVm
|
|
import com.swago.baseswago.R
|
|
import com.swago.baseswago.R
|
|
|
|
+import com.swago.baseswago.constant.ARouteConstant
|
|
|
|
+import com.swago.baseswago.constant.UrlConstant
|
|
import com.swago.baseswago.databinding.DialogBenefitBagBinding
|
|
import com.swago.baseswago.databinding.DialogBenefitBagBinding
|
|
import com.swago.baseswago.libpay.IPayCallback
|
|
import com.swago.baseswago.libpay.IPayCallback
|
|
import com.swago.baseswago.libpay.PayManager
|
|
import com.swago.baseswago.libpay.PayManager
|
|
@@ -20,7 +23,7 @@ import com.swago.baseswago.util.UserInfo
|
|
*@date 2022/1/18 20:29
|
|
*@date 2022/1/18 20:29
|
|
*description:
|
|
*description:
|
|
*/
|
|
*/
|
|
-class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback {
|
|
|
|
|
|
+class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>() {
|
|
|
|
|
|
private val payVm by viewModels<PayVm>()
|
|
private val payVm by viewModels<PayVm>()
|
|
var benefitIconDismissFun:(()->Unit)? = null
|
|
var benefitIconDismissFun:(()->Unit)? = null
|
|
@@ -37,8 +40,8 @@ class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback
|
|
}
|
|
}
|
|
|
|
|
|
override fun initOther() {
|
|
override fun initOther() {
|
|
- PayManager.listener.add(this)
|
|
|
|
payVm.getBenefit()
|
|
payVm.getBenefit()
|
|
|
|
+ binding.tvRecharge.text = AppContext.getContext().resources.getString(R.string.recharge)
|
|
binding.ivClose.setOnClickListener(object:NoDoubleClickListener(){
|
|
binding.ivClose.setOnClickListener(object:NoDoubleClickListener(){
|
|
override fun onClick() {
|
|
override fun onClick() {
|
|
dismissAllowingStateLoss()
|
|
dismissAllowingStateLoss()
|
|
@@ -46,10 +49,10 @@ class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback
|
|
})
|
|
})
|
|
binding.tvRecharge.setOnClickListener(object:NoDoubleClickListener(){
|
|
binding.tvRecharge.setOnClickListener(object:NoDoubleClickListener(){
|
|
override fun onClick() {
|
|
override fun onClick() {
|
|
- activity?.let {
|
|
|
|
- SwagoLoading.showLoadingDialog(it)
|
|
|
|
- PayManager.queryUnConsumeOrder(productId)
|
|
|
|
- }
|
|
|
|
|
|
+ ARouter.getInstance().build(ARouteConstant.Base.webView)
|
|
|
|
+ .withString("url", UrlConstant.TOP_UP)
|
|
|
|
+ .navigation()
|
|
|
|
+ dismissAllowingStateLoss()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -63,7 +66,6 @@ class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback
|
|
payModel.product_coins = it.product_coins
|
|
payModel.product_coins = it.product_coins
|
|
val list = ArrayList<PayModel>()
|
|
val list = ArrayList<PayModel>()
|
|
list.add(payModel)
|
|
list.add(payModel)
|
|
- PayManager.queryProductPrice(list)
|
|
|
|
|
|
|
|
if (it.is_pop_discount_package == 0){
|
|
if (it.is_pop_discount_package == 0){
|
|
payVm.surePopBenefit()
|
|
payVm.surePopBenefit()
|
|
@@ -71,63 +73,9 @@ class BenefitBagDialog : BaseXDFragment<DialogBenefitBagBinding>(), IPayCallback
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- override fun onDestroyView() {
|
|
|
|
- PayManager.listener.remove(this)
|
|
|
|
- super.onDestroyView()
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
init {
|
|
init {
|
|
setCanCancel(false)
|
|
setCanCancel(false)
|
|
setGravity(Gravity.CENTER)
|
|
setGravity(Gravity.CENTER)
|
|
setDimAmount(0.5f)
|
|
setDimAmount(0.5f)
|
|
}
|
|
}
|
|
-
|
|
|
|
- override fun onConnectedServer() {
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun onPaySuccess(data: List<Purchase>?) {
|
|
|
|
- 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("")
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- 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)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun onPayCancel() {
|
|
|
|
- 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)
|
|
|
|
- }
|
|
|
|
- orderLostDialog.show(childFragmentManager, "OrderLostDialog")
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun consumeOrderSuccess() {
|
|
|
|
- dismissAllowingStateLoss()
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun consumeOrderFail(code: Int) {
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun toCreateNewOrder(productId: String) {
|
|
|
|
- payVm.createOrder(productId)
|
|
|
|
- }
|
|
|
|
}
|
|
}
|