From 940a1be2039e630b15234c06e4a42d94a37daba7 Mon Sep 17 00:00:00 2001 From: Winston Lowe Date: Sun, 15 Feb 2026 17:16:56 -0800 Subject: [PATCH] Handle loading state and error parsing in PathTraceMapScreen; update SNR indicator dialog content layout --- lib/screens/path_trace_map.dart | 15 +++++++++++++++ lib/widgets/snr_indicator.dart | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/screens/path_trace_map.dart b/lib/screens/path_trace_map.dart index 5f6d559..0126299 100644 --- a/lib/screens/path_trace_map.dart +++ b/lib/screens/path_trace_map.dart @@ -166,6 +166,15 @@ class _PathTraceMapScreenState extends State { }); } + if (code == respCodeErr) { + _timeoutTimer?.cancel(); + if (!mounted) return; + setState(() { + _isLoading = false; + _failed2Loaded = true; + }); + } + // Check if it's a binary response if (frame.length > 8 && code == pushCodeTraceData && @@ -178,6 +187,12 @@ class _PathTraceMapScreenState extends State { } } } catch (e) { + _timeoutTimer?.cancel(); + if (!mounted) return; + setState(() { + _isLoading = false; + _failed2Loaded = true; + }); // Handle any parsing errors gracefully appLogger.error('Error parsing frame: $e', tag: 'PathTraceMapScreen'); } diff --git a/lib/widgets/snr_indicator.dart b/lib/widgets/snr_indicator.dart index ce467a0..1e28212 100644 --- a/lib/widgets/snr_indicator.dart +++ b/lib/widgets/snr_indicator.dart @@ -150,7 +150,7 @@ class _SNRIndicatorState extends State { context: context, builder: (context) => AlertDialog( title: Text(l10n.snrIndicator_nearByRepeaters), - content: Expanded( + content: SizedBox( child: Scrollbar( child: ListView.separated( padding: const EdgeInsets.symmetric(vertical: 4),