fix dispatcher context

This commit is contained in:
Fabian Freund
2026-02-13 19:48:33 +01:00
parent bc7e584a01
commit cf3b9c8e1d
@@ -330,19 +330,17 @@ class GeckoTabsApiImpl : GeckoTabsApi {
} }
if (onBrowserExtensionIcons) { if (onBrowserExtensionIcons) {
coroutineScope.launch { coroutineScope.launch(Dispatchers.Main) {
try { try {
val icon = browserAction.loadIcon?.invoke(128) val icon = browserAction.loadIcon?.invoke(128)
icon?.let { icon?.let {
val imageBytes = icon.toWebPBytes() val imageBytes = icon.toWebPBytes()
withContext(Dispatchers.Main) { components.addonEvents.onUpdateWebExtensionIcon(
components.addonEvents.onUpdateWebExtensionIcon( EventSequence.next(),
EventSequence.next(), extension.id,
extension.id, WebExtensionActionType.BROWSER,
WebExtensionActionType.BROWSER, imageBytes
imageBytes ) { }
) { }
}
} }
} catch (e: Exception) { } catch (e: Exception) {
logger.error("$TAG: Failed to load browser action icon for ${extension.id}", e) logger.error("$TAG: Failed to load browser action icon for ${extension.id}", e)
@@ -371,19 +369,17 @@ class GeckoTabsApiImpl : GeckoTabsApi {
} }
if (onPageExtensionIcons) { if (onPageExtensionIcons) {
coroutineScope.launch { coroutineScope.launch(Dispatchers.Main) {
try { try {
val icon = pageAction.loadIcon?.invoke(128) val icon = pageAction.loadIcon?.invoke(128)
icon?.let { icon?.let {
val imageBytes = icon.toWebPBytes() val imageBytes = icon.toWebPBytes()
withContext(Dispatchers.Main) { components.addonEvents.onUpdateWebExtensionIcon(
components.addonEvents.onUpdateWebExtensionIcon( EventSequence.next(),
EventSequence.next(), extension.id,
extension.id, WebExtensionActionType.PAGE,
WebExtensionActionType.PAGE, imageBytes
imageBytes ) { }
) { }
}
} }
} catch (e: Exception) { } catch (e: Exception) {
logger.error("$TAG: Failed to load page action icon for ${extension.id}", e) logger.error("$TAG: Failed to load page action icon for ${extension.id}", e)