parent
da5031bbe7
commit
9ad04af12b
|
|
@ -489,6 +489,7 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
|
||||||
isGlo = false
|
isGlo = false
|
||||||
tvProA.setBackgroundResource(R.drawable.yil_node_proxy_choose_bg)
|
tvProA.setBackgroundResource(R.drawable.yil_node_proxy_choose_bg)
|
||||||
tvProj.setBackgroundResource(0)
|
tvProj.setBackgroundResource(0)
|
||||||
|
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
sendMode(false)
|
sendMode(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -496,7 +497,9 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
|
||||||
isGlo = true
|
isGlo = true
|
||||||
tvProA.setBackgroundResource(0)
|
tvProA.setBackgroundResource(0)
|
||||||
tvProj.setBackgroundResource(R.drawable.yil_node_proxy_choose_bg)
|
tvProj.setBackgroundResource(R.drawable.yil_node_proxy_choose_bg)
|
||||||
|
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
|
||||||
sendMode(true)
|
sendMode(true)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,6 @@ class MainActivity : BaseActivity() {
|
||||||
mainAtyVM = ViewModelProvider(this)[MainAtyVM::class.java]
|
mainAtyVM = ViewModelProvider(this)[MainAtyVM::class.java]
|
||||||
observe(this, mainAtyVM)
|
observe(this, mainAtyVM)
|
||||||
mainAtyVM.startHeartBeat()
|
mainAtyVM.startHeartBeat()
|
||||||
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
|
||||||
mainAtyVM.getAirNodes()
|
mainAtyVM.getAirNodes()
|
||||||
val isGlobal = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
val isGlobal = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
newMainActGlo = isGlobal
|
newMainActGlo = isGlobal
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,6 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
}
|
}
|
||||||
setProxyModeView(ProxyMode.PAC)
|
setProxyModeView(ProxyMode.PAC)
|
||||||
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
checkGlo()
|
|
||||||
}
|
}
|
||||||
tvGlobalMode.setOnClickListener {
|
tvGlobalMode.setOnClickListener {
|
||||||
if(clashRunning){
|
if(clashRunning){
|
||||||
|
|
@ -244,7 +243,6 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
}
|
}
|
||||||
setProxyModeView(ProxyMode.GLOBAL)
|
setProxyModeView(ProxyMode.GLOBAL)
|
||||||
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
|
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
|
||||||
checkGlo()
|
|
||||||
}
|
}
|
||||||
clLinks.setOnClickListener {
|
clLinks.setOnClickListener {
|
||||||
if (clashRunning) {
|
if (clashRunning) {
|
||||||
|
|
@ -333,6 +331,14 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
stateChanged(CLASH_STOP, false)
|
stateChanged(CLASH_STOP, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val isGlobal = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
||||||
|
newMainActGlo = isGlobal
|
||||||
|
val px: ProxyMode = if (isGlobal) {
|
||||||
|
ProxyMode.GLOBAL
|
||||||
|
} else {
|
||||||
|
ProxyMode.PAC
|
||||||
|
}
|
||||||
|
setProxyModeView(px)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -396,6 +402,7 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
tvClick.text=resources.getString(R.string.Accelerating)
|
tvClick.text=resources.getString(R.string.Accelerating)
|
||||||
ivAccelerate.setImageResource(R.mipmap.yjl_home_clink_select_bg)
|
ivAccelerate.setImageResource(R.mipmap.yjl_home_clink_select_bg)
|
||||||
hideLoading()
|
hideLoading()
|
||||||
|
checkGlo()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -477,12 +484,14 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
RxToast.success(resources.getString(R.string.AccelerateSuccess))
|
RxToast.success(resources.getString(R.string.AccelerateSuccess))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ivAccelerate.setImageResource(R.mipmap.yjl_home_clink_select_bg)
|
||||||
}
|
}
|
||||||
|
|
||||||
CLASH_STOP -> {
|
CLASH_STOP -> {
|
||||||
if (::rxDialogShapeLoading.isInitialized) {
|
if (::rxDialogShapeLoading.isInitialized) {
|
||||||
rxDialogShapeLoading.cancel()
|
rxDialogShapeLoading.cancel()
|
||||||
}
|
}
|
||||||
|
ivAccelerate.setImageResource(R.mipmap.yjl_home_clink_bg)
|
||||||
}
|
}
|
||||||
|
|
||||||
CLASH_STARTING -> {
|
CLASH_STARTING -> {
|
||||||
|
|
@ -622,51 +631,36 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
|
|
||||||
|
|
||||||
private fun checkGlo() {
|
private fun checkGlo() {
|
||||||
val isGlobal = isGlo
|
val isGlobal =isGlo
|
||||||
val isGlobal2 = MMKV.defaultMMKV().decodeBool(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
|
Log.i("checkGlo isGlobal==>${isGlobal} clashRunning==>${clashRunning}")
|
||||||
Log.i("checkGlo isGlobal==>${isGlobal}, isGlobal2==>${isGlobal2}")
|
|
||||||
val px: ProxyMode = if (isGlobal2) {
|
|
||||||
ProxyMode.GLOBAL
|
|
||||||
} else {
|
|
||||||
ProxyMode.PAC
|
|
||||||
}
|
|
||||||
setProxyModeView(px)
|
|
||||||
|
|
||||||
launch(Dispatchers.IO) {
|
launch(Dispatchers.IO) {
|
||||||
if (isGlobal) {
|
if (isGlobal) {
|
||||||
if (clashRunning) {
|
delay(1000)
|
||||||
getNodes()
|
clashBinder?.let { cm ->
|
||||||
}
|
val names = cm.queryProxyGroupNames(false)
|
||||||
} else {
|
Log.i("checkGlo names==>${names}")
|
||||||
if (clashRunning) {
|
if (names.isNotEmpty()) {
|
||||||
delay(1000)
|
val selectedName =
|
||||||
clashBinder?.let { cm ->
|
MMKV.defaultMMKV()
|
||||||
val names = cm.queryProxyGroupNames(false)
|
.decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "")
|
||||||
Log.i("checkGlo names==>${names}")
|
Log.i("selected_name ==>${selectedName}")
|
||||||
if (names.isNotEmpty()) {
|
if (!TextUtils.isEmpty(selectedName)) {
|
||||||
val selectedName =
|
val o = cm.queryOverride(Clash.OverrideSlot.Session)
|
||||||
MMKV.defaultMMKV()
|
o.mode = TunnelState.Mode.Rule
|
||||||
.decodeString(BZYConstants.NODE_SELECTED_NAME_KEY, "");
|
cm.patchOverride(Clash.OverrideSlot.Session, o)
|
||||||
Log.i("selected_name ==>${selectedName}")
|
delay(500)
|
||||||
if (!TextUtils.isEmpty(selectedName)) {
|
var gName = names[0]
|
||||||
val o = cm.queryOverride(Clash.OverrideSlot.Session)
|
if (names.size >= 2) {
|
||||||
o.mode = TunnelState.Mode.Rule
|
if ("GLOBAL" == gName) {
|
||||||
cm.patchOverride(Clash.OverrideSlot.Session, o)
|
gName = names[1]
|
||||||
delay(500)
|
|
||||||
var gName = names[0]
|
|
||||||
//全局模式下 names[0]会自动添加一个 "GLOBAL" 组
|
|
||||||
if (names.size >= 2) {
|
|
||||||
if ("GLOBAL" == gName) {
|
|
||||||
//names[0] 为 "GLOBAL" //names[1]才是规则模式下的组名,所以需要手动赋值
|
|
||||||
gName = names[1]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
cm.patchSelector(gName, selectedName!!)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
cm.patchSelector(gName, selectedName!!)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
getNodes()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -985,4 +979,5 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/yil_node_proxy_choose_bg"
|
android:background="@drawable/yil_node_proxy_choose_bg"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="@string/anqpro"
|
android:text="@string/IntelligentMode"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textColor="#FF2D2D2D"
|
android:textColor="#FF2D2D2D"
|
||||||
android:paddingTop="10dp"
|
android:paddingTop="10dp"
|
||||||
|
|
@ -86,7 +86,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="@string/jsmpri"
|
android:text="@string/GlobalMode"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textColor="#FF2D2D2D"
|
android:textColor="#FF2D2D2D"
|
||||||
android:paddingTop="10dp"
|
android:paddingTop="10dp"
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ subprojects {
|
||||||
}
|
}
|
||||||
productFlavors {
|
productFlavors {
|
||||||
flavorDimensions("feature")
|
flavorDimensions("feature")
|
||||||
create("3333") {
|
create("2210") {
|
||||||
isDefault = true
|
isDefault = true
|
||||||
dimension = flavorDimensionList[0]
|
dimension = flavorDimensionList[0]
|
||||||
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
|
@ -101,7 +101,23 @@ subprojects {
|
||||||
buildConfigField("boolean", "is_back_cn", "false")
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
|
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
|
||||||
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
|
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
|
||||||
buildConfigField("String", "productId", "\"3333\"")
|
buildConfigField("String", "productId", "\"2210\"")
|
||||||
|
manifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"APP_NAME" to "@string/wf",
|
||||||
|
"APP_ICON" to "@mipmap/oneclickconnection"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
create("2211") {
|
||||||
|
isDefault = true
|
||||||
|
dimension = flavorDimensionList[0]
|
||||||
|
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
|
||||||
|
buildConfigField("boolean", "is_free", "false")
|
||||||
|
buildConfigField("boolean", "is_back_cn", "false")
|
||||||
|
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
|
||||||
|
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
|
||||||
|
buildConfigField("String", "productId", "\"2211\"")
|
||||||
manifestPlaceholders(
|
manifestPlaceholders(
|
||||||
mapOf(
|
mapOf(
|
||||||
"APP_NAME" to "@string/wf",
|
"APP_NAME" to "@string/wf",
|
||||||
|
|
@ -111,7 +127,7 @@ subprojects {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sourceSets {
|
sourceSets {
|
||||||
getByName("3333") {
|
getByName("2210") {
|
||||||
java.srcDirs("src/foss/java")
|
java.srcDirs("src/foss/java")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue