- Add guard on web (Web always returns an empty stream)
- Heading accounts for orientation on iOS
- Unregister listeners when detaching engine on Android
- Updates Android Embedding
- Resolves deprecations warnings
- New Android Implementation supporting Sensor.TYPE_ROTATION_VECTOR and Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR.
- Fixes multiple listeners on stream
- Fixes for null safety
- Flutter Compass no more depends on RxDart
- Migrate to null safety
Android:
- Remove roll from heading calculations
- Uses matrix reorientation to do a better job calculating heading "out the back of the phone" iOS:
- Use the device motion orientation matrix to compute heading out the back of the device. This is much like what is done on Android, and yields a more stable and precise heading. Dart:
- Add documentation to flutter_compass.dart.
Breaking Change: The events
stream now gives you CompassEvent
that consists of heading
, headingForCamera
and accuracy
.
Android: Remove roll from heading calculations
Use geomagnetic rotation sensor as fallback on Android
Minor fix
Updated rxDart to 0.24.0
Updated README.md
Breaking change: Uses magnetic heading by default for iOS.
Older versions used True heading and which caused deviations.
- Sensor check added on android.
null
is returned as direction when no sensor available.
- Upgrade
rxdart
version to0.23.1
- Improve
README.md
- Add
dispose
method
- Update
permission_handler
to 3.2.2 - Update
rxdart
to 0.22.3
- Android: The plugin will now remember the last read azimuth. This will be done
across Isolates using a static variable. Additionally, the value is cached
within the isolate with the introduction of a RxDart
BehaviorSubject
. Reading the current azimuth usingawait FlutterCompass.events.first
will therefore not hang anymore when th user has not moved the handset at all. - Sample updated to cover the functional updates in Android.
- Added missing locatio permissions to the Android example which prevented the permission dialog from being shown.
- iOS: Remove permission request when Plugin is instantiated. Library users are responsible to request location permission by themselves.
- Request permission in the example directly.
- Replace kotlin code with simple java to reduce integration complexity
- Upgrade Android build components (Kotlin version) Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
- Upgrade iOS component to Swift 4.2
- Added example
- Added public api docs
- bug fixes
- Android emulator fix
- flutter compass plugin