From 051e5463a94f133e8ac3548c5cf4de76343f17d3 Mon Sep 17 00:00:00 2001 From: claude Date: Sun, 23 Aug 2026 16:08:56 +0200 Subject: [PATCH] =?UTF-8?q?V=C3=A4g-sk=C3=A4rm:=20tydlig=20varning=20(erro?= =?UTF-8?q?rContainer)=20n=C3=A4r=20kroppsdata=20saknas=20+=20doc-r=C3=A4t?= =?UTF-8?q?telse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Första testets uteblivna sammansättning berodde på att kroppsdatan inte var ifylld — varningen var för diskret. Nu röd/tydlig med hänvisning till Profil → Kroppsdata. Doc-noten rättad så orsaken inte påstås vara ramtiming (merge-logiken finns kvar som robusthet). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg --- .../fitnessdroid/ui/scale/ScaleScreens.kt | 31 ++++++++++++++----- doc/openscale-integration.md | 8 +++-- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/brassepc/fitnessdroid/ui/scale/ScaleScreens.kt b/app/src/main/java/eu/brassepc/fitnessdroid/ui/scale/ScaleScreens.kt index a4c6ddd..7bc8aeb 100644 --- a/app/src/main/java/eu/brassepc/fitnessdroid/ui/scale/ScaleScreens.kt +++ b/app/src/main/java/eu/brassepc/fitnessdroid/ui/scale/ScaleScreens.kt @@ -502,14 +502,29 @@ fun WeighScreen( verticalArrangement = Arrangement.spacedBy(14.dp), ) { if (missingBodyData) { - Card(modifier = Modifier.fillMaxWidth()) { - Text( - "Längd, födelseår eller kön saknas i profilen. Vågen behöver dem " + - "för att räkna ut muskler/fett/vatten — vikten fungerar ändå.", - modifier = Modifier.padding(12.dp), - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onSurfaceVariant, - ) + Card( + modifier = Modifier.fillMaxWidth(), + colors = androidx.compose.material3.CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.errorContainer, + ), + ) { + Column( + modifier = Modifier.padding(16.dp), + verticalArrangement = Arrangement.spacedBy(6.dp), + ) { + Text( + "Kroppsdata saknas!", + style = MaterialTheme.typography.titleSmall, + color = MaterialTheme.colorScheme.onErrorContainer, + ) + Text( + "Utan längd, födelseår och kön kan vågen bara mäta vikt — " + + "muskler/fett/vatten uteblir. Fyll i under Profil → Kroppsdata " + + "och väg dig sedan igen.", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onErrorContainer, + ) + } } } diff --git a/doc/openscale-integration.md b/doc/openscale-integration.md index 9f568b8..7e20722 100644 --- a/doc/openscale-integration.md +++ b/doc/openscale-integration.md @@ -79,9 +79,11 @@ vågen; vågen räknar ut kroppssammansättningen **ombord** och notifierar en 20-bytes-ram (vikt, fett-%, vatten-%, muskel-%, benmassa kg, bukfettsindex). Ingen BIA-formel behövs i appen — men längd/födelseår/kön måste finnas. -**Viktigt beteende (verifierat 2026-08-23):** vågen skickar **vikten först** -och sammansättningen i en **senare ram** — väg-flödet måste hålla anslutningen -öppen och merga ramarna (fixat i väg-skärmen, max 20 s väntan). +**Lärdom från första testet (2026-08-23):** utan ifylld kroppsdata +(längd/födelseår/kön) skickar vågen bara vikt — sammansättningen uteblir +tyst. Väg-skärmen varnar numera tydligt när kroppsdata saknas, och håller +dessutom anslutningen öppen och mergar ramar (vågen kan skicka vikten först +och sammansättningen i en senare ram; max 20 s väntan). Hårdvarudetaljer från GATT-dump (openScales debug-läge): tillverkarsträng **"VTrump"**, modellnummer **V300B1000001** — dvs. en VTrump-OEM. Notify-