24 lines
1022 B
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,
|
|
);
|