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 package eu.weblibre.gecko
import android.content.Context import android.content.Context
import android.content.Intent
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.core.net.toUri
import androidx.glance.GlanceId import androidx.glance.GlanceId
import androidx.glance.GlanceModifier import androidx.glance.GlanceModifier
import androidx.glance.Image import androidx.glance.Image
import androidx.glance.ImageProvider import androidx.glance.ImageProvider
import androidx.glance.action.Action
import androidx.glance.action.clickable import androidx.glance.action.clickable
import androidx.glance.appwidget.GlanceAppWidget import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver import androidx.glance.appwidget.GlanceAppWidgetReceiver
import androidx.glance.appwidget.action.actionStartActivity
import androidx.glance.appwidget.provideContent import androidx.glance.appwidget.provideContent
import androidx.glance.background import androidx.glance.background
import androidx.glance.layout.Alignment import androidx.glance.layout.Alignment
@@ -22,8 +26,6 @@ import androidx.glance.layout.wrapContentHeight
import androidx.glance.text.Text import androidx.glance.text.Text
import androidx.glance.text.TextStyle import androidx.glance.text.TextStyle
import androidx.glance.unit.ColorProvider import androidx.glance.unit.ColorProvider
import androidx.core.net.toUri
import es.antonborri.home_widget.actionStartActivity
class SearchBarGlanceWidget : GlanceAppWidget() { class SearchBarGlanceWidget : GlanceAppWidget() {
@@ -42,8 +44,7 @@ private fun SearchBarContent(context: Context) {
.wrapContentHeight() .wrapContentHeight()
.background(ImageProvider(R.drawable.search_text_field)) .background(ImageProvider(R.drawable.search_text_field))
.padding(12.dp) .padding(12.dp)
.clickable(onClick = actionStartActivity<MainActivity>(context, .clickable(onClick = actionStartSearch(context)),
"widget://search".toUri())),
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {
// Start icon // 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() { class SearchBarWidgetReceiver : GlanceAppWidgetReceiver() {
override val glanceAppWidget: GlanceAppWidget = SearchBarGlanceWidget() override val glanceAppWidget: GlanceAppWidget = SearchBarGlanceWidget()
} }
private const val HOME_WIDGET_LAUNCH_ACTION = "es.antonborri.home_widget.action.LAUNCH"