From 641bbe726cb6912cdafcef03dfd9e6a1726df030 Mon Sep 17 00:00:00 2001 From: PranshulGG Date: Sat, 20 Jun 2026 15:16:18 +0530 Subject: [PATCH] change clock size selection to predefined options, fix widget layout spacing, and trigger worker on update --- .../widgets/glance/GlanceWidget.kt | 10 +++--- .../widgets/glance/GlanceWidgetReceiver.kt | 12 +++++++ .../widgets/glance/ui/GlanceWidgetConfig.kt | 33 ++++++++++++------ .../res/drawable/glance_widget_preview.png | Bin 0 -> 18156 bytes app/src/main/res/xml/glance_widget_info.xml | 5 ++- 5 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 app/src/main/res/drawable/glance_widget_preview.png diff --git a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidget.kt b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidget.kt index c0af4eebc..1eb390e95 100644 --- a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidget.kt +++ b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidget.kt @@ -4,10 +4,8 @@ import android.annotation.SuppressLint import android.content.Context import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.glance.ColorFilter import androidx.glance.GlanceId import androidx.glance.GlanceModifier -import androidx.glance.GlanceTheme import androidx.glance.Image import androidx.glance.ImageProvider import androidx.glance.LocalContext @@ -23,16 +21,16 @@ import androidx.glance.layout.Column import androidx.glance.layout.Row import androidx.glance.layout.Spacer import androidx.glance.layout.fillMaxSize +import androidx.glance.layout.fillMaxWidth import androidx.glance.layout.height import androidx.glance.layout.padding import androidx.glance.layout.size +import androidx.glance.layout.width import androidx.glance.text.Text import androidx.glance.text.TextStyle import androidx.glance.unit.ColorProvider import com.pranshulgg.weather_master_app.MainActivity import com.pranshulgg.weather_master_app.R -import com.pranshulgg.weather_master_app.core.ui.components.Gap -import com.pranshulgg.weather_master_app.core.ui.components.WeatherIconBox import com.pranshulgg.weather_master_app.widgets.WeatherWidgetStateDefinition import com.pranshulgg.weather_master_app.widgets.WeatherWidgetStateJson import com.pranshulgg.weather_master_app.widgets.model.WidgetWeather @@ -72,7 +70,7 @@ class GlanceWidget : GlanceAppWidget() { .clickable(actionStartActivity()) ) { if (state != null) - Column() { + Column(GlanceModifier.fillMaxWidth().padding(16.dp)) { if (config.showClock) { WidgetClock(config.clockSize, context) } @@ -86,7 +84,7 @@ class GlanceWidget : GlanceAppWidget() { contentDescription = null, modifier = GlanceModifier.size(24.dp) ) - Spacer(GlanceModifier.height(5.dp)) + Spacer(GlanceModifier.width(5.dp)) Box { Text( text = "${state.currentTemp} • ", diff --git a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidgetReceiver.kt b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidgetReceiver.kt index b2202e2fa..7ae694091 100644 --- a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidgetReceiver.kt +++ b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/GlanceWidgetReceiver.kt @@ -1,9 +1,21 @@ package com.pranshulgg.weather_master_app.widgets.glance +import android.appwidget.AppWidgetManager +import android.content.Context import androidx.glance.appwidget.GlanceAppWidgetReceiver +import com.pranshulgg.weather_master_app.data.worker.WeatherWorker import com.pranshulgg.weather_master_app.widgets.weather.WeatherWidget class GlanceWidgetReceiver : GlanceAppWidgetReceiver() { override val glanceAppWidget = GlanceWidget() + + override fun onUpdate( + context: Context, + appWidgetManager: AppWidgetManager, + appWidgetIds: IntArray + ) { + super.onUpdate(context, appWidgetManager, appWidgetIds) + WeatherWorker.runWorkerOnce(context) + } } \ No newline at end of file diff --git a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/ui/GlanceWidgetConfig.kt b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/ui/GlanceWidgetConfig.kt index a090ad714..ce356de40 100644 --- a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/ui/GlanceWidgetConfig.kt +++ b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/glance/ui/GlanceWidgetConfig.kt @@ -42,6 +42,7 @@ import com.pranshulgg.weather_master_app.core.ui.components.SettingsTileIcon import com.pranshulgg.weather_master_app.core.ui.components.WeatherIconBox import com.pranshulgg.weather_master_app.core.ui.components.tiles.DialogOption import com.pranshulgg.weather_master_app.core.ui.theme.ShapeRadius +import com.pranshulgg.weather_master_app.core.utils.formatters.toSafeDouble import com.pranshulgg.weather_master_app.widgets.config.WidgetConfig import kotlin.math.roundToInt @@ -49,15 +50,29 @@ import kotlin.math.roundToInt @Composable fun GlanceWidgetConfig(onDone: (WidgetConfig) -> Unit = {}) { - var clockSize by remember { mutableFloatStateOf(32f) } + var clockSize by remember { mutableFloatStateOf(36f) } var showClock by remember { mutableStateOf(true) } var dateFormat by remember { mutableStateOf("EEE d MMM") } val formats = listOf("EEE d MMM", "EEE MMM d", "EEE MM-dd") + val clockSizes = listOf( + 20f, + 28f, + 36f, + 44f, + 56f, + 72f, + 88f, + 104f, + 120f + ) val btnSize = ButtonDefaults.MediumContainerHeight val formatsOptions = formats.map { DialogOption(it, it) } + val clockSizeOptions = clockSizes.map { DialogOption(it.toString(), "${it.roundToInt()}.sp") } + + Scaffold( containerColor = MaterialTheme.colorScheme.surfaceContainer ) { paddingValues -> @@ -76,17 +91,13 @@ fun GlanceWidgetConfig(onDone: (WidgetConfig) -> Unit = {}) { SettingSection( title = stringResource(R.string.setting_appearance), tiles = listOf( - SettingTile.DialogSliderTile( - title = "Clock size", - dialogTitle = "Clock size", - initialValue = 32f, - valueRange = 20f..120f, - description = "${clockSize.roundToInt()}sp", - isDescriptionAsValue = true, + SettingTile.DialogOptionTile( leading = { SettingsTileIcon(R.drawable.format_size_24px) }, - labelFormatter = { "${it.roundToInt()}sp" }, - onValueSubmitted = { - clockSize = it + title = "Clock size", + options = clockSizeOptions, + selectedOption = clockSize.toString(), + onOptionSelected = { + clockSize = it.toSafeDouble()?.toFloat() ?: 36f } ), SettingTile.SwitchTile( diff --git a/app/src/main/res/drawable/glance_widget_preview.png b/app/src/main/res/drawable/glance_widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..de63c80ca3414cf7fdacdb7818c5fbe44ba600c1 GIT binary patch literal 18156 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 wgU!t*q8FR`v~!vFvP literal 0 HcmV?d00001 diff --git a/app/src/main/res/xml/glance_widget_info.xml b/app/src/main/res/xml/glance_widget_info.xml index 4000e9ede..aea43a772 100644 --- a/app/src/main/res/xml/glance_widget_info.xml +++ b/app/src/main/res/xml/glance_widget_info.xml @@ -1,9 +1,8 @@ \ No newline at end of file + android:previewImage="@drawable/glance_widget_preview" /> \ No newline at end of file