mirror of
https://github.com/FoggedLens/deflock-app.git
synced 2026-05-13 21:02:20 +02:00
Update gps_controller to not require location accuracy in android.
Adds basic target matching. If Android Do... Else use old code.
This commit is contained in:
@@ -4,6 +4,9 @@ import 'package:flutter_map_animations/flutter_map_animations.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
|
||||
import 'package:geolocator_android/geolocator_android.dart' show AndroidSettings;
|
||||
import 'package:flutter/foundation.dart' show defaultTargetPlatform, TargetPlatform;
|
||||
|
||||
import '../../dev_config.dart';
|
||||
import '../../app_state.dart' show FollowMeMode;
|
||||
import '../../services/proximity_alert_service.dart';
|
||||
@@ -145,15 +148,21 @@ class GpsController {
|
||||
void _startPositionStream() {
|
||||
final followMeMode = _getCurrentFollowMeMode?.call() ?? FollowMeMode.off;
|
||||
final distanceFilter = followMeMode == FollowMeMode.off ? 5 : 1; // 5m normal, 1m follow-me
|
||||
|
||||
|
||||
debugPrint('[GpsController] Starting GPS position stream (${distanceFilter}m filter)');
|
||||
|
||||
|
||||
try {
|
||||
_positionSub = Geolocator.getPositionStream(
|
||||
locationSettings: LocationSettings(
|
||||
accuracy: LocationAccuracy.high, // Request best, accept what we get
|
||||
distanceFilter: distanceFilter,
|
||||
),
|
||||
locationSettings: defaultTargetPlatform == TargetPlatform.android
|
||||
? AndroidSettings(
|
||||
accuracy: LocationAccuracy.high,
|
||||
distanceFilter: distanceFilter,
|
||||
forceLocationManager: true,
|
||||
)
|
||||
: LocationSettings(
|
||||
accuracy: LocationAccuracy.high,
|
||||
distanceFilter: distanceFilter,
|
||||
),
|
||||
).listen(
|
||||
_onPositionReceived,
|
||||
onError: _onPositionError,
|
||||
@@ -358,4 +367,4 @@ class GpsController {
|
||||
_onMapMovedProgrammatically = null;
|
||||
_isUserInteracting = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user