fix: 启动时闪退

This commit is contained in:
HuanCheng65 2023-10-06 18:13:41 +08:00
parent 2c7194cda7
commit bd3f952108
No known key found for this signature in database
GPG Key ID: 5EC9DD60A32C7360
2 changed files with 12 additions and 3 deletions

View File

@ -743,7 +743,13 @@ class App : Application(), IApp, SketchFactory {
}
override fun getColorByAttr(context: Context, attrId: Int): Int {
return getColorByAttr(context, attrId, ThemeUtil.getCurrentTheme())
return when (attrId) {
R.attr.colorPrimary, R.attr.colorNewPrimary, R.attr.colorAccent -> {
getColorByAttr(context, attrId, ThemeUtil.getCurrentTheme(checkDynamic = true))
}
else -> getColorByAttr(context, attrId, ThemeUtil.getCurrentTheme())
}
}
override fun getColorById(context: Context, colorId: Int): Int {

View File

@ -279,7 +279,10 @@ object ThemeUtil {
}
@JvmOverloads
fun getCurrentTheme(theme: String = getRawTheme()): String {
fun getCurrentTheme(
theme: String = getRawTheme(),
checkDynamic: Boolean = false,
): String {
var nowTheme = theme
if (isTranslucentTheme(nowTheme)) {
val colorTheme =
@ -289,7 +292,7 @@ object ThemeUtil {
} else {
THEME_TRANSLUCENT_LIGHT
}
} else if (isUsingDynamicTheme() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
} else if (checkDynamic && isUsingDynamicTheme() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
nowTheme = "${nowTheme}_dynamic"
}
return nowTheme