From ece9a6c32cf5d9ab4ea2022615d59a52bc4b825e Mon Sep 17 00:00:00 2001 From: testwind Date: Tue, 27 May 2025 17:48:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?bug=E9=97=AE=E9=A2=98=EF=BC=9A=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=A0=BC=E5=BC=8F=E6=9C=89=E7=A9=BA=E6=A0=BC=E5=92=8C?= =?UTF-8?q?=E5=86=92=E5=8F=B7=EF=BC=8C=E6=96=87=E4=BB=B6=E5=A4=B9=E5=90=8D?= =?UTF-8?q?API=2021=E4=B8=8B=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/utils/LogUtils.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/utils/LogUtils.kt b/app/src/main/java/io/legado/app/utils/LogUtils.kt index 2f04c259b..3f807396d 100644 --- a/app/src/main/java/io/legado/app/utils/LogUtils.kt +++ b/app/src/main/java/io/legado/app/utils/LogUtils.kt @@ -66,7 +66,7 @@ object LogUtils { } } } - val date = getCurrentDateStr(TIME_PATTERN) + val date = getCurrentDateStr(TIME_PATTERN).replace(" ", "_").replace(":", "-") val logPath = FileUtils.getPath(root = logFolder, "appLog-$date.txt") return AsyncFileHandler(logPath).apply { formatter = object : java.util.logging.Formatter() { From 18a5c4bef4078a2f94a86e683747cf592a82905b Mon Sep 17 00:00:00 2001 From: testwind Date: Wed, 28 May 2025 07:40:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?bug=E9=97=AE=E9=A2=98=EF=BC=9AAPI=2021=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=AE=BE=E7=BD=AE=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E4=BC=9A=E6=8A=A5=E9=94=99=EF=BC=8Cdb.setLocale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/data/AppDatabase.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/data/AppDatabase.kt b/app/src/main/java/io/legado/app/data/AppDatabase.kt index e655a12f2..b9254ed1f 100644 --- a/app/src/main/java/io/legado/app/data/AppDatabase.kt +++ b/app/src/main/java/io/legado/app/data/AppDatabase.kt @@ -2,6 +2,8 @@ package io.legado.app.data import android.content.ContentValues import android.database.sqlite.SQLiteDatabase +import android.os.Build +import android.util.Log import androidx.room.AutoMigration import androidx.room.Database import androidx.room.Room @@ -143,7 +145,19 @@ abstract class AppDatabase : RoomDatabase() { val dbCallback = object : Callback() { override fun onCreate(db: SupportSQLiteDatabase) { - db.setLocale(Locale.CHINESE) + // 只在 API 级别 23 (Marshmallow) 及以上版本尝试设置区域设置 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + try { + Log.d("AppDatabaseCallback", "准备 设置 locale for API ${Build.VERSION.SDK_INT}...") + db.setLocale(Locale.CHINESE) + // 在 21 上报错,但无法拦截 + Log.d("AppDatabaseCallback", "成功 设置 locale for API ${Build.VERSION.SDK_INT}.") + } catch (e: Exception) { + Log.e("AppDatabaseCallback", "错误 设置 locale in onCreate for API ${Build.VERSION.SDK_INT}", e) + } + } else { + Log.i("AppDatabaseCallback", "跳过 setLocale for API ${Build.VERSION.SDK_INT} (below M).") + } } override fun onOpen(db: SupportSQLiteDatabase) {