| 
					
				 | 
			
			
				@@ -50,6 +50,8 @@ class ExtensionManager( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private val installedExtensionsRelay = BehaviorRelay.create<List<Extension.Installed>>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private val iconMap = mutableMapOf<String, Drawable>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 |