allinone_location 4.2.1
allinone_location: ^4.2.1 copied to clipboard
Enterprise Flutter location SDK featuring Fused Location, Kalman smoothing, adaptive engines, geofencing, background recovery, diagnostic UI, and offline sync.
Changelog #
4.2.1 #
- Documentation & Pana Fix: Formatted generic type annotations and comparison operators in doc comments (
List<LatLng>,< 100km,< 13) using code backticks to prevent dartdoc / Pana HTML angle bracket warnings. - Static Analysis Cleanup: Resolved all test code lints (
prefer_const_declarations,unused_local_variable) to ensure 100% cleanflutter analyzescore (160/160 pub points).
4.2.0 #
- Indoor Location & BLE Beacon Ranging (
BeaconManager): Parsing, ranging, distance estimation (log-distance path loss + EMA RSSI smoothing), and 2D weighted trilateration for iBeacon, Eddystone (UID/URL/TLM), AltBeacon, and generic BLE beacons. - Geofence Enhancements (
SmartGeofenceManager): Ray-casting point-in-polygon checks, dynamic geofences with moving centers (updateDynamicGeofence()), reverse geofence lookup (getGeofencesContaining()), and offline geofence disk persistence (OfflineGeofenceCache). - Navigation & Route Progress (
RouteSnappingEngine,RouteProgress): Polyline route snapping algorithm with cross-track error & along-track distance calculation, turn-by-turn route progress tracking, off-route threshold detection, and 16-point cardinal compass direction conversion. - Motion, Stop & Trip Detection (
TripDetector): Automatic stop detection (StopEvent), multi-segment trip detection (TripSegment), vehicle idle state detection, and expanded activity classification. - Analytics & Trip History (
TripHistoryManager): Trip history recording, serialization, query interface, speed percentiles (p50, p90, p95), and urban vs. highway distance breakdown. - Battery Usage Diagnostics (
BatteryUsageReport):BatteryUsageReportwith estimated drain rate (%/hr), active runtime, applied power profile, and efficiency score rating. - Sensor Fusion Engine (
SensorFusionEngine): Fusion of Accelerometer, Gyroscope, Magnetometer, and Barometer readings for tilt-compensated magnetic heading, peak-detection step counting, and barometric floor level calculation. - Maps Integration Helpers (
MapsHelper): Zero-dependency converters for Google Maps (toGoogleLatLng,toGoogleMarker,toGooglePolyline), Mapbox GeoJSON features (toMapboxPoint,toMapboxLineString), and OpenStreetMap /flutter_mapbounds. - Coordinate Tools & Geodesy (
CoordinateTools,BoundingBox): Coordinate conversion between WGS84, UTM, Web Mercator (EPSG:3857), and DMS strings, plusBoundingBoxspatial utilities. - Streaming & Replay (
SharedLocationStreamManager,LocationReplayStream): Multi-listener shared location streams with listener counting and route replay stream engine with 1x–100x playback speed multiplier. - Offline Spatial Cache (
GeocodingCache): Nearest-neighbor offline cached address lookup fallback when network is unavailable. - GPS Health Engine & Warm-up API (
GpsHealthEngine,warmUpGps()): Real-time signal score (0–100), satellite lock estimation, signal grade rating, TTFF (Time-To-First-Fix), andAllInOneLocationService.warmUpGps()API. - Developer Experience (DX) Helpers: Dart extensions on
LatLng,List<LatLng>,AllInOneLocation, and numeric velocity, plusLocationStateNotifierfor Riverpod andLocationBlocHelperfor BLoC architecture.
4.1.3 #
- Widget & Integration Test Coverage: Added
test/widget_test.darttestingAllInOneDiagnosticDashboardwidget rendering, telemetry displays, mock GPS warning banners, and button interactions. - GitHub Issue Templates: Added
.github/ISSUE_TEMPLATE/bug_report.mdand.github/ISSUE_TEMPLATE/feature_request.md. - Enhanced Documentation & Guides: Updated
README.mdwith Migration Guide (v3.x to v4.x), FAQ section, Mermaid architecture diagrams, and Code Coverage badge.
4.1.2 #
- Reproducible Performance Report (
BENCHMARKS.md): Public benchmark report detailing latency, throughput, memory overhead, geofence scaling, RDP compression, and reproducible testing methodology. - Multi-Platform Support Matrix: Formal verification and README documentation for Android, iOS, Web, macOS, Windows, and Linux support.
- Expanded Test Suite: Added
test/models_and_config_test.dartandtest/provider_selector_test.dartcovering serialization, exponential backoff retries, and data models.
4.1.1 #
- Documentation & Trust: Added comprehensive architecture specifications (
ARCHITECTURE.md), Android & iOS device permission guide (DOCS/DEVICE_PERMISSIONS.md), and production configuration recipes (DOCS/BEST_PRACTICES.md). - Showcase Example App: Complete rewrite of
example/lib/main.dartwith interactive telemetry dashboard, geofence event triggers, GPX export visualization, and diagnostic UI. - Fix: Added
AllInOneBackgroundServiceconvenience typedef alias forAllInOneBackground.
4.1.0 #
- New Feature: Unified SDK Facade (
AllInOneLocationSDK): Single static access point for all sub-engines (geofences,analytics,offlineSync,geocoding,crashRecovery,mockDetector,motionDetector,indoorOutdoorEngine). - Performance Optimization (
Haversine): Pre-calculated degree/radian conversion multipliers (degToRad,radToDeg) and high-speed equirectangular projection distance calculation (fastDistance) for sub-millisecond local checks. - Performance Optimization (
RouteCompressor): Non-allocating index-bounded RDP algorithm eliminating intermediate list slicing and garbage collection overhead. - Performance Optimization (
RouteSmoother): $O(N)$ sliding window running sum calculation. - Performance Optimization (
GeofenceRegion): Pre-calculated spatial bounding box filtering inclusive of buffer and hysteresis margins for $O(1)$ spatial rejection. - New Feature: Stress & Performance Test Suite (
test/stress_test.dart): Comprehensive performance benchmark suite verifying 10,000 location fix throughput (<100ms), 1,000,000 geofence spatial evaluations (<50ms), route compression, heatmap binning, distance matrix, and offline queue batch operations.
4.0.1 #
- Fix: Added convenience method aliases on
AllInOneBackground:initialize(),startService(),stopService(),isRunning().
4.0.0 #
- New Feature: Haversine Geo Utility (
Haversine): Centralized geospatial math for distance, bearing, destination points, polyline lengths, and angle normalization across the entire SDK. - New Feature: Speed Engine (
SpeedEngine): Speed detection, moving average calculation, exponential moving average (EMA) smoothing, max/avg metrics, and acceleration/deceleration trend classification. - New Feature: Heading Engine (
HeadingEngine): Circular weighted heading noise filtering and unrealistic heading jump rejection. - New Feature: Bearing Engine (
BearingEngine): Real-time forward azimuth bearing computation between consecutive fixes. - New Feature: Altitude Filter (
AltitudeFilter): Median window filter + EMA altitude smoothing, spike rejection (>50m), and cumulative elevation gain/loss tracking. - New Feature: Dead Reckoning Engine (
DeadReckoningEngine): Predicts user coordinates using heading and velocity during temporary GPS outages (tunnels, underground), with automatic seamless revert to live GPS. - New Feature: Auto-Pause Engine (
AutoPauseEngine): Detects stationary states via accelerometer/GPS motion classification, auto-pausing high-frequency processing to conserve battery and auto-resuming upon movement. - New Feature: Route Smoother (
RouteSmoother): Advanced 2D route smoothing featuring Kalman, moving-average centroid, and Quadratic Bezier curve interpolation to eliminate zigzag jitter artifacts. - New Feature: GPX & CSV Exporters (
GpxExporter,CsvExporter): Memory-efficient exports to standard GPX 1.1 XML and CSV formats. - New Feature: Distance Matrix & ETA Calculator (
DistanceMatrix,EtaCalculator): Offline polyline distance calculation, N×M distance matrix, and travel time / ETA estimation across transport modes. - New Feature: Geocoding Cache (
GeocodingCache): Two-tier LRU memory + SharedPreferences disk cache with TTL expiration for reverse geocoding lookups. - New Feature: Heatmap Engine (
HeatmapEngine): Spatial grid cell aggregation, visit counting, density calculation, and spatial clustering. - New Feature: Crash Recovery Manager (
CrashRecoveryManager): Persists tracking state, pending uploads, route, configuration, and background service across process terminations. - Enhancement: Extended
AllInOneLocationmodel with v4.0.0 enterprise fields (filteredAltitude,altitudeGain,altitudeLoss,smoothedSpeed,averageSpeed,maxSpeed,bearing,smoothedHeading,isDeadReckoned,isPaused). - Enhancement: Deduplication in
OfflineLocationSyncvia coordinate and timestamp hashing. - Enhancement: Signal quality score and GPS uptime percentage added to
LocationAnalytics. - Refactoring: Replaced all duplicate Haversine distance functions across
KalmanFilter,MotionDetector,MockLocationDetector,GeofenceRegion,RouteCompressor, andAllInOneBackgroundwith the centralizedHaversineutility. - Backward Compatibility: 100% backward compatible with existing v3.x code. Zero new external dependencies.
3.1.1 #
- Diagnostic Dashboard UI layout overflow bug fixes.
- Performance optimizations for background battery saving.
3.1.0 #
- Offline queue capacity management and automated batch sync manager.
- Self-healing background recovery watchdog service.