From ad3e19ce0d8afaa38de49aa9b449cd0eee0c4d02 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Tue, 16 May 2023 17:20:26 +0200 Subject: [PATCH] Remove placeholder icons, use as fallback only --- .../main/java/de/mm20/launcher2/icons/IconService.kt | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/services/icons/src/main/java/de/mm20/launcher2/icons/IconService.kt b/services/icons/src/main/java/de/mm20/launcher2/icons/IconService.kt index 1a720d4a..619dbf18 100644 --- a/services/icons/src/main/java/de/mm20/launcher2/icons/IconService.kt +++ b/services/icons/src/main/java/de/mm20/launcher2/icons/IconService.kt @@ -65,7 +65,6 @@ class IconService( private val cache = LruCache(200) private var iconProviders: MutableStateFlow> = MutableStateFlow(listOf()) - private var placeholderProvider: IconProvider? = null /** * Signal that installed icon packs have been updated. Force a reload of all icons. @@ -93,7 +92,7 @@ class IconService( scope.launch { dataStore.data.map { it.icons }.distinctUntilChanged().collectLatest { settings -> iconPacksUpdated.collectLatest { - val placeholderProvider = if (settings.themedIcons) { + val fallbackProvider = if (settings.themedIcons) { ThemedPlaceholderIconProvider(context) } else { PlaceholderIconProvider(context) @@ -121,7 +120,7 @@ class IconService( providers.add(CompatIconProvider(context, settings.themedIcons)) } providers.add(SystemIconProvider(context, settings.themedIcons)) - providers.add(placeholderProvider) + providers.add(fallbackProvider) cache.evictAll() val transformations = mutableListOf() @@ -131,7 +130,6 @@ class IconService( ForceThemedIconTransformation() ) - this@IconService.placeholderProvider = placeholderProvider iconProviders.value = providers this@IconService.transformations.value = transformations } @@ -154,9 +152,6 @@ class IconService( return@collectLatest } - val placeholder = placeholderProvider?.getIcon(searchable, size) - placeholder?.let { send(it) } - icon = provs.getFirstIcon(searchable, size) if (icon != null) { @@ -193,7 +188,7 @@ class IconService( ) } if (customIcon is DefaultPlaceholderIcon) { - return placeholderProvider?.let { listOf(it) } ?: emptyList() + return iconProviders.value.lastOrNull()?.let { listOf(it) } ?: emptyList() } return emptyList() }