- Fixes a bug where the plugin throws an exception while requesting locations updates with coarse location permission only.
- Adds support to read NMEA messages from other satellites constellations.
- Read the MSL altitude directly from the Android location starting with API 34.
- Always listen to NMEA message to get GPS position fix data.
- Updates
com.google.android.gms:play-services-location
to version21.2.0
. - Updates
androidx.core:core
to version1.13.0
.
- Fixes a bug where location stream is not automatically started when enabling the location services.
- Fixes a bug where the
getPositionStream
was not informed of the location service resolution result. This resulted in a stream that was kept open indefinitely.
- Reverts
androidx.core:core
to version1.9.0
.
- Adds the
notificationChannelName
field to theForegroundNotificationConfig
class, allowing to override the channel name. - Reverts
com.google.android.gms:play-services-location
to version21.0.1
. Version21.1.0
forces users to update AGP to version 8.0.0 and Kotlin to 1.9.0 which is not inline with stable Flutter version.
- Fixes a bug where the Android
activity
is leaked when theactiviy
is detached from the Flutter application.
- Fixes a bug where the Position class properties were not set correctly.
- Creates
AndroidPosition
, a child class ofPosition
with Android specific properties. - Adds the
satelliteCount
andsatellitesUsedInFix
toAndroidPosition
.
- Fixes a bug where
getPositionStream
caused anjava.lang.IllegalStateException: passive location requests must have an explicit minimum update interval
becauseminUpdateIntervalMillis
property in location request was set to -1 by default
- Adds
color
toForegroundNotificationConfig
to set the color of the notification icon.
- Removes deprecated support for Android V1 embedding from the JAVA code base. Note that the geolocator's Flutter version restrictions already don't support V1 embedding anymore.
- Registers location services state change broadcast receiver with required exported flags
- Updates the following dependencies:
- uuid package from ^3.0.7 to ^4.1.0
- flutter_lints from ^2.0.0 to ^3.0.0
- Suppresses a deprecation warning for
LocationListenerCompat.onStatusChanged
when building for Android.
- Includes
altitudeAccuracy
andheadingAccuracy
inPosition
.
- Fixes a bug where location readings were very inaccurate when using
forceLocationManager: true
.
- Fixes a bug where the position stream was unnecessarily filtered when using
forceLocationManager: true
.
- Adds back the
applicationId
property of the AndroidManifest.xml file to keep backwardscompatibility with older applications that still rely on Gradle version <7.0.
- Fixes a bug where the
stopForeground
method was called with the wrong constant, resulting in a build time error. - Fixes deprecation warnings on Android API 33.
- Introduces the
setOngoing
flag inForegroundNotificationConfig
to make notification persistent.
- Resolves an issue where the location service failed to stop properly upon timeout of the location stream.
- Adds compatibility with Android Gradle Plugin 8.0.
- Fixes an issue where checking location service availability hangs indefinately.
- Updates Play Services Location library
- Mark
geolocator_android
as implementation ofgeolocator
- Fix a bug where the location service would not stop correctly when the location stream is cancelled.
- Export
AndroidResource
class atgeolocator_android.at
.
- Fix a bug where the location service would stop if we have multiple flutter engines connected and one disconnects
- Moves the Android complile arguments to the example
build.gradle
so that is not forces the arguments on consumers of the package.
- Adds the ability to report altitude as MSL obtained from NMEA messages when available.
- Fix nullpointer in
MethodCallHandlerImpl.getLocationAccuracy
- Migrates to Dart SDK 2.15.0 and Flutter 2.8.0.
IMPORTANT: when updating to version 4.0.0 make sure to also set the
compileSdkVersion
in theandroid/app/build.gradle
file to33
.
- Set android
compileSdkVersion
to33
(Android 13); - Fixed the deprecation warnings/errors which caused the compilation to fail when using
compileSdkVersion 33
. - Make sure the example app compiles against Android SDK 33.
- Use
java.security.SecureRandom
instead ofjava.util.Random
to ensure theActivityRequest
identifier is generated in a cryptographically strong fasion.
- Raises minimum Dart version to 2.17 and Flutter version to 3.0.0.
- Removes deprecated
android.enableR8
property from gradle properties. - Updates the example application to request permissions when start listening to the position stream.
- Ensures that when Google mobile services are globally excluded as a dependency to automatically fallback to the Android LocationManager.
- Fixes repository URL of the package.
- Switches to a package-internal implementation of the platform interface.
- Fixes potential cast exceptions when connecting to the location service.
- Fixes support for retrieving the position stream in the absence of an Android activity.
- Fixes a bug introduced in 3.1.2 where unregistering the status location receiver throws an IllegalArgumentException.
- Fixes an issue with the location status service not unregistering the status receiver.
- Fixes an issue with the foreground service connection not getting unbound correctly.
- Adds support to make a foreground service and continue processing location updates when the application is moved into the background.
- Fixes Android embedding v2 warning when compiling the example App.
- Added a default
intervalDuration
value of 5000ms to prevent thegetCurrentPosition
method to return a cached Location.
- Updated to the latest version of the
geolocator_platform_interface':
4.0.0`.
- Replace usage of unofficial GMS library
- Resolve merge conflict.
- Fixes cast exception when converting Integer to Long.
- Fixes NPE when accessing the position stream.
- Adds
intervalDuration
to theAndroidSettings
class.
- Removed implicit request for permissions when getting a position.
- Added the [AndroidOptions] class to the
lib
directory. - Added the
forceLocationManager
property to the [AndroidOptions] instance.
- Added Approximate Location support for Android 12;
- Added support to request the location accuracy on Android through the
Geolocator.getLocationAccuracy()
method; - Make sure the
getServiceStatusStream
method returns an event when initially the Service Status is enabled on Android Devices (see issue#812.
IMPORTANT: when updating to version 2.0.0 make sure to also set the compileSdkVersion in the app/build.gradle file to 31.
- Set Android
compileSdkVersion
to31
(Android 12); - Fixed the deprecation warnings/errors which caused the
flutter build appbundle
to fail when usingcompileSdkVersion 31
.
- Fixed didChangeAppLifecycleState goes into a loop after location request (see issue: #816).
- Migrate to mavenCentral as jFrog has sunset jCenter ( see official announcement for more details);
- Upgrade to Gradle 4.1.0 to stay in sync with current stable version of Flutter.
- Initial open source release.