Compare commits

...

1 Commits

Author SHA1 Message Date
Wang Han
5b25cb4a4e Refine useLocaleManager with intent check for locales
This fixes https://github.com/topjohnwu/Magisk/issues/9628.
2026-01-15 23:08:42 +08:00

View File

@@ -4,9 +4,12 @@ import android.annotation.SuppressLint
import android.app.LocaleConfig import android.app.LocaleConfig
import android.app.LocaleManager import android.app.LocaleManager
import android.content.ContextWrapper import android.content.ContextWrapper
import android.content.Intent
import android.content.res.Resources import android.content.res.Resources
import android.net.Uri
import android.os.Build import android.os.Build
import android.os.LocaleList import android.os.LocaleList
import android.provider.Settings
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.topjohnwu.magisk.core.AppApkPath import com.topjohnwu.magisk.core.AppApkPath
import com.topjohnwu.magisk.core.AppContext import com.topjohnwu.magisk.core.AppContext
@@ -165,8 +168,9 @@ interface LocaleSetting {
} }
val useLocaleManager get() = val useLocaleManager get() =
if (isRunningAsStub) Build.VERSION.SDK_INT >= 34 (if (isRunningAsStub) Build.VERSION.SDK_INT >= 34 else Build.VERSION.SDK_INT >= 33) &&
else Build.VERSION.SDK_INT >= 33 Intent(Settings.ACTION_APP_LOCALE_SETTINGS, Uri.fromParts("package", AppContext.packageName, null))
.resolveActivity(AppContext.packageManager) != null
val instance: LocaleSetting by lazy { val instance: LocaleSetting by lazy {
// Initialize available locale list // Initialize available locale list