add 初始化修复

This commit is contained in:
cyh 2024-09-12 11:25:49 +08:00
parent b8747254e8
commit 0997a43a0d
10 changed files with 399 additions and 43 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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