From 81548b7d65b7c06b179b84d4b425cff663d60369 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 28 Sep 2023 08:26:15 +0200 Subject: [PATCH 1/8] 3.2.0-dev-m --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index e97d45c945..e843863b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -105,7 +105,7 @@ android { defaultConfig { multiDexEnabled true versionCode 1500 - version "3.2.0-dev-k" + version "3.2.0-dev-m" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", '"' + generateGitBuild() + '-' + generateDate() + '"' buildConfigField "String", "REMOTE", '"' + generateGitRemote() + '"' From c786885f5400999630f8aa2c864036bde73eaf03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:41:16 +0000 Subject: [PATCH 2/8] chore(deps): bump com.android.tools.build:gradle from 8.1.1 to 8.1.2 Bumps com.android.tools.build:gradle from 8.1.1 to 8.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e42f6b01a7..9bc7d38a6b 100644 --- a/build.gradle +++ b/build.gradle @@ -62,7 +62,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.1.1' + classpath 'com.android.tools.build:gradle:8.1.2' classpath 'com.google.gms:google-services:4.4.0' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' From d773355b0b6fb3f40243aa24508ab9275a87b838 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 30 Sep 2023 10:50:15 +0200 Subject: [PATCH 3/8] SMS: fix OTP activity --- plugins/main/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/main/src/main/AndroidManifest.xml b/plugins/main/src/main/AndroidManifest.xml index 3b6b9488e3..26e8677ac8 100644 --- a/plugins/main/src/main/AndroidManifest.xml +++ b/plugins/main/src/main/AndroidManifest.xml @@ -17,7 +17,7 @@ android:exported="false" android:theme="@style/AppTheme"> - + From 91491058bd111d9b74648e267104eda5f195740c Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 30 Sep 2023 11:46:42 +0200 Subject: [PATCH 4/8] Fix crashing Widget --- ui/src/main/res/xml/widget_info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/main/res/xml/widget_info.xml b/ui/src/main/res/xml/widget_info.xml index c1052b5f8f..7914fa0f8f 100644 --- a/ui/src/main/res/xml/widget_info.xml +++ b/ui/src/main/res/xml/widget_info.xml @@ -1,6 +1,6 @@ Date: Sat, 30 Sep 2023 22:04:31 +0200 Subject: [PATCH 5/8] New Crowdin updates (#2845) * New translations exam.xml (Spanish) * New translations strings.xml (Danish) * New translations strings.xml (Danish) --- plugins/aps/src/main/res/values-da-rDK/strings.xml | 1 + plugins/constraints/src/main/res/values-es-rES/exam.xml | 1 + wear/src/main/res/values-da-rDK/strings.xml | 1 + 3 files changed, 3 insertions(+) diff --git a/plugins/aps/src/main/res/values-da-rDK/strings.xml b/plugins/aps/src/main/res/values-da-rDK/strings.xml index 2ca881cbd8..4e9a7c55e3 100644 --- a/plugins/aps/src/main/res/values-da-rDK/strings.xml +++ b/plugins/aps/src/main/res/values-da-rDK/strings.xml @@ -83,6 +83,7 @@ SMB deaktiveret i præferencer UAM deaktiveret i præferencer Autosens deaktiveret i præferencer + Autosens deaktiveret i DynISF Begrænser IOB til %1$.1f IE på grund af %2$s max værdi i præferencer diff --git a/plugins/constraints/src/main/res/values-es-rES/exam.xml b/plugins/constraints/src/main/res/values-es-rES/exam.xml index 175feca353..f4b6764dac 100644 --- a/plugins/constraints/src/main/res/values-es-rES/exam.xml +++ b/plugins/constraints/src/main/res/values-es-rES/exam.xml @@ -148,6 +148,7 @@ Ajustar el perfil al 150% hará que el tiempo de absorción de carbohidratos calculado sea mayor Si se ajusta el perfil al 150%, el tiempo de absorción de carbohidratos calculado será menor Establecer el perfil a 150% no afectará la absorción calculada de carbohidratos + https://wiki.aaps.app/en/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value El valor del IOB se ve afectado por las bases temporales ejecutadas. No se dará alta tasa basal temporal cuando su nivel de azúcar en sangre esté por debajo del objetivo. El IOB negativo durante un período sustancial en ausencia de ejercicio sugiere que tu perfil es demasiado fuerte y que se necesita menos insulina en tus ajustes. diff --git a/wear/src/main/res/values-da-rDK/strings.xml b/wear/src/main/res/values-da-rDK/strings.xml index c813095672..8b1d49d32e 100644 --- a/wear/src/main/res/values-da-rDK/strings.xml +++ b/wear/src/main/res/values-da-rDK/strings.xml @@ -44,6 +44,7 @@ Vis BSI Vis Retningspil Vis Siden + Vis Gitter Mørk Fremhæv Basaler Vis forudsigelser From 1504cfffef716559a9c8e1f8723298e23c11e494 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Tue, 3 Oct 2023 08:33:57 +0200 Subject: [PATCH 6/8] New Crowdin updates (#2851) * New translations strings.xml (French) * New translations strings.xml (French) * New translations exam.xml (French) * New translations strings.xml (French) * New translations strings.xml (Dutch) * New translations exam.xml (Dutch) * New translations strings.xml (Dutch) * New translations exam.xml (Norwegian) --- plugins/aps/src/main/res/values-fr-rFR/strings.xml | 1 + plugins/constraints/src/main/res/values-fr-rFR/exam.xml | 1 + plugins/constraints/src/main/res/values-nl-rNL/exam.xml | 1 + plugins/constraints/src/main/res/values-no-rNO/exam.xml | 1 + pump/medtrum/src/main/res/values-fr-rFR/strings.xml | 1 + pump/medtrum/src/main/res/values-nl-rNL/strings.xml | 1 + wear/src/main/res/values-fr-rFR/strings.xml | 3 +++ wear/src/main/res/values-nl-rNL/strings.xml | 3 +++ 8 files changed, 12 insertions(+) diff --git a/plugins/aps/src/main/res/values-fr-rFR/strings.xml b/plugins/aps/src/main/res/values-fr-rFR/strings.xml index ee7aa8d99d..bf5098394e 100644 --- a/plugins/aps/src/main/res/values-fr-rFR/strings.xml +++ b/plugins/aps/src/main/res/values-fr-rFR/strings.xml @@ -83,6 +83,7 @@ SMB désactivé dans les préférences Repas Non Signalé (RNS) désactivé dans les préférences Autosens désactivé dans les préférences + Autosens désactivé dans DynISF Limiter l’IA %1$.1f U en raison de la %2$s valeur Max dans les préférences diff --git a/plugins/constraints/src/main/res/values-fr-rFR/exam.xml b/plugins/constraints/src/main/res/values-fr-rFR/exam.xml index f7e834f313..9093a01f65 100644 --- a/plugins/constraints/src/main/res/values-fr-rFR/exam.xml +++ b/plugins/constraints/src/main/res/values-fr-rFR/exam.xml @@ -148,6 +148,7 @@ Définir le profil à 150% allongera le temps d\'absorption des glucides calculé Définir le profil à 150% réduira le temps d\'absorption des glucides calculé Définir le profil à 150% n\'impactera pas le calcul de l\'absorption des glucides + https://wiki.aaps.app/fr/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value La valeur de l\'IA est impactée par les débits de basal temporaires émis. Une basale temp haute ne sera pas donnée quand votre glycémie est en dessous de la cible. Une IA négative pendant une période significative en l\'absence d\'exercice indique que votre profil est trop fort et qu\'il faut moins d\'insuline dans vos paramètres. diff --git a/plugins/constraints/src/main/res/values-nl-rNL/exam.xml b/plugins/constraints/src/main/res/values-nl-rNL/exam.xml index c6d4927d74..fec5e00751 100644 --- a/plugins/constraints/src/main/res/values-nl-rNL/exam.xml +++ b/plugins/constraints/src/main/res/values-nl-rNL/exam.xml @@ -148,6 +148,7 @@ Het profiel instellen op 150% zal de berekende koolhydraten absorptie verlengen Het profiel instellen op 150% zal de berekende koolhydraten absorptie verkorten Instellen van profiel op 150% heeft geen invloed op berekende koolhydraten absorptie + https://wiki.aaps.app/nl/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value De IOB-waarde wordt beïnvloed door eerdere tijdelijke basaalstanden. Een hoge tijdelijke basaal zal niet worden ingesteld wanneer je bloedsuiker onder het streefdoel ligt. Negatieve IOB voor een aanzienlijke periode vrij van inspanning, suggereert dat je profiel te hoog is ingesteld, dus dat er minder insuline nodig is. diff --git a/plugins/constraints/src/main/res/values-no-rNO/exam.xml b/plugins/constraints/src/main/res/values-no-rNO/exam.xml index 814af09aa8..21bb5132ca 100644 --- a/plugins/constraints/src/main/res/values-no-rNO/exam.xml +++ b/plugins/constraints/src/main/res/values-no-rNO/exam.xml @@ -148,6 +148,7 @@ Å sette profilen til 150% vil gjøre den beregnede karbohydrat absorpsjonstiden lengre Å sette profilen til 150% vil gjøre den beregnede karbohydrat absorpsjonstiden kortere Ved å sette profilen til 150% påvirkes ikke beregningen av absorbering av karbohydrater + https://wiki.aaps.app/en/latest/Usage/COB-calculation.html#how-does-aaps-calculate-the-cob-value IOB verdi påvirkes av midlertidige temp basaler. Høy temp basal vil ikke bli gitt når ditt blodsukker er under målverdi. Negativ IOB i en lengre periode selv om du ikke trener tyder på at profilen din gir for mye insulin og kanskje bør reduseres i innstillingene. diff --git a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml index b8685bbfcd..f4e37d7382 100644 --- a/pump/medtrum/src/main/res/values-fr-rFR/strings.xml +++ b/pump/medtrum/src/main/res/values-fr-rFR/strings.xml @@ -70,6 +70,7 @@ Activation en cours État inattendu : %1$s Aucun profil sélectionné. Veuillez sélectionner un profil et réessayez. + Aucun numéro de série connu. Veuillez entrer le numéro de série de la base de pompe dans les paramètres et réessayez. N° de série de la base de la pompe : %1$X Aucun Patch actif. Appuyez sur Suivant pour commencer le processus d\'activation. La base de la pompe ne doit pas être connectée au Patch avant l\'étape suivante ! diff --git a/pump/medtrum/src/main/res/values-nl-rNL/strings.xml b/pump/medtrum/src/main/res/values-nl-rNL/strings.xml index fa7e028eaf..aaaff5addd 100644 --- a/pump/medtrum/src/main/res/values-nl-rNL/strings.xml +++ b/pump/medtrum/src/main/res/values-nl-rNL/strings.xml @@ -70,6 +70,7 @@ Bezig met activatie Onverwachte staat: %1$s Geen profiel geselecteerd. Selecteer een profiel en probeer het opnieuw. + Geen serienummer bekend. Voer bij instellingen het serienummer van de pomp-basis in en probeer het opnieuw. Pomp basis serie nr.: %1$X Geen actieve patch. Druk op Volgende om het activeringsproces te starten. Pomp basis mag niet verbonden zijn met de patch tot de volgende stap! diff --git a/wear/src/main/res/values-fr-rFR/strings.xml b/wear/src/main/res/values-fr-rFR/strings.xml index 080c8e4d1f..a06d81f46a 100644 --- a/wear/src/main/res/values-fr-rFR/strings.xml +++ b/wear/src/main/res/values-fr-rFR/strings.xml @@ -44,6 +44,9 @@ Afficher IGly Afficher Flèche Afficher Min Passées + Afficher DBT + Afficher Bolus & SMB + Afficher grille Sombre Surbrillance Basale Afficher prévisions diff --git a/wear/src/main/res/values-nl-rNL/strings.xml b/wear/src/main/res/values-nl-rNL/strings.xml index 7a87ccc1f8..6ae34ecb6d 100644 --- a/wear/src/main/res/values-nl-rNL/strings.xml +++ b/wear/src/main/res/values-nl-rNL/strings.xml @@ -44,6 +44,9 @@ Toon BGI Toon richtingspijl Toon tijd geleden + Toon TBR + Toon Bolus & SMB + Raster weergeven Donker Markeer basaalstanden Voorspellingen tonen From d58eca878086012b364d695fe2d9eb0d6908046d Mon Sep 17 00:00:00 2001 From: Philoul Date: Sat, 30 Sep 2023 17:01:05 +0200 Subject: [PATCH 7/8] Wear Include Double values into SingleBg for delta and avgDelta --- .../kotlin/app/aaps/core/interfaces/rx/weardata/EventData.kt | 4 +++- .../main/general/wear/wearintegration/DataHandlerMobile.kt | 4 +++- wear/src/main/kotlin/app/aaps/wear/data/RawDisplayData.kt | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/EventData.kt b/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/EventData.kt index 548e4b071b..e20a0796b9 100644 --- a/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/EventData.kt +++ b/core/interfaces/src/main/kotlin/app/aaps/core/interfaces/rx/weardata/EventData.kt @@ -186,7 +186,9 @@ sealed class EventData : Event() { val sgv: Double, val high: Double, // highLine val low: Double, // lowLine - val color: Int = 0 + val color: Int = 0, + val deltaMgdl: Double? = null, + val avgDeltaMgdl: Double? = null ) : EventData(), Comparable { override fun equals(other: Any?): Boolean = diff --git a/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/wear/wearintegration/DataHandlerMobile.kt b/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/wear/wearintegration/DataHandlerMobile.kt index e742bd3728..c45bd99c33 100644 --- a/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/wear/wearintegration/DataHandlerMobile.kt +++ b/plugins/main/src/main/kotlin/app/aaps/plugins/main/general/wear/wearintegration/DataHandlerMobile.kt @@ -986,7 +986,9 @@ class DataHandlerMobile @Inject constructor( sgv = glucoseValue.recalculated, high = highLine, low = lowLine, - color = 0 + color = 0, + deltaMgdl = glucoseStatus?.delta, + avgDeltaMgdl = glucoseStatus?.shortAvgDelta ) } diff --git a/wear/src/main/kotlin/app/aaps/wear/data/RawDisplayData.kt b/wear/src/main/kotlin/app/aaps/wear/data/RawDisplayData.kt index 14678b2135..3bdcf98344 100644 --- a/wear/src/main/kotlin/app/aaps/wear/data/RawDisplayData.kt +++ b/wear/src/main/kotlin/app/aaps/wear/data/RawDisplayData.kt @@ -27,7 +27,9 @@ class RawDisplayData { sgv = 0.0, high = 0.0, low = 0.0, - color = 0 + color = 0, + deltaMgdl = null, + avgDeltaMgdl = null ) // status bundle From 0d73efafa12efd2a52f7ef18f547e5f6a610bdeb Mon Sep 17 00:00:00 2001 From: Philoul Date: Sat, 30 Sep 2023 17:08:26 +0200 Subject: [PATCH 8/8] Wear Steampunk Remove String convertion for sgv and avgDelta --- .../wear/watchfaces/SteampunkWatchface.kt | 86 +++++++------------ 1 file changed, 31 insertions(+), 55 deletions(-) diff --git a/wear/src/main/kotlin/app/aaps/wear/watchfaces/SteampunkWatchface.kt b/wear/src/main/kotlin/app/aaps/wear/watchfaces/SteampunkWatchface.kt index dc3acea391..8ff5365b2b 100644 --- a/wear/src/main/kotlin/app/aaps/wear/watchfaces/SteampunkWatchface.kt +++ b/wear/src/main/kotlin/app/aaps/wear/watchfaces/SteampunkWatchface.kt @@ -8,7 +8,6 @@ import android.view.animation.LinearInterpolator import android.view.animation.RotateAnimation import androidx.core.content.ContextCompat import androidx.viewbinding.ViewBinding -import app.aaps.core.interfaces.utils.SafeParse.stringToFloat import app.aaps.wear.R import app.aaps.wear.databinding.ActivitySteampunkBinding import app.aaps.wear.watchfaces.utils.BaseWatchFace @@ -51,9 +50,7 @@ class SteampunkWatchface : BaseWatchFace() { binding.glucoseDial.setImageResource(if (singleBg.glucoseUnits == "mmol") R.drawable.steampunk_dial_mmol else R.drawable.steampunk_dial_mgdl) // convert the Sgv to degrees of rotation - rotationAngle = - if (singleBg.glucoseUnits == "mmol") stringToFloat(singleBg.sgvString) * 18f //convert to mg/dL, which is equivalent to degrees - else stringToFloat(singleBg.sgvString) // if glucose a value is received, use it to determine the amount of rotation of the dial. + rotationAngle = singleBg.sgv.toFloat() } if (rotationAngle > 330) rotationAngle = 330f // if the glucose value is higher than 330 then show "HIGH" on the dial. ("HIGH" is at 330 degrees on the dial) if (rotationAngle != 0f && rotationAngle < 30) rotationAngle = 30f // if the glucose value is lower than 30 show "LOW" on the dial. ("LOW" is at 30 degrees on the dial) @@ -69,62 +66,41 @@ class SteampunkWatchface : BaseWatchFace() { lastEndDegrees = rotationAngle //store the final angle as a starting point for the next rotation. } - // set the delta gauge and rotate the delta pointer - var deltaIsNegative = 1f // by default go clockwise - if (singleBg.avgDelta != "--") { // if a legitimate delta value is - // received, - // then... - if (singleBg.avgDelta[0] == '-') deltaIsNegative = -1f //if the delta is negative, go counter-clockwise - val absAvgDelta = stringToFloat(singleBg.avgDelta.substring(1)) //get rid of the sign so it can be converted to float. + singleBg.avgDeltaMgdl?.let {// if a legitimate delta value is + val absAvgDelta = it.toFloat() var autoGranularity = "0" //auto-granularity off // ensure the delta gauge is the right units and granularity - if (singleBg.glucoseUnits != "-") { - if (singleBg.glucoseUnits == "mmol") { - if (sp.getString("delta_granularity", "2") == "4") { //Auto granularity - autoGranularity = - when { - absAvgDelta < 0.3 -> "3" // high if below 0.3 mmol/l - absAvgDelta < 0.5 -> "2" // medium if below 0.5 mmol/l - else -> "1" // low (init) - } + if (sp.getString("delta_granularity", "2") == "4") { //Auto granularity + autoGranularity = + when { + absAvgDelta < 5 -> "3" // high if below 5 mg/dl + absAvgDelta < 10 -> "2" // medium if below 10 mg/dl + else -> "1" // low (init) } - if (sp.getString("delta_granularity", "2") == "1" || autoGranularity == "1") { //low - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_10) - deltaRotationAngle = absAvgDelta * 30f - } - if (sp.getString("delta_granularity", "2") == "2" || autoGranularity == "2") { //medium - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_05) - deltaRotationAngle = absAvgDelta * 60f - } - if (sp.getString("delta_granularity", "2") == "3" || autoGranularity == "3") { //high - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_03) - deltaRotationAngle = absAvgDelta * 100f - } - } else { - if (sp.getString("delta_granularity", "2") == "4") { //Auto granularity - autoGranularity = - when { - absAvgDelta < 5 -> "3" // high if below 5 mg/dl - absAvgDelta < 10 -> "2" // medium if below 10 mg/dl - else -> "1" // low (init) - } - } - if (sp.getString("delta_granularity", "2") == "1" || autoGranularity == "1") { //low - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_20) - deltaRotationAngle = absAvgDelta * 1.5f - } - if (sp.getString("delta_granularity", "2") == "2" || autoGranularity == "2") { //medium - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_10) - deltaRotationAngle = absAvgDelta * 3f - } - if (sp.getString("delta_granularity", "2") == "3" || autoGranularity == "3") { //high - binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_5) - deltaRotationAngle = absAvgDelta * 6f - } - } + } + if (sp.getString("delta_granularity", "2") == "1" || autoGranularity == "1") { //low + if (singleBg.glucoseUnits == "mmol") + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_10) + else + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_20) + deltaRotationAngle = absAvgDelta * 1.5f + } + if (sp.getString("delta_granularity", "2") == "2" || autoGranularity == "2") { //medium + if (singleBg.glucoseUnits == "mmol") + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_05) + else + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_10) + deltaRotationAngle = absAvgDelta * 3f + } + if (sp.getString("delta_granularity", "2") == "3" || autoGranularity == "3") { //high + if (singleBg.glucoseUnits == "mmol") + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mmol_03) + else + binding.secondaryLayout.setBackgroundResource(R.drawable.steampunk_gauge_mgdl_5) + deltaRotationAngle = absAvgDelta * 6f } if (deltaRotationAngle > 40) deltaRotationAngle = 40f - binding.deltaPointer.rotation = deltaRotationAngle * deltaIsNegative + binding.deltaPointer.rotation = deltaRotationAngle } // rotate the minute hand.