Benutze Regex im UpdateCheck und ignoriere ältere Versionen

master
Niko Diamadis 3 years ago
parent 941dc7350e
commit f1122dcc78
Signed by: niko
GPG Key ID: BE53B0B17B1B142E

@ -18,7 +18,6 @@ import com.cyb3rko.techniklogger.logE
import com.cyb3rko.techniklogger.showErrorToast import com.cyb3rko.techniklogger.showErrorToast
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import es.dmoral.toasty.Toasty import es.dmoral.toasty.Toasty
import java.nio.charset.StandardCharsets
internal object Updater { internal object Updater {
internal fun updateCheck(activity: Activity, feedback: Boolean) { internal fun updateCheck(activity: Activity, feedback: Boolean) {
@ -33,21 +32,21 @@ internal object Updater {
.getAsString(object : StringRequestListener { .getAsString(object : StringRequestListener {
override fun onResponse(response: String?) { override fun onResponse(response: String?) {
try { try {
var parts = response!!.split("content\":\"") val rawContent = Regex("content\":\"([a-zA-Z\\d]+=)")
var parts2 = parts[1].split("\",\"target") .find(response!!)!!
val content = String(Base64.decode(parts2[0], Base64.DEFAULT), StandardCharsets.UTF_8) .groups[1]!!.value
val content = Base64.decode(rawContent, Base64.DEFAULT).decodeToString()
parts = content.split("versionCode ") val version = Regex("versionName \"(.+)\"")
parts2 = parts[1].split("\n") .find(content)!!
val neuesterVersionCode = parts2[0].toInt() .groups[1]!!.value
parts = parts2[1].split("\"") val versionCode = Regex("versionCode (\\d+)")
parts2 = parts[1].split("\"") .find(content)!!
val newestVersion = parts2[0] .groups[1]!!.value.toInt()
dialog?.cancel() dialog?.cancel()
if (BuildConfig.VERSION_CODE != neuesterVersionCode) { if (BuildConfig.VERSION_CODE < versionCode) {
logD("App-Update verfügbar: $newestVersion") logD("App-Update verfügbar: $version")
showDownloadDialog(activity, newestVersion) showDownloadDialog(activity, version)
ActivityCompat.requestPermissions( ActivityCompat.requestPermissions(
activity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1 activity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1

Loading…
Cancel
Save