fixed crash when no internet connection
This commit is contained in:
parent
ce5e561354
commit
89b7d011b0
|
@ -16,7 +16,7 @@ import kotlinx.coroutines.*
|
|||
open class App: Application() {
|
||||
|
||||
private val prefs by lazy { getDefaultSharedPreferences(this) }
|
||||
private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
||||
private val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
|
||||
|
||||
override fun onCreate() {
|
||||
scope.launch { loadJson(this@App) }
|
||||
|
|
|
@ -134,7 +134,7 @@ object VancedDownloader: CoroutineScope by CoroutineScope(Dispatchers.IO) {
|
|||
if (type == "lang") {
|
||||
count++
|
||||
when {
|
||||
count < lang.size -> downloadSplits(context, "lang")
|
||||
count < lang.size -> downloadSplits(context, "lang")
|
||||
succesfulLangCount == 0 -> {
|
||||
lang.add("en")
|
||||
downloadSplits(context, "lang")
|
||||
|
|
|
@ -50,18 +50,17 @@ object InternetTools {
|
|||
|
||||
fun getFileNameFromUrl(url: String) = url.substring(url.lastIndexOf('/') + 1, url.length)
|
||||
|
||||
suspend fun loadJson(context: Context) =
|
||||
withContext(Dispatchers.IO) {
|
||||
val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl)
|
||||
val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
|
||||
val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
|
||||
suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) {
|
||||
val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl)
|
||||
val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
|
||||
val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
|
||||
// braveTiers.apply {
|
||||
// set(getJson("$installUrl/sponsor.json"))
|
||||
// notifyChange()
|
||||
// }
|
||||
|
||||
vanced.apply {
|
||||
set(latest?.obj("vanced"))
|
||||
vanced.apply {
|
||||
set(latest?.obj("vanced"))
|
||||
notifyChange()
|
||||
}
|
||||
vancedVersions.set(versions?.array("vanced"))
|
||||
|
|
|
@ -12,11 +12,16 @@ object JsonHelper {
|
|||
private var dataMap: HashMap<String, JsonObject> = HashMap()
|
||||
|
||||
suspend fun getJson(url: String): JsonObject? {
|
||||
return if (dataMap.containsKey(url)) {
|
||||
dataMap[url]
|
||||
} else {
|
||||
dataMap[url] = getSuspendJson(url)
|
||||
dataMap[url]
|
||||
return try {
|
||||
if (dataMap.containsKey(url)) {
|
||||
dataMap[url]
|
||||
} else {
|
||||
dataMap[url] = getSuspendJson(url)
|
||||
dataMap[url]
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
//This null is NEEDED, do NOT try to "fix" NPE here!!!
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue