二建连
This commit is contained in:
parent
539354e273
commit
ade63d1485
|
|
@ -33,6 +33,8 @@ import com.cncat.vpn.service.remote.IClashManager
|
|||
import com.cncat.vpn.service.remote.ILogObserver
|
||||
import com.cncat.vpn.service.remote.IProfileManager
|
||||
import com.cncat.vpn.service.remote.wrap
|
||||
import com.cncat.vpn.service.util.importedDir
|
||||
import com.cncat.vpn.service.util.processingDir
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.JsonArray
|
||||
import com.google.gson.JsonObject
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ import com.cncat.vpn.core.Clash
|
|||
import com.cncat.vpn.core.model.TunnelState
|
||||
import com.cncat.vpn.service.model.Profile
|
||||
import com.cncat.vpn.service.store.ServiceStore
|
||||
import com.cncat.vpn.service.util.importedDir
|
||||
import com.cncat.vpn.service.util.processingDir
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.JsonParser
|
||||
import com.orhanobut.logger.Logger
|
||||
|
|
@ -50,6 +52,7 @@ import com.yingmao.clash.act.MainActivity.Companion.isSubbed
|
|||
import com.yingmao.clash.act.MainActivity.Companion.newMainActGlo
|
||||
import com.yingmao.clash.act.MainActivity.Companion.newUuid
|
||||
import com.yingmao.clash.act.MainActivity.Companion.profileBinder
|
||||
import com.yingmao.clash.act.MainActivity.Companion.setSub2
|
||||
import com.yingmao.clash.act.MainActivity.Companion.subUrl
|
||||
import com.yingmao.clash.act.NodeGroupActivity
|
||||
import com.yingmao.clash.app.MainApplication
|
||||
|
|
@ -69,6 +72,7 @@ import com.yingmao.clash.net.http.entity.ShowNode
|
|||
import com.yingmao.clash.util.ActivityResultLifecycle
|
||||
import com.yingmao.clash.util.CommonUtils
|
||||
import com.yingmao.clash.util.Utils
|
||||
import com.yingmao.clash.util.Utils.isFileContentEmpty
|
||||
import com.yingmao.clash.util.startClashService
|
||||
import com.yingmao.clash.util.stopClashService
|
||||
import com.yingmao.clash.view.RxToast
|
||||
|
|
@ -407,6 +411,31 @@ open class HomeFragment : BaseFragment(), CoroutineScope by CoroutineScope(Dispa
|
|||
}
|
||||
|
||||
private fun startClash(isStart: Boolean) {
|
||||
//这里需要判断一下config.yaml文件是否存在
|
||||
launch {
|
||||
profileBinder?.let {profileManager ->
|
||||
val pro = profileManager.queryAll().find {
|
||||
it.name == Conf.getClashConfName(MainApplication.getApp()?.applicationContext)
|
||||
}
|
||||
val importConfig = requireActivity().importedDir
|
||||
.resolve(pro?.uuid.toString())
|
||||
.resolve("config.yaml")
|
||||
|
||||
val pendingConfig = requireActivity().processingDir
|
||||
.resolve("config.yaml")
|
||||
|
||||
val importConfigCheck = isFileContentEmpty(importConfig)
|
||||
val pendingConfigCheck = isFileContentEmpty(pendingConfig)
|
||||
AppLog.i("NewAccFragment", "importConfigCheck:${importConfigCheck} pendingConfigCheck::${pendingConfigCheck} ")
|
||||
if(importConfigCheck||pendingConfigCheck){
|
||||
profileManager.queryAll().forEach { profile ->
|
||||
profileManager.delete(profile.uuid)
|
||||
}
|
||||
setSub2(subUrl!!)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
AppLog.i("NewAccFragment", "onClick startClash()")
|
||||
val nodeJson=serStore.nodes
|
||||
Log.d("nodeJson: ${nodeJson.isEmpty()}")
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import kotlinx.coroutines.withContext
|
|||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.json.JSONObject
|
||||
import java.io.File
|
||||
import java.net.Inet4Address
|
||||
import java.net.NetworkInterface
|
||||
import java.nio.charset.StandardCharsets
|
||||
|
|
@ -383,4 +384,10 @@ object Utils {
|
|||
|
||||
return caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||
}
|
||||
fun isFileContentEmpty(file: File): Boolean {
|
||||
if (!file.exists() || !file.isFile) return true
|
||||
file.bufferedReader().useLines { lines ->
|
||||
return lines.none { it.isNotBlank() }
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue