fixed crash

This commit is contained in:
X1nto 2020-06-29 20:45:47 +04:00
parent 506d530c13
commit d5fecfb2c0
2 changed files with 26 additions and 24 deletions

View File

@ -1,6 +1,5 @@
package com.vanced.manager.core.downloader
import android.app.NotificationManager
import android.app.Service
import android.content.Context
import android.content.Intent
@ -9,6 +8,7 @@ import android.os.IBinder
import android.widget.Toast
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import androidx.preference.PreferenceManager
import com.dezlum.codelabs.getjson.GetJson
import com.downloader.Error
import com.downloader.OnDownloadListener
import com.downloader.OnStartOrResumeListener
@ -17,14 +17,12 @@ import com.vanced.manager.R
import com.vanced.manager.core.installer.RootSplitInstallerService
import com.vanced.manager.core.installer.SplitInstaller
import com.vanced.manager.ui.fragments.HomeFragment
import com.vanced.manager.utils.InternetTools.baseUrl
import com.vanced.manager.utils.InternetTools.getFileNameFromUrl
import com.vanced.manager.utils.InternetTools.getLatestVancedUrl
import com.vanced.manager.utils.NotificationHelper.cancelNotif
import com.vanced.manager.utils.NotificationHelper.createBasicNotif
import com.vanced.manager.utils.NotificationHelper.displayDownloadNotif
import java.lang.Exception
import java.lang.IllegalStateException
import java.lang.RuntimeException
import java.util.concurrent.ExecutionException
class VancedDownloadService: Service() {
@ -46,10 +44,10 @@ class VancedDownloadService: Service() {
private fun downloadSplits(
type: String = "arch"
) {
val baseUrl = PreferenceManager.getDefaultSharedPreferences(this).getString("install_url", getLatestVancedUrl(this))
val baseUrl = PreferenceManager.getDefaultSharedPreferences(this).getString("install_url", baseUrl)
val vancedVer = GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/vanced.json").get("version").asString
val prefs = getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
val variant = PreferenceManager.getDefaultSharedPreferences(this)
.getString("vanced_variant", "nonroot")
val variant = PreferenceManager.getDefaultSharedPreferences(this).getString("vanced_variant", "nonroot")
val lang = prefs?.getString("lang", "en")
val theme = prefs?.getString("theme", "dark")
val arch =
@ -60,10 +58,10 @@ class VancedDownloadService: Service() {
}
val url =
when (type) {
"arch" -> "$baseUrl/$variant/Config/config.$arch.apk"
"theme" -> "$baseUrl/$variant/Theme/$theme.apk"
"lang" -> "$baseUrl/$variant/Language/split_config.$lang.apk"
"enlang" -> "$baseUrl/$variant/Language/split_config.en.apk"
"arch" -> "$baseUrl/apks/v$vancedVer/$variant/Config/config.$arch.apk"
"theme" -> "$baseUrl/apks/v$vancedVer/$variant/Theme/$theme.apk"
"lang" -> "$baseUrl/apks/v$vancedVer/$variant/Language/split_config.$lang.apk"
"enlang" -> "$baseUrl/apks/v$vancedVer/$variant/Language/split_config.en.apk"
else -> throw NotImplementedError("This type of APK is NOT valid. What the hell did you even do?")
}

View File

@ -8,6 +8,7 @@ import androidx.preference.PreferenceManager
import com.dezlum.codelabs.getjson.GetJson
import com.vanced.manager.BuildConfig
import com.vanced.manager.R
import java.lang.Exception
import java.lang.IllegalStateException
object InternetTools {
@ -22,12 +23,16 @@ object InternetTools {
fun getFileNameFromUrl(url: String) = url.substring(url.lastIndexOf('/')+1, url.length)
fun displayJsonString(json: String, obj: String, context: Context): String {
val installUrl = PreferenceManager.getDefaultSharedPreferences(context).getString("install_url", getLatestVancedUrl(context))
val installUrl = PreferenceManager.getDefaultSharedPreferences(context).getString("install_url", baseUrl)
return if (GetJson().isConnected(context)) {
try {
GetJson().AsJSONObject("$installUrl/$json").get(obj).asString
} catch (e: IllegalStateException) {
GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/$json").get(obj).asString
} catch (e: Exception) {
when (e) {
is InterruptedException, is IllegalStateException -> GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/$json").get(obj).asString
else -> throw e
}
}
} else {
context.getString(R.string.unavailable)
@ -35,12 +40,16 @@ object InternetTools {
}
fun displayJsonInt(json: String, obj: String, context: Context): Int {
val installUrl = PreferenceManager.getDefaultSharedPreferences(context).getString("install_url", getLatestVancedUrl(context))
val installUrl = PreferenceManager.getDefaultSharedPreferences(context).getString("install_url", baseUrl)
return if (GetJson().isConnected(context)) {
try {
GetJson().AsJSONObject("$installUrl/$json").get(obj).asInt
} catch (e: IllegalStateException) {
GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/$json").get(obj).asInt
} catch (e: Exception) {
when (e) {
is InterruptedException, is IllegalStateException -> GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/$json").get(obj).asInt
else -> throw e
}
}
} else 0
}
@ -52,13 +61,8 @@ object InternetTools {
return remoteVersion > BuildConfig.VERSION_CODE
}
fun getLatestVancedUrl(context: Context): String {
return if (GetJson().isConnected(context)) {
val latestVer = GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/vanced.json").get("version").asString
"https://vanced.app/api/v1/apks/v$latestVer"
} else
"https://vanced.app/api/v1/apks/v15.05.54"
}
const val baseUrl = "https://vanced.app/api/v1/"
}