add 初始化修复
This commit is contained in:
parent
b8747254e8
commit
0997a43a0d
|
|
@ -124,6 +124,7 @@
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".act.SettingActivity"
|
android:name=".act.SettingActivity"
|
||||||
|
android:process=":background"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".act.ProxyModeActivity"
|
android:name=".act.ProxyModeActivity"
|
||||||
|
|
|
||||||
|
|
@ -176,10 +176,14 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
|
||||||
com.yingmao.clash.common.log.Log.d("ChangeNode22 uuid==>$pu")
|
com.yingmao.clash.common.log.Log.d("ChangeNode22 uuid==>$pu")
|
||||||
com.yingmao.clash.common.log.Log.d("gogogogogo")
|
com.yingmao.clash.common.log.Log.d("gogogogogo")
|
||||||
if (isDelete) {
|
if (isDelete) {
|
||||||
|
com.yingmao.clash.common.log.Log.d("gogogogogo isDelete")
|
||||||
profileManager.delete(pu)
|
profileManager.delete(pu)
|
||||||
// setSub2(profileManager, NewMainActivity.subUrl)
|
// setSub2(profileManager, NewMainActivity.subUrl)
|
||||||
setSub2(profileManager, NewMainActivity.subUrl)
|
setSub2(profileManager, NewMainActivity.subUrl)
|
||||||
} else {
|
} else {
|
||||||
|
com.yingmao.clash.common.log.Log.d("gogogogogo update")
|
||||||
|
profileManager.setActive(pro)
|
||||||
|
delay(500)
|
||||||
profileManager.update(pu)
|
profileManager.update(pu)
|
||||||
}
|
}
|
||||||
com.yingmao.clash.common.log.Log.d("gogogogogo end")
|
com.yingmao.clash.common.log.Log.d("gogogogogo end")
|
||||||
|
|
@ -245,11 +249,8 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
|
||||||
var newDatas=mutableListOf<ClashNodebBean>();
|
var newDatas=mutableListOf<ClashNodebBean>();
|
||||||
group?.proxies?.forEach { proxy ->
|
group?.proxies?.forEach { proxy ->
|
||||||
Log.d("node==>${proxy}")
|
Log.d("node==>${proxy}")
|
||||||
|
|
||||||
if (currentNode?.isNotEmpty() == true) {
|
if (currentNode?.isNotEmpty() == true) {
|
||||||
|
|
||||||
for (nodeItem:ClashNodebBean in currentNode!!){
|
for (nodeItem:ClashNodebBean in currentNode!!){
|
||||||
|
|
||||||
if (nodeItem.name==proxy.name){
|
if (nodeItem.name==proxy.name){
|
||||||
if (proxy.name!="自动选择"){
|
if (proxy.name!="自动选择"){
|
||||||
nodeItem.delay=proxy.delay;
|
nodeItem.delay=proxy.delay;
|
||||||
|
|
|
||||||
|
|
@ -135,25 +135,20 @@ class MainActivity : BaseActivity() {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
profileBinder?.let { pm ->
|
profileBinder?.let { pm ->
|
||||||
|
|
||||||
val active = pm.queryActive()
|
val active = pm.queryActive()
|
||||||
|
|
||||||
if (active == null) {
|
if (active == null) {
|
||||||
com.yingmao.clash.common.log.Log.d("startClash: 未选择")
|
com.yingmao.clash.common.log.Log.d("startClash: 未选择")
|
||||||
val pro = pm.queryAll().find {
|
val pro = pm.queryAll().find {
|
||||||
it.name == Conf.getClashConfName(this@MainActivity.applicationContext)
|
it.name == Conf.getClashConfName(this@MainActivity.applicationContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
pro?.let { profile ->
|
pro?.let { profile ->
|
||||||
com.yingmao.clash.common.log.Log.d("new setactive name " + profile.name)
|
com.yingmao.clash.common.log.Log.d("new setactive name " + profile.name)
|
||||||
pm.setActive(profile)
|
pm.setActive(profile)
|
||||||
|
|
||||||
newUuid = profile.uuid.toString();
|
newUuid = profile.uuid.toString();
|
||||||
isSubed = true
|
isSubed = true
|
||||||
|
|
||||||
var selected_name =
|
var selected_name =
|
||||||
MMKV.defaultMMKV()
|
MMKV.defaultMMKV()
|
||||||
.decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "")!!
|
.decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "")
|
||||||
|
|
||||||
}
|
}
|
||||||
delay(500)
|
delay(500)
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,6 @@ class NewMainActivity : BaseActivity() {
|
||||||
var isUpload: Boolean = false
|
var isUpload: Boolean = false
|
||||||
var hostsMem: ArrayList<String> = ArrayList()
|
var hostsMem: ArrayList<String> = ArrayList()
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
|
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
|
||||||
|
|
@ -978,7 +977,6 @@ class NewMainActivity : BaseActivity() {
|
||||||
Log.d("setSub2 delete ==>${itemPro.name}")
|
Log.d("setSub2 delete ==>${itemPro.name}")
|
||||||
pm.delete(itemPro.uuid)
|
pm.delete(itemPro.uuid)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
val pro = pm.queryActive()
|
val pro = pm.queryActive()
|
||||||
|
|
||||||
|
|
@ -987,7 +985,9 @@ class NewMainActivity : BaseActivity() {
|
||||||
var actname = it.name
|
var actname = it.name
|
||||||
com.yingmao.clash.common.log.Log.d("new main actname==>" + actname)
|
com.yingmao.clash.common.log.Log.d("new main actname==>" + actname)
|
||||||
Log.d("setSub2 pro 已存在 ==>" + Gson().toJson(pro))
|
Log.d("setSub2 pro 已存在 ==>" + Gson().toJson(pro))
|
||||||
// pm.setActive(it)
|
pm.setActive(it)
|
||||||
|
delay(500)
|
||||||
|
pm.update(it.uuid)
|
||||||
newUuid = pro.uuid.toString();
|
newUuid = pro.uuid.toString();
|
||||||
isSubed = true
|
isSubed = true
|
||||||
Log.d("setSub2 setActive end")
|
Log.d("setSub2 setActive end")
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,29 @@ package com.yingmao.clash.act
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.text.TextUtils
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import com.google.gson.Gson
|
||||||
|
|
||||||
import com.tencent.mmkv.MMKV
|
import com.tencent.mmkv.MMKV
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
|
import com.yingmao.clash.act.NewMainActivity.Companion.isSubed
|
||||||
|
import com.yingmao.clash.act.NewMainActivity.Companion.newUuid
|
||||||
|
import com.yingmao.clash.act.NewMainActivity.Companion.profileBinder
|
||||||
|
import com.yingmao.clash.app.MainApplication
|
||||||
import com.yingmao.clash.base.BaseActivity
|
import com.yingmao.clash.base.BaseActivity
|
||||||
|
import com.yingmao.clash.common.log.Log
|
||||||
import com.yingmao.clash.conf.BZYConstants
|
import com.yingmao.clash.conf.BZYConstants
|
||||||
|
import com.yingmao.clash.conf.Conf
|
||||||
|
import com.yingmao.clash.service.model.Profile
|
||||||
|
import com.yingmao.clash.service.remote.IProfileManager
|
||||||
|
import com.yingmao.clash.view.RxToast
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.Job
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
class SettingActivity : BaseActivity() {
|
class SettingActivity : BaseActivity() {
|
||||||
|
|
||||||
|
|
@ -42,6 +58,27 @@ class SettingActivity : BaseActivity() {
|
||||||
intent.putExtra(BZYConstants.EXTRA_KEY_AGREEMENT, BZYConstants.EXTRA_USER_AGREEMENT)
|
intent.putExtra(BZYConstants.EXTRA_KEY_AGREEMENT, BZYConstants.EXTRA_USER_AGREEMENT)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
findViewById<View>(R.id.ll_chushihua).setOnClickListener {
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(NewMainActivity.subUrl)){
|
||||||
|
return@setOnClickListener
|
||||||
|
}
|
||||||
|
showLoading("正在修复中...", this@SettingActivity)
|
||||||
|
|
||||||
|
launch(Dispatchers.IO) {
|
||||||
|
NewMainActivity.profileBinder?.let { pm ->
|
||||||
|
pm.queryAll().forEach { profile ->
|
||||||
|
Log.d("setting profile delete ==>${profile.name}")
|
||||||
|
pm.delete(profile.uuid)
|
||||||
|
}
|
||||||
|
delay(1000)
|
||||||
|
if (NewMainActivity.subUrl?.isNotEmpty() == true) {
|
||||||
|
startTimer()
|
||||||
|
setSub2(NewMainActivity.subUrl!!,pm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
|
@ -54,5 +91,86 @@ class SettingActivity : BaseActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public suspend fun setSub2(url: String, pm: IProfileManager) {
|
||||||
|
com.yingmao.clash.common.log.Log.d("setSub2 2")
|
||||||
|
pm.queryAll().forEach { itemPro ->
|
||||||
|
if (itemPro.name != Conf.getClashConfName(MainApplication.getApp())) {
|
||||||
|
Log.d("setSub2 delete ==>${itemPro.name}")
|
||||||
|
pm.delete(itemPro.uuid)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
val pro = pm.queryActive()
|
||||||
|
|
||||||
|
com.yingmao.clash.common.log.Log.d("setSub2 4")
|
||||||
|
pro?.let {
|
||||||
|
var actname = it.name
|
||||||
|
com.yingmao.clash.common.log.Log.d("new main actname==>" + actname)
|
||||||
|
// Log.d("setSub2 pro 已存在 ==>" + Gson().toJson(pro))
|
||||||
|
pm.setActive(it)
|
||||||
|
newUuid = pro.uuid.toString();
|
||||||
|
isSubed = true
|
||||||
|
Log.d("setSub2 setActive end")
|
||||||
|
finishInit()
|
||||||
|
} ?: run {
|
||||||
|
var uuid: UUID = pm.create(
|
||||||
|
Profile.Type.Url, Conf.getClashConfName(MainApplication.getApp())
|
||||||
|
)
|
||||||
|
delay(500)
|
||||||
|
pm.queryByUUID(uuid)?.let { qPro ->
|
||||||
|
pm.setActive(qPro)
|
||||||
|
pm.patch(
|
||||||
|
qPro.uuid, qPro.name,
|
||||||
|
// "https://mojie0201.xn--8stx8olrwkucjq3b.com/api/v1/client/subscribe?token=169110d2674c49604b7e5b5cea341579",
|
||||||
|
// "https://www.otcopusapp.cc/lx3af288h5i8pz380/api/v1/client/subscribe?token=d6bc98c7ea53099fa5bd1a3ea415ebb6",
|
||||||
|
// "https://reg.bazhuayujiasu.cc/api/v1/client/subscribe?token=7f0f025ab341bcec4822d2c90aadf8b0",
|
||||||
|
url, 1800000L
|
||||||
|
)
|
||||||
|
// coroutineScope {
|
||||||
|
pm.commit(qPro.uuid) { status ->
|
||||||
|
android.util.Log.d(
|
||||||
|
Conf.TAG,
|
||||||
|
"new updateStatus: " + Gson().toJson(status.args) + ", pro==>" + status.progress
|
||||||
|
)
|
||||||
|
}
|
||||||
|
newUuid = qPro.uuid.toString();
|
||||||
|
isSubed = true
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
finishInit()
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun finishInit() {
|
||||||
|
timerJob?.cancel()
|
||||||
|
|
||||||
|
runOnUiThread {
|
||||||
|
hideLoading()
|
||||||
|
RxToast.info("修复完成.如果问题还未修复请联系客服.")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun errInit(){
|
||||||
|
runOnUiThread {
|
||||||
|
hideLoading()
|
||||||
|
RxToast.error("修复超时.请关闭App后重新再试.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private var timerJob: Job? = null
|
||||||
|
var GetNodeTimeOutNum = 5;
|
||||||
|
private fun startTimer() {
|
||||||
|
GetNodeTimeOutNum = 5
|
||||||
|
timerJob = launch {
|
||||||
|
repeat(5) {
|
||||||
|
GetNodeTimeOutNum--
|
||||||
|
Log.d("GetNodeTimeOutNum==>$GetNodeTimeOutNum")
|
||||||
|
delay(1000)
|
||||||
|
}
|
||||||
|
|
||||||
|
errInit()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -195,11 +195,11 @@ class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispatch
|
||||||
// tv_proxy_model.text = "智能模式"
|
// tv_proxy_model.text = "智能模式"
|
||||||
// }
|
// }
|
||||||
com.yingmao.clash.common.log.Log.d("clashRunning==>$clashRunning")
|
com.yingmao.clash.common.log.Log.d("clashRunning==>$clashRunning")
|
||||||
// if (clashRunning) {
|
if (clashRunning) {
|
||||||
// stateChanged(Clash_Started, false)
|
stateChanged(Clash_Started, false)
|
||||||
// } else {
|
} else {
|
||||||
// stateChanged(Clash_Stop, false)
|
stateChanged(Clash_Stop, false)
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,9 @@ import com.afollestad.materialdialogs.MaterialDialog
|
||||||
import com.afollestad.materialdialogs.customview.customView
|
import com.afollestad.materialdialogs.customview.customView
|
||||||
import com.afollestad.materialdialogs.customview.getCustomView
|
import com.afollestad.materialdialogs.customview.getCustomView
|
||||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||||
import com.google.zxing.BarcodeFormat
|
//import com.google.zxing.BarcodeFormat
|
||||||
import com.google.zxing.MultiFormatWriter
|
//import com.google.zxing.MultiFormatWriter
|
||||||
import com.journeyapps.barcodescanner.BarcodeEncoder
|
//import com.journeyapps.barcodescanner.BarcodeEncoder
|
||||||
import com.orhanobut.logger.Logger
|
import com.orhanobut.logger.Logger
|
||||||
import com.tencent.mmkv.MMKV
|
import com.tencent.mmkv.MMKV
|
||||||
import com.yingmao.clash.R
|
import com.yingmao.clash.R
|
||||||
|
|
@ -466,23 +466,23 @@ class RechargeFragment : BaseFragment() {
|
||||||
|
|
||||||
val ivQr = getCustomView().findViewById<ImageView>(R.id.iv_qr)
|
val ivQr = getCustomView().findViewById<ImageView>(R.id.iv_qr)
|
||||||
|
|
||||||
val writer = MultiFormatWriter()
|
// val writer = MultiFormatWriter()
|
||||||
val matrix = writer.encode(url, BarcodeFormat.QR_CODE, 300, 300)
|
// val matrix = writer.encode(url, BarcodeFormat.QR_CODE, 300, 300)
|
||||||
val encoder = BarcodeEncoder()
|
// val encoder = BarcodeEncoder()
|
||||||
val bitmap = encoder.createBitmap(matrix)
|
// val bitmap = encoder.createBitmap(matrix)
|
||||||
ivQr.setImageBitmap(bitmap)
|
// ivQr.setImageBitmap(bitmap)
|
||||||
|
|
||||||
getCustomView().findViewById<TextView>(R.id.tv_pay_finish).setOnClickListener {
|
getCustomView().findViewById<TextView>(R.id.tv_pay_finish).setOnClickListener {
|
||||||
showLoadingDialog("正在查询支付结果...")
|
showLoadingDialog("正在查询支付结果...")
|
||||||
viewModel.codePayStatus(outTradeNo)
|
viewModel.codePayStatus(outTradeNo)
|
||||||
}
|
}
|
||||||
|
|
||||||
getCustomView().findViewById<TextView>(R.id.tv_pay_cancle).setOnClickListener {
|
// getCustomView().findViewById<TextView>(R.id.tv_pay_cancle).setOnClickListener {
|
||||||
if (bitmap != null && !bitmap.isRecycled) {
|
// if (bitmap != null && !bitmap.isRecycled) {
|
||||||
bitmap.recycle()
|
// bitmap.recycle()
|
||||||
dismiss()
|
// dismiss()
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -389,6 +389,38 @@ public class AESUtil {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AES 解密操作
|
||||||
|
*
|
||||||
|
* @param content 密文
|
||||||
|
* @return 明文
|
||||||
|
*/
|
||||||
|
public static String Registerdecrypt(String content,String key,String iv) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
//创建密码器
|
||||||
|
Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM);
|
||||||
|
|
||||||
|
//密码key
|
||||||
|
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes("utf-8"), KEY_ALGORITHM);
|
||||||
|
|
||||||
|
//向量iv
|
||||||
|
IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes("utf-8"));
|
||||||
|
|
||||||
|
//初始化为解密模式的密码器
|
||||||
|
cipher.init(Cipher.DECRYPT_MODE, keySpec, ivParameterSpec);
|
||||||
|
|
||||||
|
//执行操作
|
||||||
|
byte[] result = cipher.doFinal(hexStringToBytes(content));
|
||||||
|
|
||||||
|
return new String(result, "utf-8");
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 反射获取 getSubscriberId ,既imsi
|
* 反射获取 getSubscriberId ,既imsi
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -164,8 +164,39 @@
|
||||||
android:layout_marginLeft="@dimen/dp_10"
|
android:layout_marginLeft="@dimen/dp_10"
|
||||||
android:src="@drawable/ic_s_arrow_right" />
|
android:src="@drawable/ic_s_arrow_right" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
<View
|
||||||
|
android:layout_marginRight="20dp"
|
||||||
|
android:layout_marginLeft="20dp"
|
||||||
|
android:background="@color/white_50"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"/>
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/ll_chushihua"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingRight="30dp"
|
||||||
|
android:paddingLeft="30dp"
|
||||||
|
android:paddingTop="@dimen/dp_10"
|
||||||
|
android:paddingBottom="@dimen/dp_10">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="初始化修复"
|
||||||
|
android:textColor="@color/text_yellow"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:layout_marginLeft="@dimen/dp_10"
|
||||||
|
android:src="@drawable/ic_s_arrow_right" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
|
||||||
202
build.gradle.kts
202
build.gradle.kts
|
|
@ -51,8 +51,8 @@ subprojects {
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
//noinspection ExpiredTargetSdkVersion
|
//noinspection ExpiredTargetSdkVersion
|
||||||
targetSdk = 31
|
targetSdk = 31
|
||||||
versionName = "1.0.1.6"
|
versionName = "1.0.1.8"
|
||||||
versionCode = 1016
|
versionCode = 1018
|
||||||
resValue("string", "release_name", "v$versionName")
|
resValue("string", "release_name", "v$versionName")
|
||||||
resValue("integer", "release_code", "$versionCode")
|
resValue("integer", "release_code", "$versionCode")
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
|
|
@ -176,7 +176,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
|
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "productId", "\"9586\"")
|
buildConfigField("String", "productId", "\"9586\"")
|
||||||
|
|
||||||
|
|
@ -186,6 +186,7 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
create("9707") {
|
create("9707") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -208,6 +209,28 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
create("9686") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "productId", "\"9686\"")
|
||||||
|
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
create("6789") {
|
create("6789") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -219,7 +242,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"6789\"")
|
buildConfigField("String", "productId", "\"6789\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -246,6 +269,27 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
create("5352") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"5352\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
create("9583") {
|
create("9583") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -257,7 +301,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"9583\"")
|
buildConfigField("String", "productId", "\"9583\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -276,6 +320,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
// buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"9972\"")
|
buildConfigField("String", "productId", "\"9972\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
|
|
@ -284,7 +329,101 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
create("3307") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
// buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"3307\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
create("1588") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"1588\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
create("1595") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"1595\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
create("1979") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
// buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"1979\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
create("9059") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
// buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"9059\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
create("6507") {
|
create("6507") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -296,7 +435,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"6507\"")
|
buildConfigField("String", "productId", "\"6507\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -305,6 +444,26 @@ subprojects {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
create("6193") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"6193\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
create("6886") {
|
create("6886") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -316,7 +475,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"6886\"")
|
buildConfigField("String", "productId", "\"6886\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -336,7 +495,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"6159\"")
|
buildConfigField("String", "productId", "\"6159\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -344,7 +503,25 @@ subprojects {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
create("1608") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
if (isApp) {
|
||||||
|
// applicationIdSuffix = ".meta"
|
||||||
|
}
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
|
buildConfigField("String", "productId", "\"1608\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
create("182242") {
|
create("182242") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
|
|
@ -356,7 +533,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"182242\"")
|
buildConfigField("String", "productId", "\"182242\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -422,7 +599,7 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "true")
|
buildConfigField("boolean", "is_free", "true")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yingmaovpnpro.win:18002\"")
|
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:18002\"")
|
||||||
buildConfigField("String", "productId", "\"22222\"")
|
buildConfigField("String", "productId", "\"22222\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
@ -442,7 +619,8 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_ym", "true")
|
buildConfigField("boolean", "is_ym", "true")
|
||||||
buildConfigField("boolean", "is_free", "false")
|
buildConfigField("boolean", "is_free", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
|
||||||
buildConfigField("String", "service_url", "\"https://113.108.210.50:21002\"")
|
// buildConfigField("String", "service_url", "\"https://113.108.210.50:21002\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://test.yingmaox.cc:21002\"")
|
||||||
buildConfigField("String", "productId", "\"0000\"")
|
buildConfigField("String", "productId", "\"0000\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue