Make headwind widget / tailwind and speed widgets open the weather forecast on click (#76)

This commit is contained in:
timklge 2025-03-27 20:00:24 +01:00 committed by GitHub
parent 07c07b052e
commit bcf47a9578
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 4 deletions

View File

@ -156,7 +156,8 @@ class HeadwindDirectionDataType(
baseBitmap, baseBitmap,
windDirection.roundToInt(), windDirection.roundToInt(),
config.textSize, config.textSize,
windSpeed?.toInt()?.toString() ?: "" windSpeed?.toInt()?.toString() ?: "",
preview = config.preview
) )
} }

View File

@ -11,6 +11,8 @@ import androidx.glance.ColorFilter
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.actionStartActivity
import androidx.glance.action.clickable
import androidx.glance.appwidget.background import androidx.glance.appwidget.background
import androidx.glance.appwidget.cornerRadius import androidx.glance.appwidget.cornerRadius
import androidx.glance.color.ColorProvider import androidx.glance.color.ColorProvider
@ -26,6 +28,7 @@ import androidx.glance.text.FontFamily
import androidx.glance.text.FontWeight import androidx.glance.text.FontWeight
import androidx.glance.text.Text import androidx.glance.text.Text
import androidx.glance.text.TextStyle import androidx.glance.text.TextStyle
import de.timklge.karooheadwind.MainActivity
import kotlin.math.roundToInt import kotlin.math.roundToInt
fun getArrowBitmapByBearing(baseBitmap: Bitmap, bearing: Int): Bitmap { fun getArrowBitmapByBearing(baseBitmap: Bitmap, bearing: Int): Bitmap {
@ -53,10 +56,12 @@ fun getArrowBitmapByBearing(baseBitmap: Bitmap, bearing: Int): Bitmap {
fun HeadwindDirection( fun HeadwindDirection(
baseBitmap: Bitmap, bearing: Int, fontSize: Int, baseBitmap: Bitmap, bearing: Int, fontSize: Int,
overlayText: String, overlaySubText: String? = null, overlayText: String, overlaySubText: String? = null,
nightColor: Color = Color.Black, dayColor: Color = Color.White nightColor: Color = Color.Black, dayColor: Color = Color.White, preview: Boolean = false
) { ) {
val baseModifier = GlanceModifier.fillMaxSize().padding(5.dp).background(dayColor, nightColor).cornerRadius(10.dp)
Box( Box(
modifier = GlanceModifier.fillMaxSize().padding(5.dp).background(dayColor, nightColor).cornerRadius(10.dp), modifier = if (!preview) baseModifier.clickable(actionStartActivity<MainActivity>()) else baseModifier,
contentAlignment = Alignment( contentAlignment = Alignment(
vertical = Alignment.Vertical.CenterVertically, vertical = Alignment.Vertical.CenterVertically,
horizontal = Alignment.Horizontal.CenterHorizontally, horizontal = Alignment.Horizontal.CenterHorizontally,

View File

@ -195,7 +195,8 @@ class TailwindAndRideSpeedDataType(
text, text,
subtextWithSign, subtextWithSign,
dayColor, dayColor,
nightColor nightColor,
preview = config.preview
) )
} }