Get appropriate download link based on CPU ABI

This commit is contained in:
arkon 2021-06-05 18:30:04 -04:00
parent e6f3cd03bb
commit f2e4b2fc99
3 changed files with 14 additions and 4 deletions

View File

@ -1,5 +1,6 @@
package eu.kanade.tachiyomi.data.updater package eu.kanade.tachiyomi.data.updater
import android.os.Build
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@ -22,8 +23,17 @@ class GithubRelease(
* Get download link of latest release from the assets. * Get download link of latest release from the assets.
* @return download link of latest release. * @return download link of latest release.
*/ */
val downloadLink: String fun getDownloadLink(): String {
get() = assets[0].downloadLink val apkVariant = when (Build.SUPPORTED_ABIS[0]) {
"arm64-v8a" -> "-arm64-v8a"
"armeabi-v7a" -> "-armeabi-v7a"
"x86", "x86_64" -> "-x86"
else -> ""
}
return assets.find { it.downloadLink.contains("tachiyomi$apkVariant-") }?.downloadLink
?: assets[0].downloadLink
}
/** /**
* Assets class containing download url. * Assets class containing download url.

View File

@ -21,7 +21,7 @@ class UpdaterJob(private val context: Context, workerParams: WorkerParameters) :
val result = GithubUpdateChecker().checkForUpdate() val result = GithubUpdateChecker().checkForUpdate()
if (result is GithubUpdateResult.NewUpdate) { if (result is GithubUpdateResult.NewUpdate) {
UpdaterNotifier(context).promptUpdate(result.release.downloadLink) UpdaterNotifier(context).promptUpdate(result.release.getDownloadLink())
} }
Result.success() Result.success()
} catch (e: Exception) { } catch (e: Exception) {

View File

@ -110,7 +110,7 @@ class AboutController : SettingsController(), NoToolbarElevationController {
when (val result = updateChecker.checkForUpdate()) { when (val result = updateChecker.checkForUpdate()) {
is GithubUpdateResult.NewUpdate -> { is GithubUpdateResult.NewUpdate -> {
val body = result.release.info val body = result.release.info
val url = result.release.downloadLink val url = result.release.getDownloadLink()
// Create confirmation window // Create confirmation window
NewUpdateDialogController(body, url).showDialog(router) NewUpdateDialogController(body, url).showDialog(router)