build method
- BuildContext context
override
//////////// ////////////
Implementation
// II.C - Build Method
///////////////
@override
Widget build(BuildContext context) {
if (_lastSpeed != gpsSpeed || _lastSpeedLimit != speedLimit) {
debugPrint("[DEBUG] SpeedDisplayWidget values changed - Speed: $gpsSpeed km/h (was $_lastSpeed), Limit: $speedLimit (was $_lastSpeedLimit) at ${DateTime.now()}");
debugPrint("[DEBUG] Units setting: ${useImperialUnits ? 'Imperial' : 'Metric'}");
_lastSpeed = gpsSpeed;
_lastSpeedLimit = speedLimit;
}
return Container(
width: RALISpacing.iconButtonSize * 2 + RALISpacing.sm, // Width of two control buttons plus the gap
height: RALISpacing.iconButtonSize * 2 + RALISpacing.sm, // Height of two control buttons plus the gap
decoration: BoxDecoration(
color: RALIColors.surface,
borderRadius: BorderRadius.circular(RALISpacing.radiusSm),
boxShadow: [RALIElevations.floatingButton[0]],
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
// GPS Speed
_buildSpeedDisplay(
speed: gpsSpeed,
label: "GPS",
isSpeedLimit: false,
),
// Speed Limit (if available)
_buildSpeedDisplay(
speed: speedLimit,
label: "LIMIT",
isSpeedLimit: true,
),
],
),
);
}