From 630b1dfbe01f2f6c6bd75476ed21b0342cabbfcd Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Tue, 2 Jun 2026 11:23:04 +0200 Subject: [PATCH] fix home widget activity --- .../weblibre/gecko/SearchBarWidgetProvider.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/apps/weblibre/android/app/src/main/kotlin/eu/weblibre/gecko/SearchBarWidgetProvider.kt b/apps/weblibre/android/app/src/main/kotlin/eu/weblibre/gecko/SearchBarWidgetProvider.kt index 27efb661..c3acb4c3 100644 --- a/apps/weblibre/android/app/src/main/kotlin/eu/weblibre/gecko/SearchBarWidgetProvider.kt +++ b/apps/weblibre/android/app/src/main/kotlin/eu/weblibre/gecko/SearchBarWidgetProvider.kt @@ -1,17 +1,21 @@ package eu.weblibre.gecko import android.content.Context +import android.content.Intent import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.core.net.toUri import androidx.glance.GlanceId import androidx.glance.GlanceModifier import androidx.glance.Image import androidx.glance.ImageProvider +import androidx.glance.action.Action import androidx.glance.action.clickable import androidx.glance.appwidget.GlanceAppWidget import androidx.glance.appwidget.GlanceAppWidgetReceiver +import androidx.glance.appwidget.action.actionStartActivity import androidx.glance.appwidget.provideContent import androidx.glance.background import androidx.glance.layout.Alignment @@ -22,8 +26,6 @@ import androidx.glance.layout.wrapContentHeight import androidx.glance.text.Text import androidx.glance.text.TextStyle import androidx.glance.unit.ColorProvider -import androidx.core.net.toUri -import es.antonborri.home_widget.actionStartActivity class SearchBarGlanceWidget : GlanceAppWidget() { @@ -42,8 +44,7 @@ private fun SearchBarContent(context: Context) { .wrapContentHeight() .background(ImageProvider(R.drawable.search_text_field)) .padding(12.dp) - .clickable(onClick = actionStartActivity(context, - "widget://search".toUri())), + .clickable(onClick = actionStartSearch(context)), verticalAlignment = Alignment.CenterVertically ) { // Start icon @@ -73,6 +74,16 @@ private fun SearchBarContent(context: Context) { } } +private fun actionStartSearch(context: Context): Action { + val intent = Intent(context, MainActivity::class.java) + intent.data = "widget://search".toUri() + intent.action = HOME_WIDGET_LAUNCH_ACTION + + return actionStartActivity(intent) +} + class SearchBarWidgetReceiver : GlanceAppWidgetReceiver() { override val glanceAppWidget: GlanceAppWidget = SearchBarGlanceWidget() } + +private const val HOME_WIDGET_LAUNCH_ACTION = "es.antonborri.home_widget.action.LAUNCH"