Adding a second test when a delayed test fails

https://www.google.com/generate_204
This commit is contained in:
2dust
2024-06-07 10:25:23 +08:00
parent c48725c7dd
commit 1080390bed
3 changed files with 18 additions and 0 deletions
@@ -100,6 +100,7 @@ object AppConfig {
const val GeoUrl = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/"
const val TgChannelUrl = "https://t.me/github_2dust"
const val DelayTestUrl = "https://www.gstatic.com/generate_204"
const val DelayTestUrl2 = "https://www.google.com/generate_204"
const val DNS_PROXY = "1.1.1.1"
const val DNS_DIRECT = "223.5.5.5"
@@ -248,6 +248,14 @@ object V2RayServiceManager {
Log.d(ANG_PACKAGE, "measureV2rayDelay: $e")
errstr = e.message?.substringAfter("\":") ?: "empty message"
}
if (time == -1L) {
try {
time = v2rayPoint.measureDelay(Utils.getDelayTestUrl(true))
} catch (e: Exception) {
Log.d(ANG_PACKAGE, "measureV2rayDelay: $e")
errstr = e.message?.substringAfter("\":") ?: "empty message"
}
}
}
val result = if (time == -1L) {
service.getString(R.string.connection_test_error, errstr)
@@ -445,5 +445,14 @@ object Utils {
val url = settingsStorage.decodeString(AppConfig.PREF_DELAY_TEST_URL)
return if (url.isNullOrEmpty()) AppConfig.DelayTestUrl else url
}
fun getDelayTestUrl(second: Boolean = false): String {
return if (second) {
AppConfig.DelayTestUrl2
} else {
val url = settingsStorage.decodeString(AppConfig.PREF_DELAY_TEST_URL)
if (url.isNullOrEmpty()) AppConfig.DelayTestUrl else url
}
}
}