三方支付逻辑修改,ui调整

This commit is contained in:
wushaocheng
2022-10-25 00:08:31 +08:00
parent 0044039bfe
commit 899b7da76a
10 changed files with 217 additions and 97 deletions

View File

@@ -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?) {

View File

@@ -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);
}

View 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;
}
}

View File

@@ -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()

View File

@@ -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;

View File

@@ -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?) {

View File

@@ -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"

View File

@@ -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" />

View File

@@ -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);
}
}

View File

@@ -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