Files
dmc/app/lib/ui/providers/follow_drone_provider.dart

24 lines
1022 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
/// Ob die Karte im Fly-Modus der Live-Telemetrieposition folgt (Doku 3.11).
/// Geteilter Zustand, weil der ausloesende GPS-Knopf (TopModeBar ->
/// FlyMapControls) und die Kamera-Nachfuehrung inkl. Abbruch bei manueller
/// Karteninteraktion (FlyScreen) unabhaengige Geschwister-Widgets in
/// AppShell sind, die sich sonst nicht erreichen koennten.
class FollowDroneNotifier extends Notifier<bool> {
@override
bool build() => false;
void set(bool value) => state = value;
}
/// isAutoDispose: sobald weder der Knopf noch FlyScreen noch beobachten
/// (z.B. nach Verlassen des Fly-Modus), faellt der Zustand zurueck auf
/// false - ein erneuter Eintritt in den Fly-Modus startet also immer
/// unverfolgt (entspricht dem vorherigen Verhalten als FlyScreen-lokales
/// State-Feld, das beim Moduswechsel ohnehin verworfen wurde).
final followDroneProvider = NotifierProvider<FollowDroneNotifier, bool>(
FollowDroneNotifier.new,
isAutoDispose: true,
);