From c7fdefbb210eb53ec6ad6f3b7c975b9bc1a84034 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Fri, 26 Jul 2024 12:48:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/help/update/AppReleaseInfo.kt | 7 ++++--- .../java/io/legado/app/help/update/AppUpdateGitHub.kt | 11 ++++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/update/AppReleaseInfo.kt b/app/src/main/java/io/legado/app/help/update/AppReleaseInfo.kt index dab4589ee..e0918f2b5 100644 --- a/app/src/main/java/io/legado/app/help/update/AppReleaseInfo.kt +++ b/app/src/main/java/io/legado/app/help/update/AppReleaseInfo.kt @@ -1,6 +1,7 @@ package io.legado.app.help.update import com.google.gson.annotations.SerializedName +import io.legado.app.exception.NoStackTraceException import java.time.Instant data class AppReleaseInfo( @@ -33,10 +34,10 @@ data class GithubRelease( val isPreRelease: Boolean, ) { fun gitReleaseToAppReleaseInfo(): List { + assets ?: throw NoStackTraceException("获取新版本出错") return assets - ?.filter { it.isValid } - ?.map { it.assetToAppReleaseInfo(isPreRelease, body) } - .orEmpty() + .filter { it.isValid } + .map { it.assetToAppReleaseInfo(isPreRelease, body) } } } diff --git a/app/src/main/java/io/legado/app/help/update/AppUpdateGitHub.kt b/app/src/main/java/io/legado/app/help/update/AppUpdateGitHub.kt index a5d749d34..0cc3b9149 100644 --- a/app/src/main/java/io/legado/app/help/update/AppUpdateGitHub.kt +++ b/app/src/main/java/io/legado/app/help/update/AppUpdateGitHub.kt @@ -5,8 +5,9 @@ import io.legado.app.constant.AppConst import io.legado.app.exception.NoStackTraceException import io.legado.app.help.config.AppConfig import io.legado.app.help.coroutine.Coroutine -import io.legado.app.help.http.newCallStrResponse +import io.legado.app.help.http.newCallResponse import io.legado.app.help.http.okHttpClient +import io.legado.app.help.http.text import io.legado.app.utils.GSON import io.legado.app.utils.fromJsonObject import kotlinx.coroutines.CoroutineScope @@ -29,9 +30,13 @@ object AppUpdateGitHub : AppUpdate.AppUpdateInterface { } else { "https://api.github.com/repos/gedoor/legado/releases/latest" } - val body = okHttpClient.newCallStrResponse { + val res = okHttpClient.newCallResponse { url(lastReleaseUrl) - }.body + } + if (!res.isSuccessful) { + throw NoStackTraceException("获取新版本出错(${res.code})") + } + val body = res.body?.text() if (body.isNullOrBlank()) { throw NoStackTraceException("获取新版本出错") }