AssetManager: applyStyle: use loadResourceBagValue instead of creating a temporary theme

This commit is contained in:
Mis012
2024-04-08 18:28:18 +02:00
parent 0f14370c8b
commit 0352a307b9

View File

@@ -777,14 +777,6 @@ public final class AssetManager {
defStyleRes = styleVal;
}
}
long defStyle = 0;
if (defStyleRes != 0) {
defStyle = newTheme();
if(theme != 0)
copyTheme(defStyle, theme);
applyThemeStyle(defStyle, defStyleRes, true);
}
ResXmlPullParser parser = (ResXmlPullParser)set;
outIndices[0] = 0;
@@ -823,8 +815,8 @@ public final class AssetManager {
int block = -1;
if (theme != 0 && (value.type == TypedValue.TYPE_ATTRIBUTE || value.type == -1))
block = loadThemeAttributeValue(theme, resId, value, true);
if (block < 0 && defStyle != 0 && (value.type == TypedValue.TYPE_ATTRIBUTE || value.type == -1))
block = loadThemeAttributeValue(defStyle, resId, value, true);
if (block < 0 && defStyleRes != 0 && (value.type == TypedValue.TYPE_ATTRIBUTE || value.type == -1))
block = loadResourceBagValue(defStyleRes, resId, value, true);
if (block < 0 && value.type == TypedValue.TYPE_REFERENCE)
block = loadResourceValue(resId, (short)0, value, true);
if (block >= 0) {
@@ -858,9 +850,6 @@ public final class AssetManager {
outValues[d+AssetManager.STYLE_ASSET_COOKIE] = -1;
}
}
if (defStyle != 0) {
deleteTheme(defStyle);
}
return true;
}
/*package*/ native final boolean retrieveAttributes(