From 199d194c46d47cf503793ca71b87fdf6cb8e77e4 Mon Sep 17 00:00:00 2001 From: Nick Lefever Date: Tue, 10 Sep 2024 12:44:22 -0700 Subject: [PATCH] Use asset name as key for vector image check caching (#46421) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46421 Changelog: [Internal] Avoid using the Context as a cache key, using only the asset name. Reviewed By: Abbondanzo Differential Revision: D62445718 fbshipit-source-id: 4161e6ef1bbc396c8ab815cdc0362159411f6a68 --- .../views/imagehelper/ResourceDrawableIdHelper.kt | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt index 496da026c49..be1079819d4 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt @@ -19,7 +19,7 @@ import org.xmlpull.v1.XmlPullParser @ThreadSafe public class ResourceDrawableIdHelper private constructor() { private val resourceDrawableIdMap: MutableMap = HashMap() - private val vectorDrawableCheckCache: MutableMap> = HashMap() + private val vectorDrawableCheckCache: MutableMap = HashMap() @Synchronized public fun clear() { @@ -65,15 +65,7 @@ public class ResourceDrawableIdHelper private constructor() { } public fun isVectorDrawable(context: Context, name: String): Boolean { - val cachedResult = vectorDrawableCheckCache[context]?.get(name); - if (cachedResult != null) { - return cachedResult - } - - - val result = getOpeningXmlTag(context, name) == "vector" - vectorDrawableCheckCache.getOrPut(context, { HashMap() }).put(name, result) - return result + return vectorDrawableCheckCache.getOrPut(name, { getOpeningXmlTag(context, name) == "vector" }) } /**