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