From 06c3f57f62e24cfa54b9df5204a4865b0f685779 Mon Sep 17 00:00:00 2001 From: arkon Date: Fri, 3 Apr 2020 21:39:55 -0400 Subject: [PATCH] Cache source package icons --- .../eu/kanade/tachiyomi/extension/ExtensionManager.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt index 991bb4ffa4..48284ed44a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt @@ -50,6 +50,8 @@ class ExtensionManager( */ private val installedExtensionsRelay = BehaviorRelay.create>() + private val iconMap = mutableMapOf() + /** * List of the currently installed extensions. */ @@ -61,8 +63,10 @@ class ExtensionManager( fun getAppIconForSource(source: Source): Drawable? { val pkgName = installedExtensions.find { ext -> ext.sources.any { it.id == source.id } }?.pkgName - return if (pkgName != null) context.packageManager.getApplicationIcon(pkgName) - else null + if (pkgName != null) { + return iconMap[pkgName] ?: iconMap.getOrPut(pkgName) { context.packageManager.getApplicationIcon(pkgName) } + } + return null } /**