From 4f943ebda7f7c9a6ee4595ebc022827e3f4541d3 Mon Sep 17 00:00:00 2001 From: Tim Kluge Date: Mon, 9 Dec 2024 21:43:15 +0100 Subject: [PATCH] ref #8: Replace fixed arrow images, use gps bearing, moving average --- .../de/timklge/karooheadwind/Extensions.kt | 31 ++++++--- .../datatypes/HeadwindDirectionDataType.kt | 1 - .../datatypes/HeadwindDirectionView.kt | 65 +++++++++++++----- .../datatypes/WeatherDataType.kt | 2 - .../karooheadwind/datatypes/WeatherView.kt | 3 +- app/src/main/res/drawable/arrow_0.png | Bin 980 -> 0 bytes app/src/main/res/drawable/arrow_1.png | Bin 3030 -> 0 bytes app/src/main/res/drawable/arrow_10.png | Bin 2834 -> 0 bytes app/src/main/res/drawable/arrow_11.png | Bin 3090 -> 0 bytes app/src/main/res/drawable/arrow_2.png | Bin 2952 -> 0 bytes app/src/main/res/drawable/arrow_3.png | Bin 749 -> 0 bytes app/src/main/res/drawable/arrow_4.png | Bin 2883 -> 0 bytes app/src/main/res/drawable/arrow_5.png | Bin 3173 -> 0 bytes app/src/main/res/drawable/arrow_6.png | Bin 943 -> 0 bytes app/src/main/res/drawable/arrow_7.png | Bin 3057 -> 0 bytes app/src/main/res/drawable/arrow_8.png | Bin 3020 -> 0 bytes app/src/main/res/drawable/arrow_9.png | Bin 758 -> 0 bytes 17 files changed, 70 insertions(+), 32 deletions(-) delete mode 100644 app/src/main/res/drawable/arrow_0.png delete mode 100644 app/src/main/res/drawable/arrow_1.png delete mode 100644 app/src/main/res/drawable/arrow_10.png delete mode 100644 app/src/main/res/drawable/arrow_11.png delete mode 100644 app/src/main/res/drawable/arrow_2.png delete mode 100644 app/src/main/res/drawable/arrow_3.png delete mode 100644 app/src/main/res/drawable/arrow_4.png delete mode 100644 app/src/main/res/drawable/arrow_5.png delete mode 100644 app/src/main/res/drawable/arrow_6.png delete mode 100644 app/src/main/res/drawable/arrow_7.png delete mode 100644 app/src/main/res/drawable/arrow_8.png delete mode 100644 app/src/main/res/drawable/arrow_9.png diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/Extensions.kt b/app/src/main/kotlin/de/timklge/karooheadwind/Extensions.kt index 32f8c3d..1affac7 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/Extensions.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/Extensions.kt @@ -27,6 +27,7 @@ import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapNotNull +import kotlinx.coroutines.flow.scan import kotlinx.coroutines.flow.single import kotlinx.coroutines.flow.timeout import kotlinx.coroutines.time.debounce @@ -167,24 +168,36 @@ fun KarooSystemService.getRelativeHeadingFlow(context: Context): Flow { return getHeadingFlow() .filter { it >= 0 } - .combine(currentWeatherData) { cardinalDirection, data -> cardinalDirection to data } - .map { (cardinalDirection, data) -> - val bearing = cardinalDirection * 45.0 + .combine(currentWeatherData) { bearing, data -> bearing to data } + .map { (bearing, data) -> val windBearing = data.current.windDirection + 180 - val diff = (signedAngleDifference(bearing, windBearing) + 360) % 360 + val diff = signedAngleDifference(bearing, windBearing) Log.d(KarooHeadwindExtension.TAG, "Wind bearing: $bearing vs $windBearing => $diff") diff } } -fun KarooSystemService.getHeadingFlow(): Flow { - // return flowOf(2) +fun Double.lerp(target: Double, alpha: Double): Double { + return this + (target - this) * alpha +} - return streamDataFlow(DataType.Type.HEADING) - .mapNotNull { (it as? StreamState.Streaming)?.dataPoint?.singleValue } - .map { it.roundToInt() } +fun KarooSystemService.getHeadingFlow(): Flow { + //return flowOf(20.0) + + return streamDataFlow("TYPE_LOCATION_ID") + .mapNotNull { (it as? StreamState.Streaming)?.dataPoint?.values } + .map { values -> + val heading = values[DataType.Field.LOC_BEARING] + + heading ?: 0.0 + } .distinctUntilChanged() + .scan(emptyList()) { acc, value -> + val newAcc = acc + value + if (newAcc.size > 3) newAcc.drop(1) else newAcc + } + .map { it.average() } } @OptIn(FlowPreview::class) diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionDataType.kt b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionDataType.kt index d9b303e..75c6543 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionDataType.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionDataType.kt @@ -7,7 +7,6 @@ import androidx.glance.appwidget.ExperimentalGlanceRemoteViewsApi import androidx.glance.appwidget.GlanceRemoteViews import de.timklge.karooheadwind.KarooHeadwindExtension import de.timklge.karooheadwind.OpenMeteoCurrentWeatherResponse -import de.timklge.karooheadwind.getHeadingFlow import de.timklge.karooheadwind.getRelativeHeadingFlow import de.timklge.karooheadwind.screens.HeadwindSettings import de.timklge.karooheadwind.streamCurrentWeatherData diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionView.kt b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionView.kt index 791c6a6..2840757 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionView.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/HeadwindDirectionView.kt @@ -1,7 +1,15 @@ package de.timklge.karooheadwind.datatypes +import android.R +import android.content.res.Resources +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.Canvas +import android.graphics.Paint +import android.graphics.Path import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.dp @@ -9,6 +17,7 @@ import androidx.glance.ColorFilter import androidx.glance.GlanceModifier import androidx.glance.Image import androidx.glance.ImageProvider +import androidx.glance.LocalContext import androidx.glance.background import androidx.glance.color.ColorProvider import androidx.glance.layout.Alignment @@ -20,27 +29,45 @@ import androidx.glance.preview.ExperimentalGlancePreviewApi import androidx.glance.preview.Preview import androidx.glance.text.Text import androidx.glance.text.TextStyle -import de.timklge.karooheadwind.R import kotlin.math.roundToInt -fun getArrowResourceByBearing(bearing: Int): Int { - val oclock = ((bearing % 360) / 30.0).roundToInt() - return when (oclock){ - 0 -> R.drawable.arrow_0 - 1 -> R.drawable.arrow_1 - 2 -> R.drawable.arrow_2 - 3 -> R.drawable.arrow_3 - 4 -> R.drawable.arrow_4 - 5 -> R.drawable.arrow_5 - 6 -> R.drawable.arrow_6 - 7 -> R.drawable.arrow_7 - 8 -> R.drawable.arrow_8 - 9 -> R.drawable.arrow_9 - 10 -> R.drawable.arrow_10 - 11 -> R.drawable.arrow_11 - 12 -> R.drawable.arrow_0 - else -> error("Bearing $bearing out of range") +val bitmapsByBearing = mutableMapOf() + +fun getArrowBitmapByBearing(bearing: Int): Bitmap { + synchronized(bitmapsByBearing) { + val bearingRounded = (((bearing + 360) / 5.0).roundToInt() * 5) % 360 + + val storedBitmap = bitmapsByBearing[bearingRounded] + if (storedBitmap != null) return storedBitmap + + val bitmap = Bitmap.createBitmap(128, 128, Bitmap.Config.ARGB_8888) + val canvas = Canvas(bitmap) + + val paint = Paint().apply { + color = android.graphics.Color.WHITE + style = Paint.Style.STROKE + strokeWidth = 15f + isAntiAlias = true + } + + val path = Path().apply { + moveTo(64f, 0f) // Top point of the arrow + lineTo(128f, 128f) // Bottom right point of the arrow + lineTo(64f, 96f) // Middle bottom point of the arrow + lineTo(0f, 128f) // Bottom left point of the arrow + close() // Close the path to form the arrow shape + } + + canvas.save() + canvas.rotate(bearing.toFloat(), 64f, 64f) // Rotate the canvas based on the bearing + canvas.scale(0.75f, 0.75f, 64f, 64f) // Scale the arrow down to fit the canvas + canvas.drawPath(path, paint) + canvas.restore() + + bitmapsByBearing[bearingRounded] = bitmap + + return bitmap } } @@ -57,7 +84,7 @@ fun HeadwindDirection(bearing: Int, fontSize: Int, overlayText: String? = null) ) { Image( modifier = GlanceModifier.fillMaxSize(), - provider = ImageProvider(getArrowResourceByBearing(bearing)), + provider = ImageProvider(getArrowBitmapByBearing(bearing)), contentDescription = "Relative wind direction indicator", contentScale = ContentScale.Fit, colorFilter = ColorFilter.tint(ColorProvider(Color.Black, Color.White)) diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherDataType.kt b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherDataType.kt index 33c0fe1..84c5626 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherDataType.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherDataType.kt @@ -8,7 +8,6 @@ import androidx.glance.appwidget.GlanceRemoteViews import de.timklge.karooheadwind.KarooHeadwindExtension import de.timklge.karooheadwind.OpenMeteoCurrentWeatherResponse import de.timklge.karooheadwind.WeatherInterpretation -import de.timklge.karooheadwind.getHeadingFlow import de.timklge.karooheadwind.screens.HeadwindSettings import de.timklge.karooheadwind.streamCurrentWeatherData import de.timklge.karooheadwind.streamSettings @@ -25,7 +24,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.launch import kotlin.math.roundToInt diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherView.kt b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherView.kt index b261fff..01306fb 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherView.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/datatypes/WeatherView.kt @@ -9,6 +9,7 @@ import androidx.glance.ColorFilter import androidx.glance.GlanceModifier import androidx.glance.Image import androidx.glance.ImageProvider +import androidx.glance.LocalContext import androidx.glance.color.ColorProvider import androidx.glance.layout.Alignment import androidx.glance.layout.Column @@ -57,7 +58,7 @@ fun Weather(current: WeatherInterpretation, windBearing: Int, windSpeed: Int, wi Row(horizontalAlignment = Alignment.CenterHorizontally, verticalAlignment = Alignment.CenterVertically) { Image( modifier = GlanceModifier.height(20.dp).width(12.dp), - provider = ImageProvider(getArrowResourceByBearing(windBearing)), + provider = ImageProvider(getArrowBitmapByBearing(windBearing)), contentDescription = "Current wind direction", contentScale = ContentScale.Fit, colorFilter = ColorFilter.tint(ColorProvider(Color.Black, Color.White)) diff --git a/app/src/main/res/drawable/arrow_0.png b/app/src/main/res/drawable/arrow_0.png deleted file mode 100644 index a2013b4cad8b1180bef57bc2c95d27e8e6560d44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcmeAS@N?(olHy`uVBq!ia0vp^?I6s-0wkxsYia~i3dtTpz6=aiY77hwEes65fI!oJfE3_0Js3;D^sNDPH;w>@G ziF(!V6#{l$)33T#Ev|TJ`Y+GW(EKl@@AsCx*JpDqGkC`LN&eUz$8SkzM4u=elW}A- ze8yHJlI*A8DN)Smd29x=huEnhOvxdi59yJ+?37Gd7Hta}pVJ|%1!E=dKSWS$)pdcpkQ^wIT$H2>i zsVO3HN+ApL#={yL%-+E>PVQ)z_z>Yw*g_s&UJ~4G&&0 zT;e+1c35(WY@29%$GSNVQAsxnEgH8R-SDJ?)$k{2iKZ@_n)s zWO`%;l6&H0&N~zty10A^s?R#=n)~2nd8dr{Gj03Wch^!U>wi5aw^+TsBaSy&=goAR zT}#`KSikK)y7>D&zdhnTvX%-(4o@0RFivDvVt3)|kP)Dn0B_x|@-6E>X=UDteEEO( bl<(3fQrj!P-|^ZB%tZ{Iu6{1-oD!M004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0063uBQgL000(qQ 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 Y0X~Hh4xWd>Gynhq07*qoM6N<$f+5J3FaQ7m diff --git a/app/src/main/res/drawable/arrow_10.png b/app/src/main/res/drawable/arrow_10.png deleted file mode 100644 index 89a020fb38c457ecdc29575c3eb4fc6718daee55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2834 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 diff --git a/app/src/main/res/drawable/arrow_11.png b/app/src/main/res/drawable/arrow_11.png deleted file mode 100644 index 7bc493cf766bd898f9a74203bcfd5293e0bf8a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3090 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 diff --git a/app/src/main/res/drawable/arrow_2.png b/app/src/main/res/drawable/arrow_2.png deleted file mode 100644 index e358916e392665d5c0afbb6c2d909a1704f604ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2952 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 diff --git a/app/src/main/res/drawable/arrow_4.png b/app/src/main/res/drawable/arrow_4.png deleted file mode 100644 index 30488cea061992ef0009f77d6a00531cb85824dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2883 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 LNkvXXu0mjf#s%(> diff --git a/app/src/main/res/drawable/arrow_6.png b/app/src/main/res/drawable/arrow_6.png deleted file mode 100644 index f61ea2f0bcc1710f39aabaf74d639bd716e0f611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 zcmeAS@N?(olHy`uVBq!ia0vp^?I6s-0wkxsYia~i3dtTpz6=aiY77hwEes65fI&|D=h^>@IvAG6I$gMGj9IPB2bnR-%xla)*^>z)R>xX3+qs|=p))A#?> z>vd0$pPu~x=H{A8W!?hYJSY?#(Bb;Csm-nPg!E8g1cde;~q=DgeMJi zjs&oLd^+QR1-p{DutfEQ*BdR)CHOSXIU2z9@$rcR7Oaz67cxCMI>xlsjzQS&wOVtVsD3v*A@Wmm^f+;DZaY`}E(F=^4 zPdR!PG6o$Jlvymhq$Qc5XG+kd)4x`q`Qv@E?e)>M(yqoQ%!=>KPc#V1`jN8c^B z&0h|2a9$Etmhs5%2~ZF;IMm>Bkb_Z(bFsCDNzXb3LBm~*E=ON52}vH7Rk3Q*KEWZ8 zr?5C-M?+6bBA<~|o92lQi8O`9Ni!OHdKU5-S+!}MkTJO8@T_SelaYE)+Jv2nCXHtV z7fYqAlL%EPKBmDo)7nk&gpk1|$7xLySvRTlY*z3-JcA`t>6qt)rAacZkw(X?CoD~7 r;4u7la_O60e{Sn%ZF;x2x%Rwe>YFY8-zN71GYEsHtDnm{r-UW|D7J6= diff --git a/app/src/main/res/drawable/arrow_7.png b/app/src/main/res/drawable/arrow_7.png deleted file mode 100644 index f0e841c5e700ff37ba680d7e7cc7aaae15e684f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3057 zcmV004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0063uBQgL000(qQ zO+^Rj3;_}oH;sQPr~m)}5MyCZb^rhYN&o->N&o-=IRF3vK7hp(tN;KDPf0{URCwCm zoPBJaRUOAa=XSTfZCAF8xfj^W-MXz^ce{?Uk~t*=(cmBwBZ=`JF%gv*BRD|iH8=@V z0WnHY)cC@S32J}{h6KVCqBwaOZ0pNyx0Q9b+uC)n?YeetZ|~PX?%md|FZZ1LJWp@& z`^S>C=XuWW)93k}bAIRdI}dy$q>w-N@#!`J!x|Rpd0mxnJ0=UaR1Zt)(jOGfw=KcL z8dWN-q}p`9BKfu`Sllwbtg}jKK)dwCeA^TpY>_^zkxHshujq<=TNVVYQK1?%T0=Un zUuu57?eiPAShs3C4Qik6(6oHp=pU@nJe}0|N~vG(>T~(F(=XgoJ)vw$>aU`Vk z9X70*tgvT2xl@nm;(S}|4Yy2NEpa93w64#$#a>_|y3qkv`cJ+s_5y2Eq810(q}J!# zW-quUy36U=KAmriy}%kRRG$OvNzKc*&0cV)>yJ*)_U?RJ>;<+^>z!bmRgiC+bB8rD z+UA6NW4>+nf*aA7onW`-+hQ-UMl*E40e0Xcy?j)O9&~!Pzsk48USN&Nm2`kTqFMR2 z*$eJ;{nhE&-Wrr4lQ7h)NLM?-?)2Y;5U5C3=&SmIiUNf-nx-92xEp=#9u(Cz+N5U` zm-L!u2Z~#)TbyA3?oYP`pgG#0oAspLP^X46w{O*k0AY=0>xctvpO)v+&$*2)6__EF zv5e)arHU#RP=FcMav^K9%_tz=67Is~?RmoN$)y`3W27+Ul(Uu^Dk-OE1m<}?#m#0Y z2v&tzPJ_b*ho~?;Id-KR^tAq~E~T=(KyL+=p;4J$aq`=*<=$1Hp0wHfPFmtt`4bt*FpZx$T#)2;@4bdH|L&sQs(m4~4EljfF}JbAq5ZSw zU0?bI&_carIb8hHj~#m%E!G)_LF$C&_`!L$jI4`#%PW?$(uaOac@P(;_>t-K12-du zbdx%){>~|V+v{YcLTzxGfZ~1^35KY%TuK_&dn+xJA<562F1g2~e8n|M+G(=9W-*=? zaujhBE>%&ln-~3o9bN+3O{3+QTS0a19jbsb9&)%~fK7hE4#(}I(Q-1HO^pZd4Rbe_ zIJEz*u^mKRq>w80mgUg#f{JtOC9GK1U6bMJ)J#7q&plm};+Vr^l+!*S5MeVeZ^jSJ zNk4IiNrk#yJyw779(^g7;ye}U(@qo62YxdSpHd8Umfl;+B%^bJ7Zi#asSi(KH zWMdyUE&k(5}k4wq`Gx!aCD z8?p`ri&;lLl|r94E~@-6^d%+cU+$CL{6Ez6T0N!>EmQc{Jw(kTLZdveG^x%x@L$@ z8ZGZpPWiC^O?L|AVYBJVJ1*(svNKlqSa!a+Ohs(q28aINHTo{j!kK0ePbs)GV6TnCK2CEz_`kQ$@5X_JY6lNwH*{t=$2hwqO zn~ZdVI?FPzrBv{q3>P`&33~m`6DWisL=ol0s9_y7%p%M?=QklH+Fa|RnJ#R`&2m<1 z7h&#o${hXN?DGlJ5W)~xYH5S5CX!?rJ5L5u#_sxXnGozET-88w}3j@t#IAGTKAl>{HTWv1`%ckt5`)X zD~Vd#b6%B1wI^MOHX*JV)FGOvalCytb=#a3$-K73tRTi^)DUHnQxVH~UBsHRbpYA2 zJY6)Bw9EzB>R~g%YE2;whC&umO*QLSLKJUbmn)`9Gt(73*+BYeq=N-M!tNQnXglMb z)A$(G#HeLC(H!bO#*(3m#aQ8nXykyexc8Y6TeUKzCzUd)h;ccqSnQN2x6x9{RcBIJ zam|p9(13rR&w0cA#)gQ>SxYq z5Bq(<6(`uqoh)M+Q36a^kEu(jG;iBH-SjD=PkHXpFpDiLnq-U9Wrv+I1Nl}z30m1fBlWb>OOljH+Tx~98GRIR#Q_r3QAeC6PSHz&8Fqfg z3fCmnL7dC-%`%~m&_)wGXri8D^Z`jD7@63!4eh#UWY8%aKUq3Of)DwCIQ1N)j}$}W zf6T-dS2WU|$9Z$K254hHJ87VS7J3;>d*{Tm#T_6{+Z4e)NP-4-5hqSJr$>6HFSsV9 zqcre|ykZ`sjoo}e6ZIUS4>4p?V3~Gz!3DZ$qQ|M2(=VMS!M==lw$aDXMBeEaZu*o_ zuBXFtQIb~nv7Nm%v6mitDah`fKH-{vwa_|Axb3vj$WC^$4Kcv9%%tKG*5&D@PZ_yn z3fy&qHuhw^vx74zQ~&DE#|<2DyJ_YaL43iyj|8n5@7zzX7w_~Bw}4%=`-+>QjRbYn z)4*ZkO}5-{3#jLy6K*;ntIq^v-4_OAQySMKb(luh zSv5XNf@XFQr-7sNf%}p#&$y(E%laq$d`r);fb2lFfNZMcLIdqY$N2dm2@>p}kp}kK z24qtmx1Ze{xB&Oiuz;+KUPAfwPG512)XMhE*`VVj&Mo;mhXrI)=GFC#3nV$pdvvgi zIQ1mF1!PlR3Tc{RDp0X35^Dbk^8dr9lc)ay8)7@+%qzgm00000NkvXXu0mjftu^AM diff --git a/app/src/main/res/drawable/arrow_8.png b/app/src/main/res/drawable/arrow_8.png deleted file mode 100644 index fdfc94a78521e7c7ff0d53b21a6d25e46c9f56dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3020 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