diff --git a/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt b/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt
index 25c4662..f1703b1 100644
--- a/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt
@@ -132,27 +132,28 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
tvProA.setOnClickListener {
- if(!clashRunning){
+ val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ Log.d("clIntelligentMode ==>${getIsGlo}")
+ if(getIsGlo){
setBackground(ProxyMode.PAC)
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
checkGlo()
- }else{
- RxToast.info(resources.getString(R.string.closeRunningChoose))
- }
- if(clashRunning){
- RxToast.info(resources.getString(R.string.SwitchingSourceModel))
- return@setOnClickListener
}
}
tvProj.setOnClickListener {
- if(!clashRunning){
- MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
- setBackground(ProxyMode.GLOBAL)
- }else{
- RxToast.info(resources.getString(R.string.closeRunningChoose))
+ if (!clashRunning) {
+ RxToast.info(resources.getString(R.string.SwitchingSourceModel))
+ return@setOnClickListener
}
+ val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ Log.d("clGlobalModel ==>${getIsGlo}")
+ if (!getIsGlo) {
+ setBackground(ProxyMode.GLOBAL)
+ MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
+ checkGlo()
+ }
}
aiBack.setOnClickListener {
diff --git a/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
index 61869bf..89d06ec 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/home/HomeFragment.kt
@@ -229,20 +229,33 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
startActivityForResult(intent, 2)
}
tvIntelligentMode.setOnClickListener {
- if(clashRunning){
- RxToast.info(resources.getString(R.string.SwitchingSourceModel))
- return@setOnClickListener
+// if(clashRunning){
+// RxToast.info(resources.getString(R.string.SwitchingSourceModel))
+// return@setOnClickListener
+// }
+ val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ Log.d("clIntelligentMode ==>${getIsGlo}")
+ if(getIsGlo){
+ setProxyModeView(ProxyMode.PAC)
+ MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ checkGlo()
}
- setProxyModeView(ProxyMode.PAC)
- MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+
}
tvGlobalMode.setOnClickListener {
- if(clashRunning){
+ if (!clashRunning) {
RxToast.info(resources.getString(R.string.SwitchingSourceModel))
return@setOnClickListener
}
- setProxyModeView(ProxyMode.GLOBAL)
- MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
+
+ val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ Log.d("clGlobalModel ==>${getIsGlo}")
+ if (!getIsGlo) {
+ setProxyModeView(ProxyMode.GLOBAL)
+ MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
+ checkGlo()
+ }
+
}
clLinks.setOnClickListener {
if (clashRunning) {
@@ -348,12 +361,12 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
private fun startClash(isStart: Boolean) {
launch {
- if (isStart) {
- delay(2000)
- }
MainActivity.profileBinder?.let { pm ->
val active = pm.queryActive()
if (active == null) {
+ if (isStart) {
+ delay(2000)
+ }
Log.d("startClash: 未选择")
val pro = pm.queryAll().find {
it.name == Conf.getClashConfName(this@HomeFragment.context)
@@ -512,7 +525,14 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
fun nodeChooseBase(data: Intent?) {
val node = data?.extras?.getString(BZYConstants.MMKV_KEY_SELECT_NODE_NAME)
val isRunning = data?.extras?.getBoolean(BZYConstants.EXTRA_KEY_IS_RUNING)
- Log.d("onActivityResult ==>>> Node:${node}")
+ val getIsGlo= MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ if(getIsGlo){
+ setProxyModeView(ProxyMode.GLOBAL)
+ }else{
+ setProxyModeView(ProxyMode.PAC)
+ }
+ Log.d("onActivityResult ==>>> Node:${node} ::getIsGlo::${getIsGlo}")
+
node?.let {
setNodeNameAndImg(it)
if (clashRunning) {
@@ -635,32 +655,38 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
Log.i("checkGlo isGlobal==>${isGlobal} clashRunning==>${clashRunning}")
launch(Dispatchers.IO) {
if (isGlobal) {
- delay(1000)
- clashBinder?.let { cm ->
- val names = cm.queryProxyGroupNames(false)
- Log.i("checkGlo names==>${names}")
- if (names.isNotEmpty()) {
- val selectedName =
- MMKV.defaultMMKV()
- .decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "")
- Log.i("selected_name ==>${selectedName}")
- if (!TextUtils.isEmpty(selectedName)) {
- val o = cm.queryOverride(Clash.OverrideSlot.Session)
- o.mode = TunnelState.Mode.Rule
- cm.patchOverride(Clash.OverrideSlot.Session, o)
- delay(500)
- var gName = names[0]
- if (names.size >= 2) {
- if ("GLOBAL" == gName) {
- gName = names[1]
+ if (clashRunning) {
+ Log.i("AAAAAAAAAAAAAA innner to==>")
+ getNodes()
+ }
+ }else{
+ if(clashRunning){
+ delay(1000)
+ clashBinder?.let { cm ->
+ val names = cm.queryProxyGroupNames(false)
+ Log.i("checkGlo names==>${names}")
+ if (names.isNotEmpty()) {
+ val selectedName =
+ MMKV.defaultMMKV()
+ .decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "")
+ Log.i("selected_name ==>${selectedName}")
+ if (!TextUtils.isEmpty(selectedName)) {
+ val o = cm.queryOverride(Clash.OverrideSlot.Session)
+ o.mode = TunnelState.Mode.Rule
+ cm.patchOverride(Clash.OverrideSlot.Session, o)
+ delay(500)
+ var gName = names[0]
+ if (names.size >= 2) {
+ if ("GLOBAL" == gName) {
+ gName = names[1]
+ }
}
- }
- cm.patchSelector(gName, selectedName!!)
+ cm.patchSelector(gName, selectedName!!)
+ }
}
}
}
- getNodes()
}
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 51cd560..16855e0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -479,4 +479,5 @@
邀请新朋友通过你的分享链接注册并订购任意会员套餐,\n
您可以获得30天会员(仅限新用户订购有效)
点击分享
+ 请开启加速后在进行全局模式切换
\ No newline at end of file