diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 9449392..f4bd709 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -15,7 +15,7 @@ dependencies {
implementation(fileTree(mapOf("dir" to "src/main/libs", "include" to listOf("*.aar"))))
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
// implementation(files("src\\main\\libs\\Baidu_ocpc_action_2_7_2.aar"))
- implementation(files("src\\main\\libs\\OpenInstall.jar"))
+// implementation(files("src\\main\\libs\\OpenInstall.jar"))
// implementation("com.google.firebase:firebase-crashlytics-buildtools:3.0.2")
// implementation(files("src/main/libs/openinstall.jar"))
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 fcc081a..8d65ee9 100644
--- a/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/ChangeNodeActivity.kt
@@ -38,6 +38,7 @@ import com.yingmao.clash.conf.Conf
import com.yingmao.clash.entity.ClashNodebBean
import com.yingmao.clash.fragment.NewAccFragment
import com.yingmao.clash.fragment.NewAccFragment.Companion.CHECK_NODE_REQUEST_CODE
+import com.yingmao.clash.fragment.NewAccFragment.Companion.clashRunning
import com.yingmao.clash.fragment.NewAccFragment.Companion.isGlo
import com.yingmao.clash.remote.Resource
import com.yingmao.clash.util.Utils
@@ -126,13 +127,23 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
tvProA.setOnClickListener {
- setBackground(ProxyMode.PAC)
- MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ if(!clashRunning){
+ setBackground(ProxyMode.PAC)
+ MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, false)
+ }else{
+ RxToast.info(resources.getString(R.string.closeRunningChoose))
+ }
+
}
tvProj.setOnClickListener {
- MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
- setBackground(ProxyMode.GLOBAL)
+ if(!clashRunning){
+ MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_GLOBAL_MODEL, true)
+ setBackground(ProxyMode.GLOBAL)
+ }else{
+ RxToast.info(resources.getString(R.string.closeRunningChoose))
+ }
+
}
aiBack.setOnClickListener {
@@ -434,7 +445,7 @@ class ChangeNodeActivity : BaseActivity(), View.OnClickListener {
}
override fun cancelButton() {
- doProfile(false)
+// doProfile(false)
}
})
diff --git a/app/src/main/java/com/yingmao/clash/act/LoginActivity.kt b/app/src/main/java/com/yingmao/clash/act/LoginActivity.kt
index 60efe5c..7decc0c 100644
--- a/app/src/main/java/com/yingmao/clash/act/LoginActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/LoginActivity.kt
@@ -332,7 +332,7 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
}
}
- private fun initUserAgreementView(textView: TextView) {
+ private fun initUserAgreementView(userAgreementCB: CheckBox) {
val config = resources.configuration
val language = config.locale.language
if (language.equals("en")) {
@@ -346,7 +346,8 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
24,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.isChecked=true
val intent = Intent(this@LoginActivity, AgreementAndPrivacyActivity::class.java)
intent.putExtra(
BZYConstants.EXTRA_KEY_AGREEMENT,
@@ -365,7 +366,8 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
resources.getString(R.string.AgreeAgreement).length,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.isChecked=true
val intent = Intent(this@LoginActivity, AgreementAndPrivacyActivity::class.java)
intent.putExtra(
BZYConstants.EXTRA_KEY_AGREEMENT,
@@ -380,8 +382,8 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
resources.getString(R.string.AgreeAgreement).length,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
- textView.movementMethod = LinkMovementMethod.getInstance()
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.movementMethod = LinkMovementMethod.getInstance()
} else {
val spannableStringBuilder =
SpannableStringBuilder(resources.getString(R.string.AgreeAgreement))
@@ -389,11 +391,12 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
override fun onClick(view: View) {
spannableStringBuilder.setSpan(
null,
- 2,
8,
+ 13,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.isChecked=true
val intent = Intent(this@LoginActivity, AgreementAndPrivacyActivity::class.java)
intent.putExtra(
BZYConstants.EXTRA_KEY_AGREEMENT,
@@ -402,17 +405,18 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
startActivity(intent)
}
}
- spannableStringBuilder.setSpan(clickableSpan, 2, 8, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)
+ spannableStringBuilder.setSpan(clickableSpan, 8, 13, Spannable.SPAN_EXCLUSIVE_INCLUSIVE)
val privacyClickableSpan: MyClickableSpan = object : MyClickableSpan() {
override fun onClick(view: View) {
spannableStringBuilder.setSpan(
null,
- 9,
- 15,
+ 14,
+ resources.getString(R.string.AgreeAgreement).length,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.isChecked=true
val intent = Intent(this@LoginActivity, AgreementAndPrivacyActivity::class.java)
intent.putExtra(
BZYConstants.EXTRA_KEY_AGREEMENT,
@@ -423,12 +427,12 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
}
spannableStringBuilder.setSpan(
privacyClickableSpan,
- 9,
- 15,
+ 14,
+ resources.getString(R.string.AgreeAgreement).length,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE
)
- textView.text = spannableStringBuilder
- textView.movementMethod = LinkMovementMethod.getInstance()
+ userAgreementCB.text = spannableStringBuilder
+ userAgreementCB.movementMethod = LinkMovementMethod.getInstance()
}
}
diff --git a/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt b/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt
index d6b0da2..faefcfe 100644
--- a/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt
+++ b/app/src/main/java/com/yingmao/clash/act/NewMainActivity.kt
@@ -1217,5 +1217,6 @@ class NewMainActivity : BaseActivity() {
}
}
+ clashBinder?.setLogObserver(null)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yingmao/clash/fragment/NewAccFragment.kt b/app/src/main/java/com/yingmao/clash/fragment/NewAccFragment.kt
index a739a69..c34c24e 100644
--- a/app/src/main/java/com/yingmao/clash/fragment/NewAccFragment.kt
+++ b/app/src/main/java/com/yingmao/clash/fragment/NewAccFragment.kt
@@ -75,6 +75,17 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
const val CLASH_STOP = 33
var isGlo: Boolean = false
var clashRunning: Boolean = false
+ var clashRec: BroadcastReceiver? = null
+ fun cleanRec(context: Context) {
+ clashRec?.let {
+ try {
+ context.unregisterReceiver(clashRec)
+ }catch (e: Exception){
+ e.printStackTrace()
+ }
+
+ }
+ }
}
lateinit var accelerateViewModel: AccelerateViewModel
@@ -128,13 +139,14 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
intentFilter.addAction(Intents.ACTION_CLASH_REQUEST_STOP)
intentFilter.addAction(Intents.ACTION_Glo_Mode)
intentFilter.addAction(Intents.ACTION_OVERRIDE_CHANGED)
+ clashRec=ClashBP()
if (Build.VERSION.SDK_INT >= 34 && requireContext().applicationInfo.targetSdkVersion >= 34) {
requireContext().registerReceiver(
- ClashBP(), intentFilter, Context.RECEIVER_EXPORTED
+ clashRec, intentFilter, Context.RECEIVER_EXPORTED
)
} else {
requireContext().registerReceiver(
- ClashBP(), intentFilter
+ clashRec, intentFilter
)
}
}
@@ -721,4 +733,8 @@ open class NewAccFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dis
newMain.goBackupRechargeWeb()
}
}
+ override fun onDestroy() {
+ super.onDestroy()
+ cleanRec(requireContext())
+ }
}
\ No newline at end of file
diff --git a/app/src/main/libs/common.aar b/app/src/main/libs/common.aar
index e794d8b..453757c 100644
Binary files a/app/src/main/libs/common.aar and b/app/src/main/libs/common.aar differ
diff --git a/app/src/main/libs/core.aar b/app/src/main/libs/core.aar
index 6d7babc..3feb490 100644
Binary files a/app/src/main/libs/core.aar and b/app/src/main/libs/core.aar differ
diff --git a/app/src/main/libs/hideapi.aar b/app/src/main/libs/hideapi.aar
index ee463dd..1347c7d 100644
Binary files a/app/src/main/libs/hideapi.aar and b/app/src/main/libs/hideapi.aar differ
diff --git a/app/src/main/libs/service.aar b/app/src/main/libs/service.aar
index 02efbb8..e0a1b40 100644
Binary files a/app/src/main/libs/service.aar and b/app/src/main/libs/service.aar differ
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index 7f449fa..ed71c90 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -421,5 +421,5 @@ In order to implement and strengthen awareness of personal information security
Order Date
Membership Validity Period:
Gift
-
+ Please disconnect and switch modes
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 2fe187b..c1bfbdd 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -405,13 +405,13 @@
請勾選復選框表明你同意刪除賬號
- Web Payment
- Order Number:
- DayVip
- HourVip
- Payment Methods:
- Order Date
- Membership Validity Period:
- Gift
-
+ 網頁付款
+ 訂單號碼:
+ 天Vip
+ 小时Vip
+ 付款方式:
+ 訂單日期
+ 會員有效期限:
+ 禮品
+ 請斷開連線後在進行模式切換
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 5d9f270..4883ce2 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -403,13 +403,13 @@
請勾選復選框表明你同意刪除賬號
- Web Payment
- Order Number:
- DayVip
- HourVip
- Payment Methods:
- Order Date
- Membership Validity Period:
- Gift
-
+ 網頁付款
+ 訂單號碼:
+ 天Vip
+ 小时Vip
+ 付款方式:
+ 訂單日期
+ 會員有效期限:
+ 禮品
+ 請斷開連線後在進行模式切換
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dd19e26..85c03a6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -130,7 +130,7 @@
登录失败
检查登录失败
登录异常
- 同意《隐私协议》和《用户协议》
+ 我已知晓并同意《隐私协议》和《用户协议》
请您充分阅读并理解《隐私政策》和《用户协议》我们非常重视您的隐私和个人信息,在您使用过程中,我们会收集部分个人信息。例如,会申请设备信息等。您可以点击《用户协议》和《隐私政策》查看详细内容。您可以选择“同意”继续使用我们的服务,或者选择“不同意”退出。
请仔细阅读并同意《隐私协议》和《用户协议》
小提示:自动注册初始密码为 123456,手动注册请忽略
@@ -437,4 +437,5 @@
订单日期
会员有效期:
赠送
+ 请断开连接后在进行模式切换
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 71600b6..425f045 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -93,7 +93,7 @@ subprojects {
}
productFlavors {
flavorDimensions("feature")
- create("8279") {
+ create("5555") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
@@ -101,7 +101,7 @@ subprojects {
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("String", "applicationId", "\"com.jsq.wufu\"")
buildConfigField("String", "service_url", "\"https://api.yijianlianjsq.com/\"")
- buildConfigField("String", "productId", "\"8279\"")
+ buildConfigField("String", "productId", "\"5555\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/wf",
@@ -112,7 +112,7 @@ subprojects {
}
sourceSets {
- getByName("8279") {
+ getByName("5555") {
java.srcDirs("src/foss/java")
}
}