Skip to content

Commit 5b25cb4

Browse files
authored
Refine useLocaleManager with intent check for locales
This fixes #9628.
1 parent 01cb75e commit 5b25cb4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

app/core/src/main/java/com/topjohnwu/magisk/core/utils/LocaleSetting.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import android.annotation.SuppressLint
44
import android.app.LocaleConfig
55
import android.app.LocaleManager
66
import android.content.ContextWrapper
7+
import android.content.Intent
78
import android.content.res.Resources
9+
import android.net.Uri
810
import android.os.Build
911
import android.os.LocaleList
12+
import android.provider.Settings
1013
import androidx.annotation.RequiresApi
1114
import com.topjohnwu.magisk.core.AppApkPath
1215
import com.topjohnwu.magisk.core.AppContext
@@ -165,8 +168,9 @@ interface LocaleSetting {
165168
}
166169

167170
val useLocaleManager get() =
168-
if (isRunningAsStub) Build.VERSION.SDK_INT >= 34
169-
else Build.VERSION.SDK_INT >= 33
171+
(if (isRunningAsStub) Build.VERSION.SDK_INT >= 34 else Build.VERSION.SDK_INT >= 33) &&
172+
Intent(Settings.ACTION_APP_LOCALE_SETTINGS, Uri.fromParts("package", AppContext.packageName, null))
173+
.resolveActivity(AppContext.packageManager) != null
170174

171175
val instance: LocaleSetting by lazy {
172176
// Initialize available locale list

0 commit comments

Comments
 (0)