三方支付逻辑修改,ui调整
This commit is contained in:
@@ -26,12 +26,16 @@ import com.google.android.flexbox.AlignItems
|
||||
import com.google.android.flexbox.FlexboxLayoutManager
|
||||
import com.google.android.flexbox.JustifyContent
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.umeng.commonsdk.statistics.common.DeviceConfig
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.databinding.DialogFirstChargeBinding
|
||||
import com.yizhuan.erban.event.ChargeEvent
|
||||
import com.yizhuan.erban.ui.pay.BillingManager
|
||||
import com.yizhuan.erban.ui.setting.ModifyPwdActivity
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity
|
||||
import com.yizhuan.xchat_android_core.UriProvider
|
||||
import com.yizhuan.xchat_android_core.pay.PayModel
|
||||
import com.yizhuan.xchat_android_core.pay.bean.FirstChargeGoods
|
||||
import com.yizhuan.xchat_android_core.pay.bean.FirstChargeReward
|
||||
@@ -40,6 +44,7 @@ import com.yizhuan.xchat_android_core.pay.event.FirstChargeEvent
|
||||
import com.yizhuan.xchat_android_core.utils.net.IgnoreException
|
||||
import com.yizhuan.xchat_android_core.utils.toast
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
@@ -56,7 +61,8 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
private lateinit var rewardAdapter: RewardAdapter
|
||||
private lateinit var rvDelegate: RVDelegate<FirstChargeReward>
|
||||
private lateinit var helpPopupWindow: PopupWindow
|
||||
private lateinit var billingManager: BillingManager
|
||||
private var billingManager: BillingManager? = null
|
||||
private var position = -1
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
@@ -76,33 +82,39 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, height)
|
||||
window.setGravity(Gravity.CENTER)
|
||||
EventBus.getDefault().register(this)
|
||||
initBilling()
|
||||
binding.rbPlanA.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = true
|
||||
binding.rbPlanB.isChecked = false
|
||||
binding.rbPlanC.isChecked = false
|
||||
updateCurrGoods(goodsList?.getOrNull(0))
|
||||
position = 0
|
||||
}
|
||||
binding.rbPlanB.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = false
|
||||
binding.rbPlanB.isChecked = true
|
||||
binding.rbPlanC.isChecked = false
|
||||
updateCurrGoods(goodsList?.getOrNull(1))
|
||||
position = 1
|
||||
}
|
||||
binding.rbPlanC.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = false
|
||||
binding.rbPlanB.isChecked = false
|
||||
binding.rbPlanC.isChecked = true
|
||||
updateCurrGoods(goodsList?.getOrNull(2))
|
||||
position = 2
|
||||
}
|
||||
binding.ivHelp.setOnClickListener { showHelpPopup() }
|
||||
binding.tvCharge.setOnClickListener {
|
||||
// currGoods?.let {
|
||||
// SelectPayTypeDialog.newInstance(it.chargeProdId, "¥${it.chargeMoney}")
|
||||
// .show(this)
|
||||
// } ?: run {
|
||||
// ResUtil.getString(R.string.avroom_firstcharge_firstchargedialog_01).toast()
|
||||
// }
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if(position == -1){
|
||||
ResUtil.getString(R.string.avroom_firstcharge_firstchargedialog_01).toast()
|
||||
}else if (channel.equals("google")) {
|
||||
goodsList?.get(position)?.let { charge ->
|
||||
buyProduct(charge.skuDetails)
|
||||
}
|
||||
} else {
|
||||
CommonWebViewActivity.start(context, UriProvider.getOfficialPay(6, DeviceConfig.getDeviceId(context)))
|
||||
}
|
||||
}
|
||||
|
||||
rvDelegate = RVDelegate.Builder<FirstChargeReward>()
|
||||
@@ -113,22 +125,6 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
})
|
||||
.setRecyclerView(binding.recyclerView)
|
||||
.build()
|
||||
|
||||
binding.viewBg.setOnClickListener {
|
||||
//do nothing
|
||||
}
|
||||
binding.root.setOnClickListener {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun initBilling() {
|
||||
billingManager = BillingManager(this, this)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onBillingClientSetupFinished() {
|
||||
Log.i(TAG, "onBillingClientSetupFinished")
|
||||
dialogManager.showProgressDialog(this)
|
||||
PayModel.get().firstChargeList
|
||||
.compose(bindToLifecycle())
|
||||
@@ -141,6 +137,12 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
SingleToastUtil.showToast(it.message)
|
||||
finish()
|
||||
})
|
||||
binding.viewBg.setOnClickListener {
|
||||
//do nothing
|
||||
}
|
||||
binding.root.setOnClickListener {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@@ -148,6 +150,7 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
this.goodsList = goodsList
|
||||
binding.rbPlanA.isChecked = true
|
||||
updateCurrGoods(goodsList.getOrNull(0))
|
||||
position = 0
|
||||
when (goodsList.size) {
|
||||
1 -> {
|
||||
binding.rbPlanB.visibility = View.GONE
|
||||
@@ -165,15 +168,28 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
binding.rbPlanC.text = "${goodsList[2].chargeMoney}$"
|
||||
}
|
||||
}
|
||||
initProduceList(goodsList)
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if (channel.equals("google")) {
|
||||
initBilling()
|
||||
}
|
||||
}
|
||||
|
||||
private fun initProduceList(chargeBeanList: List<FirstChargeGoods>) {
|
||||
private fun initBilling() {
|
||||
billingManager = BillingManager(this, this)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onBillingClientSetupFinished() {
|
||||
Log.i(TAG, "onBillingClientSetupFinished")
|
||||
goodsList?.let { initProduceList(it) }
|
||||
}
|
||||
|
||||
private fun initProduceList(goodsList: List<FirstChargeGoods>) {
|
||||
val productKeys: MutableList<String> = ArrayList()
|
||||
for (chargeBean in chargeBeanList) {
|
||||
productKeys.add(chargeBean.chargeProdId)
|
||||
for (bean in goodsList) {
|
||||
productKeys.add(bean.chargeProdId)
|
||||
}
|
||||
billingManager.querySkuDetailsAsync(
|
||||
billingManager?.querySkuDetailsAsync(
|
||||
BillingClient.SkuType.INAPP, productKeys
|
||||
) { billingResult: BillingResult, skuDetailsList: List<SkuDetails>? ->
|
||||
if (billingResult.responseCode != BillingClient.BillingResponseCode.OK) {
|
||||
@@ -183,12 +199,10 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
+ ". Error code: " + billingResult.responseCode
|
||||
)
|
||||
} else if (skuDetailsList != null && skuDetailsList.isNotEmpty()) {
|
||||
// val showChargeList: MutableList<FirstChargeGoods> = ArrayList()
|
||||
for (chargeBean in chargeBeanList) {
|
||||
for (chargeBean in goodsList) {
|
||||
for (skuDetails in skuDetailsList) {
|
||||
if (skuDetails.sku == chargeBean.chargeProdId) {
|
||||
chargeBean.skuDetails = skuDetails
|
||||
// showChargeList.add(chargeBean)
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -214,7 +228,7 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
.subscribe(
|
||||
{ token: String? ->
|
||||
//L.i("token=" + token);
|
||||
billingManager.consumeAsync(token)
|
||||
billingManager?.consumeAsync(token)
|
||||
var skuDetails: SkuDetails? = null
|
||||
val goodList = goodsList
|
||||
if (goodList != null && goodList.isNotEmpty()) {
|
||||
@@ -270,7 +284,7 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{ recordId: PayRecordId ->
|
||||
billingManager.initiatePurchaseFlow(
|
||||
billingManager?.initiatePurchaseFlow(
|
||||
skuDetails,
|
||||
recordId.recordId
|
||||
)
|
||||
@@ -287,15 +301,15 @@ class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (billingManager.isServiceConnected) {
|
||||
billingManager.onQueryPurchases()
|
||||
if (billingManager?.isServiceConnected == true) {
|
||||
billingManager?.onQueryPurchases()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
EventBus.getDefault().unregister(this)
|
||||
billingManager.destroy()
|
||||
billingManager?.destroy()
|
||||
}
|
||||
|
||||
private fun updateCurrGoods(firstChargeGoods: FirstChargeGoods?) {
|
||||
|
@@ -19,10 +19,12 @@ import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@@ -907,7 +909,7 @@ public abstract class BaseActivity extends RxAppCompatActivity
|
||||
RedPackageNotifyInfo notifyInfo = new Gson().fromJson(String.valueOf(baseProtocol.getData()), RedPackageNotifyInfo.class);
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null && roomInfo.getUid() == notifyInfo.getRoomUid() && context instanceof AVRoomActivity) {
|
||||
RedPackageOpenDialog.Companion.newInstance(notifyInfo).show(this);
|
||||
RedPackageOpenDialog.Companion.newInstance(notifyInfo).show(BaseActivity.this);
|
||||
} else {
|
||||
RedPackageGoRoomDialog.Companion.newInstance(notifyInfo).show(this);
|
||||
}
|
||||
|
14
app/src/main/java/com/yizhuan/erban/event/ChargeEvent.java
Normal file
14
app/src/main/java/com/yizhuan/erban/event/ChargeEvent.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package com.yizhuan.erban.event;
|
||||
|
||||
public class ChargeEvent {
|
||||
private String message;
|
||||
|
||||
public ChargeEvent(String data) {
|
||||
this.message = data;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
@@ -9,6 +9,7 @@ import androidx.core.view.isVisible
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.umeng.commonsdk.statistics.common.DeviceConfig
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.UIHelper
|
||||
import com.yizhuan.erban.avroom.activity.AVRoomActivity
|
||||
@@ -221,8 +222,16 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
val initInfo = InitialModel.get().cacheInitInfo
|
||||
val list = initInfo?.giveDiamondErbanNoList
|
||||
if (list?.contains(mUserInfo?.erbanNo ?: 0L) == true) {
|
||||
mBinding.tvMyRoomRight.visibility = View.GONE
|
||||
mBinding.tvMyRoom.visibility = View.VISIBLE
|
||||
mBinding.tvEarnRight.visibility = View.GONE
|
||||
mBinding.tvEarn.visibility = View.VISIBLE
|
||||
mBinding.llCleanDiamonds.visibility = View.VISIBLE
|
||||
} else {
|
||||
mBinding.tvMyRoomRight.visibility = View.VISIBLE
|
||||
mBinding.tvMyRoom.visibility = View.GONE
|
||||
mBinding.tvEarnRight.visibility = View.VISIBLE
|
||||
mBinding.tvEarn.visibility = View.GONE
|
||||
mBinding.llCleanDiamonds.visibility = View.GONE
|
||||
}
|
||||
|
||||
@@ -359,28 +368,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
FansListActivity::class.java
|
||||
)
|
||||
)
|
||||
R.id.me_item_vip -> {
|
||||
// CommonWebViewActivity.start(context, UriProvider.getOfficialPay(5))
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if (channel.equals("google")) {
|
||||
VipMainActivity.start(mContext)
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK,
|
||||
getString(R.string.me_noble_my_entry_click_event)
|
||||
)
|
||||
//后面产品新加的
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_USERCENTER_NOBLE_CARD_CLICK,
|
||||
getString(R.string.me_Individual_center_noble_card_card_click)
|
||||
)
|
||||
} else {
|
||||
CommonWebViewActivity.start(context, UriProvider.getOfficialPay(5))
|
||||
}
|
||||
}
|
||||
R.id.me_item_wallet -> {
|
||||
// CommonWebViewActivity.start(context, UriProvider.getOfficialPay(4))
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if (channel.equals("google")) {
|
||||
ChargeActivity.start(mContext)
|
||||
@@ -390,9 +378,28 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
getString(R.string.me_personal_center_recharge_card_click)
|
||||
)
|
||||
} else {
|
||||
CommonWebViewActivity.start(context, UriProvider.getOfficialPay(4))
|
||||
CommonWebViewActivity.start(
|
||||
context, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceConfig.getDeviceId(context)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
R.id.me_item_vip -> {
|
||||
VipMainActivity.start(mContext)
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK,
|
||||
getString(R.string.me_noble_my_entry_click_event)
|
||||
)
|
||||
//后面产品新加的
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_USERCENTER_NOBLE_CARD_CLICK,
|
||||
getString(R.string.me_Individual_center_noble_card_card_click)
|
||||
)
|
||||
}
|
||||
R.id.ll_room -> {
|
||||
//我的房间,开房
|
||||
StatisticManager.Instance()
|
||||
|
@@ -22,7 +22,9 @@ import com.android.billingclient.api.PurchasesUpdatedListener;
|
||||
import com.android.billingclient.api.SkuDetails;
|
||||
import com.android.billingclient.api.SkuDetailsParams;
|
||||
import com.android.billingclient.api.SkuDetailsResponseListener;
|
||||
import com.yizhuan.erban.event.ChargeEvent;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@@ -25,6 +25,7 @@ import com.opensource.svgaplayer.SVGADrawable
|
||||
import com.opensource.svgaplayer.SVGAImageView
|
||||
import com.opensource.svgaplayer.SVGAParser
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity
|
||||
import com.umeng.commonsdk.statistics.common.DeviceConfig
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.base.TitleBar
|
||||
@@ -48,6 +49,7 @@ import com.yizhuan.xchat_android_core.utils.toast
|
||||
import com.yizhuan.xchat_android_core.vip.VipAuthInfo
|
||||
import com.yizhuan.xchat_android_core.vip.VipInfo
|
||||
import com.yizhuan.xchat_android_core.vip.VipOpenEvent
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
@@ -73,24 +75,13 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
private val authAdapter = VipAuthAdapter()
|
||||
private lateinit var rvDelegate: RVDelegate<VipAuthInfo>
|
||||
private val vipViewModel: VipViewModel by viewModels()
|
||||
private lateinit var billingManager: BillingManager
|
||||
private var bean: ChargeBean ?= null
|
||||
private var billingManager: BillingManager? = null
|
||||
private var bean: ChargeBean? = null
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun init() {
|
||||
EventBus.getDefault().register(this)
|
||||
initWhiteTitleBar(getString(R.string.vip_center))
|
||||
initBilling()
|
||||
binding.tvOpenVip.setOnClickListener {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_VIP_OPEN_CLICK,
|
||||
getString(R.string.me_open_nobleman_click_event)
|
||||
)
|
||||
bean?.let {
|
||||
buyProduct(it.skuDetails)
|
||||
}
|
||||
}
|
||||
mTitleBar.addAction(object : TitleBar.ImageAction(R.drawable.ic_vip_help) {
|
||||
override fun performAction(view: View) {
|
||||
CommonWebViewActivity.start(this@VipMainActivity, UriProvider.getVipHelpUrl())
|
||||
@@ -188,6 +179,12 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
binding.tvOpenVip.isVisible = true
|
||||
binding.slAuth.isVisible = true
|
||||
binding.tvNotOpen.text = getString(R.string.me_no_aristocracy_yet)
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if (channel.equals("google")) {
|
||||
initBilling()
|
||||
} else {
|
||||
loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,6 +224,35 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult", "SetTextI18n")
|
||||
private fun loadData() {
|
||||
PayModel.get().getChargeList(2, AuthModel.get().currentUid)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{
|
||||
val chargeInfo = it.list.getOrNull(0)
|
||||
chargeInfo?.let { chargeBean ->
|
||||
binding.tvOpenVip.text =
|
||||
"${chargeBean.getMoney()}${getString(R.string.me_immediately_become_a_Peko_nobleman)}"
|
||||
binding.tvOpenVip.setOnClickListener {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_VIP_OPEN_CLICK,
|
||||
getString(R.string.me_open_nobleman_click_event)
|
||||
)
|
||||
CommonWebViewActivity.start(
|
||||
context,
|
||||
UriProvider.getOfficialPay(5, DeviceConfig.getDeviceId(context))
|
||||
)
|
||||
}
|
||||
}
|
||||
}, {
|
||||
it.printStackTrace()
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
private fun initBilling() {
|
||||
billingManager = BillingManager(this, this)
|
||||
}
|
||||
@@ -309,7 +335,7 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
chargeInfo?.let { chargeBean ->
|
||||
val productKeys: MutableList<String> = ArrayList()
|
||||
productKeys.add(chargeBean.getChargeProdId())
|
||||
billingManager.querySkuDetailsAsync(
|
||||
billingManager?.querySkuDetailsAsync(
|
||||
BillingClient.SkuType.INAPP, productKeys
|
||||
) { billingResult: BillingResult, skuDetailsList: List<SkuDetails>? ->
|
||||
if (billingResult.responseCode != BillingClient.BillingResponseCode.OK) {
|
||||
@@ -332,6 +358,16 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
binding.tvOpenVip.text = "${
|
||||
bean?.getMoney()
|
||||
}${getString(R.string.me_immediately_become_a_Peko_nobleman)}"
|
||||
binding.tvOpenVip.setOnClickListener {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(
|
||||
StatisticsProtocol.EVENT_VIP_OPEN_CLICK,
|
||||
getString(R.string.me_open_nobleman_click_event)
|
||||
)
|
||||
bean?.let { charge ->
|
||||
buyProduct(charge.skuDetails)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -360,7 +396,7 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
.subscribe(
|
||||
{ token: String? ->
|
||||
//L.i("token=" + token);
|
||||
billingManager.consumeAsync(token)
|
||||
billingManager?.consumeAsync(token)
|
||||
var skuDetails: SkuDetails? = null
|
||||
if (bean?.getChargeProdId() == purchase.skus[0]) {
|
||||
skuDetails = bean?.skuDetails
|
||||
@@ -410,7 +446,7 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{ recordId: PayRecordId ->
|
||||
billingManager.initiatePurchaseFlow(
|
||||
billingManager?.initiatePurchaseFlow(
|
||||
skuDetails,
|
||||
recordId.recordId
|
||||
)
|
||||
@@ -427,15 +463,15 @@ class VipMainActivity : BaseViewBindingActivity<ActivityVipMainBinding>(),
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (billingManager.isServiceConnected) {
|
||||
billingManager.onQueryPurchases()
|
||||
if (billingManager?.isServiceConnected == true) {
|
||||
billingManager?.onQueryPurchases()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
EventBus.getDefault().unregister(this)
|
||||
billingManager.destroy()
|
||||
billingManager?.destroy()
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
@@ -11,8 +11,7 @@
|
||||
android:id="@+id/iv_cover"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:scaleType="fitXY"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@@ -522,11 +522,12 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/ll_room"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical"
|
||||
@@ -537,26 +538,48 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_my_center">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_my_room"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/me_my_room" />
|
||||
android:src="@drawable/me_my_room"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_my_room_right"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_my_room_right"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/me_my_room"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintStart_toEndOf="@+id/iv_my_room"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_my_room"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_my_room"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_my_room"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:text="@string/me_my_room"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_my_room"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/ll_gain"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical"
|
||||
@@ -567,29 +590,52 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_my_center">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_earn"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/me_gain_recording" />
|
||||
android:src="@drawable/me_gain_recording"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/tv_earn_right"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_earn_right"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/me_gain_recording"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintStart_toEndOf="@+id/iv_earn"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_earn"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_earn"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_earn"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:text="@string/me_gain_recording"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
android:textSize="@dimen/sp_14"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/iv_earn"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_clean_diamonds"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:gravity="center"
|
||||
android:onClick="@{click}"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
android:layout_marginTop="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_weight="1"
|
||||
@@ -605,7 +651,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginBottom="@dimen/dp_18"
|
||||
android:text="@string/me_clean_diamond"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
@@ -3,6 +3,7 @@ package com.yizhuan.xchat_android_core;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.utils.Logger;
|
||||
|
||||
/**
|
||||
* 请求接口接口地址
|
||||
@@ -512,8 +513,8 @@ public class UriProvider {
|
||||
/**
|
||||
* 第三方支付
|
||||
*/
|
||||
public static String getOfficialPay(int type) {
|
||||
return JAVA_WEB_URL.concat("/peko/modules/pay/index.html?channelType=" + type);
|
||||
public static String getOfficialPay(int type, String deviceId) {
|
||||
return JAVA_WEB_URL.concat("/peko/modules/pay/index.html?channelType=" + type + "&deviceId=" + deviceId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -24,5 +24,5 @@ only_arm64=false
|
||||
|
||||
channel_file=channel.txt
|
||||
|
||||
version_name=1.0.6
|
||||
version_code=106
|
||||
version_name=1.0.7
|
||||
version_code=107
|
Reference in New Issue
Block a user