fix 订阅地址不同时更新clash配置文件

This commit is contained in:
cyh 2025-03-06 12:12:11 +08:00
parent b5d915bbf3
commit ab17172b09
1 changed files with 41 additions and 26 deletions

View File

@ -1122,13 +1122,13 @@ class NewMainActivity : BaseActivity() {
profileBinder?.let { pm ->
Log.d("setSub2 3")
pm.queryAll().forEach { itemPro ->
Log.d("setSub2 itemPro ==>${itemPro}")
if (itemPro.name != Conf.getClashConfName(this@NewMainActivity.applicationContext)) {
Log.d("setSub2 delete ==>${itemPro.name}")
pm.delete(itemPro.uuid)
}
}
val pro = pm.queryActive()
Log.d("setSub2 4")
pro?.let {
var actname = it.name
@ -1136,11 +1136,29 @@ class NewMainActivity : BaseActivity() {
Log.d("setSub2 pro 已存在 ==>")
pm.setActive(it)
delay(500)
if (!TextUtils.isEmpty(pro.source)) {
// Log.d("setSub2 pro.source==>${pro.source}, url==>${url}")
if (pro.source != url) {
Log.d("setSub2 patch")
pm.patch(pro.uuid, pro.name, url, 1800000L)
pm.commit(pro.uuid) { status ->
Log.d("setSub2 updateStatus: " + Gson().toJson(status.args) + ", pro==>" + status.progress)
}
}
}
pm.update(it.uuid)
newUuid = pro.uuid.toString();
isSubed = true
Log.d("setSub2 setActive end")
} ?: run {
createMyProfile(pm, url)
}
}
}
suspend fun createMyProfile(pm: IProfileManager, url: String) {
var uuid: UUID = pm.create(
Profile.Type.Url, Conf.getClashConfName(this@NewMainActivity.applicationContext)
)
@ -1166,9 +1184,6 @@ class NewMainActivity : BaseActivity() {
// }
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)