fix home widget activity
This commit is contained in:
+15
-4
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user