Matthias Nott
2026-04-01 59a9917225dd64cdc77bfcd3b280054728b26cd1
lib/screens/navigate_screen.dart
....@@ -5,6 +5,7 @@
55 import 'package:vibration/vibration.dart';
66
77 import '../providers/providers.dart';
8
+import '../services/navigate_notifier.dart';
89 import '../theme/app_theme.dart';
910
1011 /// Terminal navigation screen with screenshot display and key grid.
....@@ -196,9 +197,9 @@
196197 final activeSessionId = ref.read(activeSessionIdProvider);
197198
198199 // Send a key press to the AIBroker daemon via the MQTT service.
199
- // NavigateNotifier bridges the navigate screen to the chat screen's MQTT service.
200
+ // navigateNotifierProvider bridges the navigate screen to the chat screen's MQTT service.
200201
201
- NavigateNotifier.instance?.sendKey(key, activeSessionId);
202
+ ref.read(navigateNotifierProvider)?.sendKey(key, activeSessionId);
202203
203204 // Request updated screenshot after key
204205 Future.delayed(const Duration(milliseconds: 500), _requestScreenshot);
....@@ -206,7 +207,7 @@
206207
207208 void _requestScreenshot() {
208209 final activeSessionId = ref.read(activeSessionIdProvider);
209
- NavigateNotifier.instance?.requestScreenshot(activeSessionId);
210
+ ref.read(navigateNotifierProvider)?.requestScreenshot(activeSessionId);
210211 }
211212
212213 Future<void> _haptic() async {
....@@ -219,16 +220,3 @@
219220 }
220221 }
221222
222
-/// Global notifier to bridge navigate screen to MQTT service.
223
-/// Set by ChatScreen when MQTT is initialized.
224
-class NavigateNotifier {
225
- static NavigateNotifier? instance;
226
-
227
- final void Function(String key, String? sessionId) sendKey;
228
- final void Function(String? sessionId) requestScreenshot;
229
-
230
- NavigateNotifier({
231
- required this.sendKey,
232
- required this.requestScreenshot,
233
- });
234
-}