fix home widget activity

This commit is contained in:
Fabian Freund
2026-06-02 11:23:04 +02:00
parent 2a481bb873
commit 630b1dfbe0
@@ -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<MainActivity>(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"