From 388c4c3a72d21cf27356a16f2841a3917408a0c8 Mon Sep 17 00:00:00 2001 From: jashan Date: Fri, 26 Jun 2026 23:34:11 +0530 Subject: [PATCH] fixed Robotic Arm logs navigation --- lib/view/logged_data_screen.dart | 11 ++++++++++- lib/view/robotic_arm_screen.dart | 12 +++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/view/logged_data_screen.dart b/lib/view/logged_data_screen.dart index e7f92eb65..980ccbbb2 100644 --- a/lib/view/logged_data_screen.dart +++ b/lib/view/logged_data_screen.dart @@ -22,6 +22,7 @@ import '../providers/locator.dart'; import 'accelerometer_screen.dart'; import 'compass_screen.dart'; import 'package:pslab/view/thermometer_screen.dart'; +import 'package:pslab/view/robotic_arm_screen.dart'; class LoggedDataScreen extends StatefulWidget { final List instrumentNames; @@ -362,7 +363,15 @@ class _LoggedDataScreenState extends State { final data = await _dataService.readDataFromFile(file); if (mounted) { if (instrumentName.toLowerCase() == 'robotic arm') { - Navigator.pop(context, data); + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => RoboticArmScreen( + importedData: data, + ), + ), + ); + return; } else { final config = _getChartConfig(instrumentName); Navigator.push( diff --git a/lib/view/robotic_arm_screen.dart b/lib/view/robotic_arm_screen.dart index 261e520cc..91e6cdd9a 100644 --- a/lib/view/robotic_arm_screen.dart +++ b/lib/view/robotic_arm_screen.dart @@ -15,7 +15,12 @@ import 'package:pslab/view/widgets/guide_widget.dart'; import 'widgets/servo_card.dart'; class RoboticArmScreen extends StatefulWidget { - const RoboticArmScreen({super.key}); + final List>? importedData; + + const RoboticArmScreen({ + super.key, + this.importedData, + }); @override State createState() => _RoboticArmScreenState(); @@ -39,6 +44,11 @@ class _RoboticArmScreenState extends State { ]; provider = RoboticArmStateProvider(); provider.initialize(); + if (widget.importedData != null) { + WidgetsBinding.instance.addPostFrameCallback((_) async { + await provider.importTimelineData(widget.importedData!); + }); + } provider.onPlaybackEnd = () { showDialog(