Commit d7d7d337 authored by mengcuiguang2's avatar mengcuiguang2

代码优化

parent 03e5e97e
......@@ -3,6 +3,9 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
//sharesdk
apply plugin: 'com.mob.sdk'
android {
compileSdkVersion rootProject.ext.androidCompileSdkVersion
buildToolsVersion rootProject.ext.androidBuildToolsVersion
......@@ -142,6 +145,32 @@ android {
}
MobSDK {
spEdition "fp"
appKey RELEASE_SHARESDK_KEY
appSecret RELEASE_SHARESDK_SECRET
def wxappid = WEIXIN_APP_ID
def wxsecret = WEIXIN_APP_SECRET
ShareSDK {
devInfo {
Wechat {
appId wxappid
appSecret wxsecret
userName "gh_afb25ac019c9"
path "pages/index/index.html?id=1"
withShareTicket true
miniprogramType 0
}
WechatMoments {
appId wxappid
appSecret wxsecret
}
}
}
}
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.3.0'
......
......@@ -190,6 +190,18 @@
android:name=".ui.service.UpdateService"
android:exported="true" />
<!-- ShareSDK -->
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!-- 自有下载 -->
<provider
......
......@@ -184,8 +184,8 @@ class VipPresenter : BasePresenter<VipView>() {
fun getVipPayParams(payChannel: String, pid: String, isInstallAlipay: Boolean,enter:String) {
val vo = HashMap<String, Any>()
// vo["payChannel"] = payChannel
vo["payChannel"] = "ALIPAY"
vo["payChannel"] = payChannel
// vo["payChannel"] = "ALIPAY"
vo["pid"] = pid
vo["isInstallAlipay"] = isInstallAlipay
AppHttpManager.getInstance(loanApplication)
......@@ -207,7 +207,7 @@ class VipPresenter : BasePresenter<VipView>() {
val code: Int = baseResponse.getStatus()
when (code) {
200 -> {
view.getVipPayParamsSuc("ALIPAY", baseResponse.data,enter)
view.getVipPayParamsSuc(payChannel, baseResponse.data,enter)
}
else -> {
view.showToast(baseResponse.getMessage())
......
......@@ -13,12 +13,16 @@ import com.duben.happyplaylet.MintsApplication
import com.duben.happyplaylet.R
import com.duben.happyplaylet.common.Constant
import com.duben.happyplaylet.manager.TrackManager
import com.duben.happyplaylet.manager.UserManager
import com.duben.happyplaylet.ui.activitys.base.BaseActivity
import com.duben.happyplaylet.utils.MateUtils
import com.duben.happyplaylet.utils.ToastUtil
import com.duben.library.utils.ConstantUtil
import com.duben.library.utils.json.JsonUtil
import com.duben.library.utils.nodoubleclick.AntiShake
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import kotlinx.android.synthetic.main.activity_aboutus.*
import kotlinx.android.synthetic.main.header_layout.*
......@@ -42,12 +46,13 @@ class AboutusActivity : BaseActivity(), View.OnClickListener {
iv_left_icon.setImageResource(R.mipmap.ic_arrow_back)
ivAboutasIcon.setOnLongClickListener {
ToastUtil.showLong(
this, "自有渠道:" + MateUtils.getAppMetaData(
MintsApplication.getContext(), "CHANNEL_NAME"
) +
"\n 头条渠道:" + HumeSDK.getChannel(context)
)
// ToastUtil.showLong(
// this, "自有渠道:" + MateUtils.getAppMetaData(
// MintsApplication.getContext(), "CHANNEL_NAME"
// ) +
// "\n 头条渠道:" + HumeSDK.getChannel(context)
// )
openWxApp()
true
}
......@@ -99,4 +104,22 @@ class AboutusActivity : BaseActivity(), View.OnClickListener {
}
}
private fun openWxApp() {
// AppConfig.enterAlipay = true
try {
val appId = "wxdafe24fe177a5661" // 填移动应用(App)的 AppId,非小程序的 AppID
val api: IWXAPI = WXAPIFactory.createWXAPI(context, appId)
val req = WXLaunchMiniProgram.Req()
req.userName = "gh_439c32026e1b" // 填小程序原始id
req.path =
"/pages/loading?" + "app_uid=" + UserManager.getInstance().userID + "&package_app=" + Constant.MINTS_PKG_NAME+ "&source_type=android"
req.miniprogramType =
WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
// WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
api.sendReq(req)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
......@@ -65,6 +65,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
const val VEDIO_ID = "VEDIO_ID"
const val ENTER_TYPE_DIALOG = "ENTER_TYPE_DIALOG"
const val ENTER_TYPE_ACTIVITY = "ENTER_TYPE_ACTIVITY"
const val ENTER_TYPE_NONE = "ENTER_TYPE_NONE"
}
var timer: CountDownTimerSupport? = null
......@@ -173,31 +174,31 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
* 设置content样式
*/
private fun setVipContent(bean: VipBean.ListBean) {
// if (bean.isAlipay && bean.isWeixin) {
// ll_vip_alipay.visibility = View.VISIBLE
// ll_vip_wx.visibility = View.VISIBLE
// payType = WEIXIN_PAY
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none)
// } else if (bean.isAlipay && !bean.isWeixin) {
// ll_vip_alipay.visibility = View.VISIBLE
// ll_vip_wx.visibility = View.GONE
// payType = ALIPAY
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
// } else if (!bean.isAlipay && bean.isWeixin) {
// ll_vip_alipay.visibility = View.GONE
// ll_vip_wx.visibility = View.VISIBLE
// payType = WEIXIN_PAY
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none)
// }
ll_vip_alipay.visibility = View.VISIBLE
ll_vip_wx.visibility = View.GONE
payType = ALIPAY
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
if (bean.isAlipay && bean.isWeixin) {
ll_vip_alipay.visibility = View.VISIBLE
ll_vip_wx.visibility = View.VISIBLE
payType = WEIXIN_PAY
iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none)
} else if (bean.isAlipay && !bean.isWeixin) {
ll_vip_alipay.visibility = View.VISIBLE
ll_vip_wx.visibility = View.GONE
payType = ALIPAY
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
} else if (!bean.isAlipay && bean.isWeixin) {
ll_vip_alipay.visibility = View.GONE
ll_vip_wx.visibility = View.VISIBLE
payType = WEIXIN_PAY
iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none)
}
// ll_vip_alipay.visibility = View.VISIBLE
// ll_vip_wx.visibility = View.GONE
// payType = ALIPAY
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
if (!TextUtils.isEmpty(bean.remarks)) {
......@@ -218,43 +219,35 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
override fun getVipPayParamsSuc(payChannel: String, paramsBean: WxPayParamBean, enter: String) {
if (!isFinishing) {
if (TextUtils.equals(payChannel, "WEIXIN")) {
if (paramsBean.params == null) {
showToast("微信支付维护中")
return
}
if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()]
val payToModel = vipBean.payToModel
//0 app内部,1.只签约转支付宝浏览器支付 2.带uid转支付宝小程序(暂定只有一个小程序)
when (payToModel) {
0 -> {
if (TextUtils.equals(payChannel, "WEIXIN")) {
if (paramsBean.params == null) {
showToast("微信支付维护中")
return
}
wxPay(paramsBean)
} else {
if (paramsBean.params == null) {
showToast("支付宝支付维护中")
return
}
wxPay(paramsBean)
} else {
if (paramsBean.params == null) {
showToast("支付宝支付维护中")
return
}
if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()]
val payToModel = vipBean.payToModel
//0 app内部,1.只签约转支付宝浏览器支付 2.带uid转支付宝小程序(暂定只有一个小程序)
when (payToModel) {
0 -> {
alipay(paramsBean)
}
1 -> {
openAutoAlipay(paramsBean.params.params)
}
2 -> {
if (TextUtils.equals(ENTER_TYPE_ACTIVITY, enter)) {
openAlipayApp(vipBean.payToModel2FirstAlipayAppid)
} else {
openAlipayApp(vipBean.payToModel2SecondAlipayAppid)
}
}
3 -> {
openWxApp()
}
}
1 -> {
openAutoAlipay(paramsBean.params.params)
}
}
}
}
}
......@@ -312,13 +305,13 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
vipAdapter.setPosition(0)
vipAdapter.notifyDataSetChanged()
val vipBean = vipList!![0]
if (vipBean.trial == 1) {
ll_vip_alipay.visibility = View.VISIBLE
ll_vip_wx.visibility = View.GONE
payType = ALIPAY
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
}
// if (vipBean.trial == 1) {
// ll_vip_alipay.visibility = View.VISIBLE
// ll_vip_wx.visibility = View.GONE
// payType = ALIPAY
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
// }
backPayYesDialog(vipBean)
return true
}
......@@ -340,13 +333,13 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
vipAdapter.setPosition(0)
vipAdapter.notifyDataSetChanged()
val vipBean = vipList!![0]
if (vipBean.trial == 1) {
ll_vip_alipay.visibility = View.VISIBLE
ll_vip_wx.visibility = View.GONE
payType = ALIPAY
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
}
// if (vipBean.trial == 1) {
// ll_vip_alipay.visibility = View.VISIBLE
// ll_vip_wx.visibility = View.GONE
// payType = ALIPAY
// iv_vip_alipay.setImageResource(R.mipmap.ic_vip_enable_blue)
// iv_vip_wx.setImageResource(R.mipmap.ic_vip_none)
// }
backPayYesDialog(vipBean)
} else {
finish()
......@@ -365,17 +358,13 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
agreementPayDialog()
} else {
if (TextUtils.equals(payType, WEIXIN_PAY)) {
vipPresenter.getVipPayParams(
"WEIXIN",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("WEIXIN",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
} else if (TextUtils.equals(payType, ALIPAY)) {
vipPresenter.getVipPayParams(
"ALIPAY",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("ALIPAY",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
}
}
} else {
......@@ -566,19 +555,15 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()]
if (TextUtils.equals(payType, WEIXIN_PAY)) {
vipPresenter.getVipPayParams(
"WEIXIN",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_DIALOG
)
vipPayPrarms("WEIXIN",
vipBean.pid,
ENTER_TYPE_DIALOG)
} else if (TextUtils.equals(payType, ALIPAY)) {
vipPresenter.getVipPayParams(
"ALIPAY",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_DIALOG
)
vipPayPrarms("ALIPAY",
vipBean.pid,
ENTER_TYPE_DIALOG)
}
} else {
showToast("产品未配置")
}
......@@ -622,17 +607,13 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
when (v.id) {
R.id.tv_agreement_next -> {
if (TextUtils.equals(payType, WEIXIN_PAY)) {
vipPresenter.getVipPayParams(
"WEIXIN",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("WEIXIN",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
} else if (TextUtils.equals(payType, ALIPAY)) {
vipPresenter.getVipPayParams(
"ALIPAY",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("ALIPAY",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
}
}
......@@ -673,17 +654,13 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
agreementPayDialog()
} else {
if (TextUtils.equals(payType, WEIXIN_PAY)) {
vipPresenter.getVipPayParams(
"WEIXIN",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("WEIXIN",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
} else if (TextUtils.equals(payType, ALIPAY)) {
vipPresenter.getVipPayParams(
"ALIPAY",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY
)
vipPayPrarms("ALIPAY",
vipBean.pid,
ENTER_TYPE_ACTIVITY)
}
}
} else {
......@@ -755,12 +732,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
super.onClick(dialog, v)
dialog?.dismiss()
vipPresenter.getVipPayParams(
"ALIPAY",
vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_DIALOG
)
vipPayPrarms("ALIPAY",
vipBean.pid,
ENTER_TYPE_DIALOG)
}
})
.show()
......@@ -813,19 +787,65 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
}
private fun openWxApp() {
// AppConfig.enterAlipay = true
AppConfig.enterAlipay = true
try {
val appId = wxAppId // 填移动应用(App)的 AppId,非小程序的 AppID
val appId = "wxdafe24fe177a5661" // 填移动应用(App)的 AppId,非小程序的 AppID
val api: IWXAPI = WXAPIFactory.createWXAPI(context, appId)
val req = WXLaunchMiniProgram.Req()
req.userName = "gh_439c32026e1b" // 填小程序原始id
req.path =
"/pages/loading?" + "app_uid=" + UserManager.getInstance().userID + "&package_app=" + Constant.MINTS_PKG_NAME+ "&source_type=android"
"/pages/loading?" + "app_uid=" + UserManager.getInstance().userID + "&package_app=" + Constant.MINTS_PKG_NAME + "&source_type=android"
req.miniprogramType =
// WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
api.sendReq(req)
} catch (e: Exception) {
e.printStackTrace()
}
}
private fun vipPayPrarms(payChannel: String, pid: String, enterType: String) {
if (TextUtils.equals(payChannel, "WEIXIN")) {
if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()]
val payToModel = vipBean.payToModel
//0 app内部,1.只签约转支付宝浏览器支付 2.带uid转支付宝小程序(暂定只有一个小程序)
when (payToModel) {
3 -> {
openWxApp()
}
else -> {
vipPresenter.getVipPayParams(
payChannel,
pid, isAliPayInstalled(),
enterType
)
}
}
}
} else {
if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()]
val payToModel = vipBean.payToModel
//0 app内部,1.只签约转支付宝浏览器支付 2.带uid转支付宝小程序(暂定只有一个小程序)
when (payToModel) {
2 -> {
if (TextUtils.equals(ENTER_TYPE_ACTIVITY, enterType)) {
openAlipayApp(vipBean.payToModel2FirstAlipayAppid)
} else {
openAlipayApp(vipBean.payToModel2SecondAlipayAppid)
}
}
else -> {
vipPresenter.getVipPayParams(
payChannel,
pid, isAliPayInstalled(),
enterType
)
}
}
}
}
}
}
\ No newline at end of file
......@@ -39,7 +39,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Base
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 禁止截图
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
if (android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.O) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
......
......@@ -79,7 +79,7 @@ class PayYesDialog(
.create()
} else {
tv_dialog_vip_count.text = SpanUtils()
.append("" + vipBean.price.toInt())
.append("" + vipBean.price)
.setFontSize(30, true)
.append(" 元")
.setFontSize(16, true)
......
/*
* 官网地站:http://www.mob.com
* 技术支持QQ: 4006852216
* 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复)
*
* Copyright (c) 2013年 mob.com. All rights reserved.
*/
package com.duben.happyplaylet.wxapi;
import android.content.Intent;
import android.widget.Toast;
import cn.sharesdk.wechat.utils.WXAppExtendObject;
import cn.sharesdk.wechat.utils.WXMediaMessage;
import cn.sharesdk.wechat.utils.WechatHandlerActivity;
/** 微信客户端回调activity示例 */
public class WXEntryActivity extends WechatHandlerActivity {
/**
* 处理微信发出的向第三方应用请求app message
* <p>
* 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
* 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
* 做点其他的事情,包括根本不打开任何页面
*/
public void onGetMessageFromWXReq(WXMediaMessage msg) {
if (msg != null) {
Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
startActivity(iLaunchMyself);
}
}
/**
* 处理微信向第三方应用发起的消息
* <p>
* 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
* 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
* 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
* 回调。
* <p>
* 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
*/
public void onShowMessageFromWXReq(WXMediaMessage msg) {
if (msg != null && msg.mediaObject != null
&& (msg.mediaObject instanceof WXAppExtendObject)) {
WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;
Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
}
}
}
......@@ -7,6 +7,10 @@ buildscript {
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://s01.oss.sonatype.org/content/groups/public" }
//sharesdk
maven {
url "https://mvn.mob.com/android"
}
// 穿山甲
maven {
url 'https://artifact.bytedance.com/repository/Volcengine/'
......@@ -21,6 +25,8 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:7.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// sharesdk
classpath "com.mob.sdk:MobSDK:2018.0319.1724"
}
}
......@@ -30,6 +36,10 @@ allprojects {
jcenter()
mavenCentral() // Maven Central repository
maven { url "https://jitpack.io" }
//sharesdk
maven {
url "https://mvn.mob.com/android"
}
maven { url "https://s01.oss.sonatype.org/content/groups/public" }
// 穿山甲
maven {
......
<?xml version="1.0" encoding="utf-8"?>
<DevInfor>
<SinaWeibo Enable="false" />
<TencentWeibo Enable="false" />
<Douban Enable="false" />
<QZone Enable="false" />
<Renren Enable="false" />
<KaiXin Enable="false" />
<Facebook Enable="false" />
<Twitter Enable="false" />
<Evernote Enable="false" />
<FourSquare Enable="false" />
<GooglePlus Enable="false" />
<Instagram Enable="false" />
<LinkedIn Enable="false" />
<Tumblr Enable="false" />
<Email Enable="false" />
<ShortMessage Enable="false" />
<Wechat AppId="wxdafe24fe177a5661" AppSecret="9eff885315f5f74fc9d6980e2bb1714a" userName="gh_afb25ac019c9" path="pages/index/index.html?id=1" WithShareTicket="true" MiniprogramType="0" />
<WechatMoments AppId="wxdafe24fe177a5661" AppSecret="9eff885315f5f74fc9d6980e2bb1714a" />
<QQ Enable="false" />
<Instapaper Enable="false" />
<Pocket Enable="false" />
<YouDao Enable="false" />
<Pinterest Enable="false" />
<Flickr Enable="false" />
<Dropbox Enable="false" />
<VKontakte Enable="false" />
<WechatFavorite Enable="false" />
<Yixin Enable="false" />
<YixinMoments Enable="false" />
<Mingdao Enable="false" />
<Line Enable="false" />
<WhatsApp Enable="false" />
<KakaoTalk Enable="false" />
<KakaoStory Enable="false" />
<FacebookMessenger Enable="false" />
<Alipay Enable="false" />
<AlipayMoments Enable="false" />
<Dingding Enable="false" />
<Youtube Enable="false" />
<Meipai Enable="false" />
<Telegram Enable="false" />
<Cmcc Enable="false" />
<Reddit Enable="false" />
<Telecom Enable="false" />
<Accountkit Enable="false" />
<Douyin Enable="false" />
<Wework Enable="false" />
<HWAccount Enable="false" />
<Oasis Enable="false" />
<XMAccount Enable="false" />
<SnapChat Enable="false" />
<Kuaishou Enable="false" />
<Littleredbook Enable="false" />
<Watermelonvideo Enable="false" />
<Tiktok Enable="false" />
<Taptap Enable="false" />
</DevInfor>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment