Skip to content

Commit ca784e2

Browse files
fix(UpdateChecker): 修复版本检查并添加日志记录
添加UTF-8字符集处理以正确读取响应 引入日志记录以帮助调试版本检查问题 处理BOM字符并优化错误处理
1 parent 2d4a8cf commit ca784e2

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

app/src/main/java/me/bmax/apatch/util/UpdateChecker.kt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@ import android.content.Intent
55
import android.net.Uri
66
import kotlinx.coroutines.Dispatchers
77
import kotlinx.coroutines.withContext
8+
import android.util.Log
89
import me.bmax.apatch.BuildConfig
910
import java.io.BufferedReader
1011
import java.io.InputStreamReader
1112
import java.net.HttpURLConnection
1213
import java.net.URL
14+
import java.nio.charset.StandardCharsets
1315

1416
object UpdateChecker {
17+
private const val TAG = "UpdateChecker"
1518
// Placeholder URL for version file.
1619
// It is expected to return a plain text integer version code.
1720
private const val UPDATE_API_URL = "https://folk.mysqil.com/api/version.php"
@@ -31,18 +34,25 @@ object UpdateChecker {
3134
connection.readTimeout = 5000
3235

3336
if (connection.responseCode == HttpURLConnection.HTTP_OK) {
34-
val reader = BufferedReader(InputStreamReader(connection.inputStream))
35-
val remoteVersionCodeStr = reader.readText().trim()
37+
val reader = BufferedReader(InputStreamReader(connection.inputStream, StandardCharsets.UTF_8))
38+
val rawResponse = reader.readText()
3639
reader.close()
3740

41+
// Handle BOM and trim
42+
val remoteVersionCodeStr = rawResponse.replace("\uFEFF", "").trim()
43+
Log.d(TAG, "Raw response: '$rawResponse', Parsed string: '$remoteVersionCodeStr'")
44+
3845
val remoteVersionCode = remoteVersionCodeStr.toIntOrNull()
3946
if (remoteVersionCode != null) {
47+
Log.d(TAG, "Remote: $remoteVersionCode, Local: ${BuildConfig.VERSION_CODE}")
4048
return@withContext remoteVersionCode > BuildConfig.VERSION_CODE
49+
} else {
50+
Log.e(TAG, "Failed to parse version code")
4151
}
4252
}
4353
false
4454
} catch (e: Exception) {
45-
e.printStackTrace()
55+
Log.e(TAG, "Check update failed", e)
4656
false
4757
}
4858
}

0 commit comments

Comments
 (0)