expo-location 55.0.6 → 55.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/location/taskConsumers/LocationTaskConsumer.kt +5 -8
  4. package/build/Location.types.d.ts +7 -0
  5. package/build/Location.types.d.ts.map +1 -1
  6. package/build/Location.types.js.map +1 -1
  7. package/expo-module.config.json +1 -1
  8. package/ios/Requesters/EXBackgroundLocationPermissionRequester.m +1 -1
  9. package/ios/Requesters/EXBaseLocationRequester.h +1 -0
  10. package/ios/Requesters/EXBaseLocationRequester.m +10 -0
  11. package/ios/Requesters/EXForegroundPermissionRequester.m +6 -2
  12. package/ios/Requesters/EXLocationPermissionRequester.m +2 -1
  13. package/local-maven-repo/host/exp/exponent/expo.modules.location/{55.0.6/expo.modules.location-55.0.6-sources.jar → 55.1.0/expo.modules.location-55.1.0-sources.jar} +0 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0-sources.jar.md5 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0-sources.jar.sha1 +1 -0
  16. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0-sources.jar.sha256 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0-sources.jar.sha512 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.location/{55.0.6/expo.modules.location-55.0.6.aar → 55.1.0/expo.modules.location-55.1.0.aar} +0 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.aar.md5 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.aar.sha1 +1 -0
  21. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.aar.sha256 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.aar.sha512 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.location/{55.0.6/expo.modules.location-55.0.6.module → 55.1.0/expo.modules.location-55.1.0.module} +22 -22
  24. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.module.md5 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.module.sha1 +1 -0
  26. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.module.sha256 +1 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.module.sha512 +1 -0
  28. package/local-maven-repo/host/exp/exponent/expo.modules.location/{55.0.6/expo.modules.location-55.0.6.pom → 55.1.0/expo.modules.location-55.1.0.pom} +13 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.pom.md5 +1 -0
  30. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.pom.sha1 +1 -0
  31. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.pom.sha256 +1 -0
  32. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.1.0/expo.modules.location-55.1.0.pom.sha512 +1 -0
  33. package/local-maven-repo/host/exp/exponent/expo.modules.location/maven-metadata.xml +4 -4
  34. package/local-maven-repo/host/exp/exponent/expo.modules.location/maven-metadata.xml.md5 +1 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.location/maven-metadata.xml.sha1 +1 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.location/maven-metadata.xml.sha256 +1 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.location/maven-metadata.xml.sha512 +1 -1
  38. package/package.json +2 -2
  39. package/src/Location.types.ts +7 -0
  40. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6-sources.jar.md5 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6-sources.jar.sha1 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6-sources.jar.sha256 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6-sources.jar.sha512 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.aar.md5 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.aar.sha1 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.aar.sha256 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.aar.sha512 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.module.md5 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.module.sha1 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.module.sha256 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.module.sha512 +0 -1
  52. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.pom.md5 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.pom.sha1 +0 -1
  54. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.pom.sha256 +0 -1
  55. package/local-maven-repo/host/exp/exponent/expo.modules.location/55.0.6/expo.modules.location-55.0.6.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.1.0 — 2026-02-20
14
+
15
+ ### 🎉 New features
16
+
17
+ - [iOS] Added `accuracy` field to `PermissionDetailsLocationIOS` exposing iOS 14+ precise/reduced location authorization. ([#42931](https://github.com/expo/expo/pull/42931) by [@sbs44](https://github.com/sbs44))
18
+
19
+ ## 55.0.7 — 2026-02-16
20
+
21
+ _This version does not introduce any user-facing changes._
22
+
13
23
  ## 55.0.6 — 2026-02-08
14
24
 
15
25
  _This version does not introduce any user-facing changes._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '55.0.6'
7
+ version = '55.1.0'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.location"
11
11
  defaultConfig {
12
12
  versionCode 29
13
- versionName "55.0.6"
13
+ versionName "55.1.0"
14
14
  consumerProguardFiles("proguard-rules.pro")
15
15
  }
16
16
  }
@@ -17,10 +17,8 @@ import com.google.android.gms.location.FusedLocationProviderClient
17
17
  import com.google.android.gms.location.LocationRequest
18
18
  import com.google.android.gms.location.LocationResult
19
19
  import com.google.android.gms.location.LocationServices
20
- import expo.modules.core.MapHelper
21
20
  import expo.modules.core.arguments.MapArguments
22
21
  import expo.modules.core.arguments.ReadableArguments
23
- import expo.modules.core.interfaces.Arguments
24
22
  import expo.modules.core.interfaces.LifecycleEventListener
25
23
  import expo.modules.interfaces.taskManager.TaskConsumer
26
24
  import expo.modules.interfaces.taskManager.TaskConsumerInterface
@@ -297,7 +295,7 @@ class LocationTaskConsumer(context: Context, taskManagerUtils: TaskManagerUtilsI
297
295
  sLastTimestamp = timestamp
298
296
  }
299
297
  }
300
- if (data.size > 0) {
298
+ if (data.isNotEmpty()) {
301
299
  // Save last reported location, reset the distance and clear a list of locations.
302
300
  mLastReportedLocation = mDeferredLocations[mDeferredLocations.size - 1]
303
301
  mDeferredDistance = 0.0
@@ -310,7 +308,7 @@ class LocationTaskConsumer(context: Context, taskManagerUtils: TaskManagerUtilsI
310
308
 
311
309
  private fun shouldReportDeferredLocations(): Boolean {
312
310
  val task = mTask ?: return false
313
- if (mDeferredLocations.size == 0) {
311
+ if (mDeferredLocations.isEmpty()) {
314
312
  return false
315
313
  }
316
314
  if (!mIsHostPaused) {
@@ -319,9 +317,8 @@ class LocationTaskConsumer(context: Context, taskManagerUtils: TaskManagerUtilsI
319
317
  }
320
318
  val oldestLocation = mLastReportedLocation ?: mDeferredLocations[0]
321
319
  val newestLocation = mDeferredLocations[mDeferredLocations.size - 1]
322
- val options: Arguments = MapHelper(task.options)
323
- val distance = options.getDouble("deferredUpdatesDistance")
324
- val interval = options.getLong("deferredUpdatesInterval")
320
+ val distance = (task.options["deferredUpdatesDistance"] as? Number)?.toDouble() ?: 0.0
321
+ val interval = (task.options["deferredUpdatesInterval"] as? Number)?.toLong() ?: 0L
325
322
  return newestLocation.time - oldestLocation.time >= interval && mDeferredDistance >= distance
326
323
  }
327
324
 
@@ -330,7 +327,7 @@ class LocationTaskConsumer(context: Context, taskManagerUtils: TaskManagerUtilsI
330
327
  }
331
328
 
332
329
  private fun executeTaskWithLocationBundles(locationBundles: ArrayList<Bundle>, callback: TaskExecutionCallback) {
333
- if (locationBundles.size > 0 && mTask != null) {
330
+ if (locationBundles.isNotEmpty() && mTask != null) {
334
331
  val data = Bundle()
335
332
  data.putParcelableArrayList("locations", locationBundles)
336
333
  mTask?.execute(data, null, callback)
@@ -443,6 +443,13 @@ export type PermissionDetailsLocationIOS = {
443
443
  * The scope of granted permission. Indicates when it's possible to use location.
444
444
  */
445
445
  scope: 'whenInUse' | 'always' | 'none';
446
+ /**
447
+ * The accuracy authorization granted by the user.
448
+ * `'full'` means the user has granted precise location access, `'reduced'` means the app
449
+ * can only access approximate location. Below iOS 14 always returns `'full'`.
450
+ * @platform ios 14+
451
+ */
452
+ accuracy: 'full' | 'reduced';
446
453
  };
447
454
  export type PermissionDetailsLocationAndroid = {
448
455
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Location.types.d.ts","sourceRoot":"","sources":["../src/Location.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Location.types.d.ts","sourceRoot":"","sources":["../src/Location.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Location.types.js","sourceRoot":"","sources":["../src/Location.types.ts"],"names":[],"mappings":"AAEA,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,2DAAU,CAAA;IACV;;OAEG;IACH,qDAAO,CAAA;IACP;;OAEG;IACH,+DAAY,CAAA;IACZ;;OAEG;IACH,uDAAQ,CAAA;IACR;;OAEG;IACH,6DAAW,CAAA;IACX;;OAEG;IACH,iFAAqB,CAAA;AACvB,CAAC,EAzBW,gBAAgB,KAAhB,gBAAgB,QAyB3B;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,oBA0BX;AA1BD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,iEAAS,CAAA;IACT;;;OAGG;IACH,+FAAwB,CAAA;IACxB;;;OAGG;IACH,qEAAW,CAAA;IACX;;;OAGG;IACH,qFAAmB,CAAA;IACnB;;;;OAIG;IACH,uEAAY,CAAA;AACd,CAAC,EA1BW,oBAAoB,KAApB,oBAAoB,QA0B/B;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,2BASX;AATD,WAAY,2BAA2B;IACrC;;OAEG;IACH,+EAAS,CAAA;IACT;;OAEG;IACH,6EAAQ,CAAA;AACV,CAAC,EATW,2BAA2B,KAA3B,2BAA2B,QAStC;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,6BAaX;AAbD,WAAY,6BAA6B;IACvC;;OAEG;IACH,uFAAW,CAAA;IACX;;OAEG;IACH,qFAAU,CAAA;IACV;;OAEG;IACH,uFAAW,CAAA;AACb,CAAC,EAbW,6BAA6B,KAA7B,6BAA6B,QAaxC","sourcesContent":["import { PermissionResponse } from 'expo-modules-core';\n\n// @needsAudit\n/**\n * Enum with available location accuracies.\n */\nexport enum LocationAccuracy {\n /**\n * Accurate to the nearest three kilometers.\n */\n Lowest = 1,\n /**\n * Accurate to the nearest kilometer.\n */\n Low = 2,\n /**\n * Accurate to within one hundred meters.\n */\n Balanced = 3,\n /**\n * Accurate to within ten meters of the desired target.\n */\n High = 4,\n /**\n * The best level of accuracy available.\n */\n Highest = 5,\n /**\n * The highest possible accuracy that uses additional sensor data to facilitate navigation apps.\n */\n BestForNavigation = 6,\n}\n\n// @needsAudit\n/**\n * Enum with available activity types of background location tracking.\n */\nexport enum LocationActivityType {\n /**\n * Default activity type. Use it if there is no other type that matches the activity you track.\n */\n Other = 1,\n /**\n * Location updates are being used specifically during vehicular navigation to track location\n * changes to the automobile.\n */\n AutomotiveNavigation = 2,\n /**\n * Use this activity type if you track fitness activities such as walking, running, cycling,\n * and so on.\n */\n Fitness = 3,\n /**\n * Activity type for movements for other types of vehicular navigation that are not automobile\n * related.\n */\n OtherNavigation = 4,\n /**\n * Intended for airborne activities. Fall backs to `ActivityType.Other` if\n * unsupported.\n * @platform ios\n */\n Airborne = 5,\n}\n\n// @needsAudit\n/**\n * A type of the event that geofencing task can receive.\n */\nexport enum LocationGeofencingEventType {\n /**\n * Emitted when the device entered observed region.\n */\n Enter = 1,\n /**\n * Occurs as soon as the device left observed region\n */\n Exit = 2,\n}\n\n// @needsAudit\n/**\n * State of the geofencing region that you receive through the geofencing task.\n */\nexport enum LocationGeofencingRegionState {\n /**\n * Indicates that the device position related to the region is unknown.\n */\n Unknown = 0,\n /**\n * Indicates that the device is inside the region.\n */\n Inside = 1,\n /**\n * Inverse of inside state.\n */\n Outside = 2,\n}\n\n// @needsAudit\n/**\n * Type representing options argument in `getCurrentPositionAsync`.\n */\nexport type LocationOptions = {\n /**\n * Location manager accuracy. Pass one of `Accuracy` enum values.\n * For low-accuracies the implementation can avoid geolocation providers\n * that consume a significant amount of power (such as GPS).\n *\n * @default LocationAccuracy.Balanced\n */\n accuracy?: LocationAccuracy;\n /**\n * Specifies whether to ask the user to turn on improved accuracy location mode\n * which uses Wi-Fi, cell networks and GPS sensor.\n * @default true\n * @platform android\n */\n mayShowUserSettingsDialog?: boolean;\n /**\n * Minimum time to wait between each update in milliseconds.\n * Default value may depend on `accuracy` option.\n * @platform android\n */\n timeInterval?: number;\n /**\n * Receive updates only when the location has changed by at least this distance in meters.\n * Default value may depend on `accuracy` option.\n */\n distanceInterval?: number;\n};\n\n// @needsAudit\n/**\n * Type representing options object that can be passed to `getLastKnownPositionAsync`.\n */\nexport type LocationLastKnownOptions = {\n /**\n * A number of milliseconds after which the last known location starts to be invalid and thus\n * `null` is returned.\n */\n maxAge?: number;\n /**\n * The maximum radius of uncertainty for the location, measured in meters. If the last known\n * location's accuracy radius is bigger (less accurate) then `null` is returned.\n */\n requiredAccuracy?: number;\n};\n\n// @needsAudit\n/**\n * Type representing background location task options.\n */\nexport type LocationTaskOptions = LocationOptions & {\n /**\n * A boolean indicating whether the status bar changes its appearance when\n * location services are used in the background.\n * @default false\n * @platform ios\n */\n showsBackgroundLocationIndicator?: boolean;\n /**\n * The distance in meters that must occur between last reported location and the current location\n * before deferred locations are reported.\n * @default 0\n */\n deferredUpdatesDistance?: number;\n // @docsMissing\n deferredUpdatesTimeout?: number;\n /**\n * Minimum time interval in milliseconds that must pass since last reported location before all\n * later locations are reported in a batched update\n * @default 0\n */\n deferredUpdatesInterval?: number;\n /**\n * The type of user activity associated with the location updates.\n * @see See [Apple docs](https://developer.apple.com/documentation/corelocation/cllocationmanager/1620567-activitytype) for more details.\n * @default ActivityType.Other\n * @platform ios\n */\n activityType?: LocationActivityType;\n /**\n * A boolean value indicating whether the location manager can pause location\n * updates to improve battery life without sacrificing location data. When this option is set to\n * `true`, the location manager pauses updates (and powers down the appropriate hardware) at times\n * when the location data is unlikely to change. You can help the determination of when to pause\n * location updates by assigning a value to the `activityType` property.\n * @default false\n * @platform ios\n */\n pausesUpdatesAutomatically?: boolean;\n foregroundService?: LocationTaskServiceOptions;\n};\n\n// @needsAudit\nexport type LocationTaskServiceOptions = {\n /**\n * Title of the foreground service notification.\n */\n notificationTitle: string;\n /**\n * Subtitle of the foreground service notification.\n */\n notificationBody: string;\n /**\n * Color of the foreground service notification. Accepts `#RRGGBB` and `#AARRGGBB` hex formats.\n */\n notificationColor?: string;\n /**\n * Boolean value whether to destroy the foreground service if the app is killed.\n */\n killServiceOnDestroy?: boolean;\n};\n\n// @needsAudit\n/**\n * Type representing geofencing region object.\n */\nexport type LocationRegion = {\n /**\n * The identifier of the region object. Defaults to auto-generated UUID hash.\n */\n identifier?: string;\n /**\n * The latitude in degrees of region's center point.\n */\n latitude: number;\n /**\n * The longitude in degrees of region's center point.\n */\n longitude: number;\n /**\n * The radius measured in meters that defines the region's outer boundary.\n */\n radius: number;\n /**\n * Boolean value whether to call the task if the device enters the region.\n * @default true\n */\n notifyOnEnter?: boolean;\n /**\n * Boolean value whether to call the task if the device exits the region.\n * @default true\n */\n notifyOnExit?: boolean;\n /**\n * One of [GeofencingRegionState](#geofencingregionstate) region state. Determines whether the\n * device is inside or outside a region.\n */\n state?: LocationGeofencingRegionState;\n};\n\n// @needsAudit\n/**\n * Type representing the location object.\n */\nexport type LocationObject = {\n /**\n * The coordinates of the position.\n */\n coords: LocationObjectCoords;\n /**\n * The time at which this position information was obtained, in milliseconds since epoch.\n */\n timestamp: number;\n /**\n * Whether the location coordinates is mocked or not.\n * @platform android\n */\n mocked?: boolean;\n};\n\n// @needsAudit\n/**\n * Type representing the location GPS related data.\n */\nexport type LocationObjectCoords = {\n /**\n * The latitude in degrees.\n */\n latitude: number;\n /**\n * The longitude in degrees.\n */\n longitude: number;\n /**\n * The altitude in meters above the WGS 84 reference ellipsoid. Can be `null` on Web if it's not available.\n */\n altitude: number | null;\n /**\n * The radius of uncertainty for the location, measured in meters. Can be `null` on Web if it's not available.\n */\n accuracy: number | null;\n /**\n * The accuracy of the altitude value, in meters. Can be `null` on Web if it's not available.\n */\n altitudeAccuracy: number | null;\n /**\n * Horizontal direction of travel of this device, measured in degrees starting at due north and\n * continuing clockwise around the compass. Thus, north is 0 degrees, east is 90 degrees, south is\n * 180 degrees, and so on. Can be `null` on Web if it's not available.\n */\n heading: number | null;\n /**\n * The instantaneous speed of the device in meters per second. Can be `null` on Web if it's not available.\n */\n speed: number | null;\n};\n\n// @needsAudit\n/**\n * Represents `watchPositionAsync` callback.\n */\nexport type LocationCallback = (location: LocationObject) => any;\n\n/**\n * Error callback for location methods.\n */\nexport type LocationErrorCallback = (reason: string) => void;\n\n// @needsAudit\n/**\n * Represents the object containing details about location provider.\n */\nexport type LocationProviderStatus = {\n /**\n * Whether location services are enabled. See [Location.hasServicesEnabledAsync](#locationhasservicesenabledasync)\n * for a more convenient solution to get this value.\n */\n locationServicesEnabled: boolean;\n // @docsMissing\n backgroundModeEnabled: boolean;\n /**\n * Whether the GPS provider is available. If `true` the location data will come\n * from GPS, especially for requests with high accuracy.\n * @platform android\n */\n gpsAvailable?: boolean;\n /**\n * Whether the network provider is available. If `true` the location data will\n * come from cellular network, especially for requests with low accuracy.\n * @platform android\n */\n networkAvailable?: boolean;\n /**\n * Whether the passive provider is available. If `true` the location data will\n * be determined passively.\n * @platform android\n */\n passiveAvailable?: boolean;\n};\n\n// @needsAudit\n/**\n * Type of the object containing heading details and provided by `watchHeadingAsync` callback.\n */\nexport type LocationHeadingObject = {\n /**\n * Measure of true north in degrees (needs location permissions, will return `-1` if not given).\n */\n trueHeading: number;\n /**\n * Measure of magnetic north in degrees.\n */\n magHeading: number;\n /**\n * Level of calibration of compass:\n * - `3`: high accuracy\n * - `2`: medium accuracy\n * - `1`: low accuracy\n * - `0`: none\n *\n * Reference for iOS:\n * - `3`: < 20 degrees uncertainty\n * - `2`: < 35 degrees\n * - `1`: < 50 degrees\n * - `0`: > 50 degrees\n */\n accuracy: number;\n};\n\n// @needsAudit\n/**\n * Represents `watchHeadingAsync` callback.\n */\nexport type LocationHeadingCallback = (location: LocationHeadingObject) => any;\n\n// @needsAudit\n/**\n * Type representing a result of `geocodeAsync`.\n */\nexport type LocationGeocodedLocation = {\n /**\n * The latitude in degrees.\n */\n latitude: number;\n /**\n * The longitude in degrees.\n */\n longitude: number;\n /**\n * The altitude in meters above the WGS 84 reference ellipsoid.\n */\n altitude?: number;\n /**\n * The radius of uncertainty for the location, measured in meters.\n */\n accuracy?: number;\n};\n\n// @needsAudit\n/**\n * Type representing a result of `reverseGeocodeAsync`.\n */\nexport type LocationGeocodedAddress = {\n /**\n * City name of the address.\n */\n city: string | null;\n /**\n * Additional city-level information like district name.\n */\n district: string | null;\n /**\n * Street number of the address.\n */\n streetNumber: string | null;\n /**\n * Street name of the address.\n */\n street: string | null;\n /**\n * The state or province associated with the address.\n */\n region: string | null;\n /**\n * Additional information about administrative area.\n */\n subregion: string | null;\n /**\n * Localized country name of the address.\n */\n country: string | null;\n /**\n * Postal code of the address.\n */\n postalCode: string | null;\n /**\n * The name of the placemark, for example, \"Tower Bridge\".\n */\n name: string | null;\n /**\n * Localized (ISO) country code of the address, if available.\n */\n isoCountryCode: string | null;\n /**\n * The timezone identifier associated with the address.\n * @platform ios\n */\n timezone: string | null;\n /**\n * Composed string of the address components, for example, \"111 8th Avenue, New York, NY\".\n * @platform android\n */\n formattedAddress: string | null;\n};\n\n// @needsAudit\n/**\n * Represents subscription object returned by methods watching for new locations or headings.\n */\nexport type LocationSubscription = {\n /**\n * Call this function with no arguments to remove this subscription. The callback will no longer\n * be called for location updates.\n */\n remove: () => void;\n};\n\n// @needsAudit\nexport type PermissionDetailsLocationIOS = {\n /**\n * The scope of granted permission. Indicates when it's possible to use location.\n */\n scope: 'whenInUse' | 'always' | 'none';\n};\n\n// @needsAudit\nexport type PermissionDetailsLocationAndroid = {\n /**\n * Indicates the type of location provider.\n */\n accuracy: 'fine' | 'coarse' | 'none';\n};\n\n// @needsAudit\n/**\n * `LocationPermissionResponse` extends [`PermissionResponse`](#permissionresponse)\n * type exported by `expo-modules-core` and contains additional platform-specific fields.\n */\nexport type LocationPermissionResponse = PermissionResponse & {\n ios?: PermissionDetailsLocationIOS;\n android?: PermissionDetailsLocationAndroid;\n};\n\nexport type { PermissionResponse };\n"]}
1
+ {"version":3,"file":"Location.types.js","sourceRoot":"","sources":["../src/Location.types.ts"],"names":[],"mappings":"AAEA,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,gBAyBX;AAzBD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,2DAAU,CAAA;IACV;;OAEG;IACH,qDAAO,CAAA;IACP;;OAEG;IACH,+DAAY,CAAA;IACZ;;OAEG;IACH,uDAAQ,CAAA;IACR;;OAEG;IACH,6DAAW,CAAA;IACX;;OAEG;IACH,iFAAqB,CAAA;AACvB,CAAC,EAzBW,gBAAgB,KAAhB,gBAAgB,QAyB3B;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,oBA0BX;AA1BD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,iEAAS,CAAA;IACT;;;OAGG;IACH,+FAAwB,CAAA;IACxB;;;OAGG;IACH,qEAAW,CAAA;IACX;;;OAGG;IACH,qFAAmB,CAAA;IACnB;;;;OAIG;IACH,uEAAY,CAAA;AACd,CAAC,EA1BW,oBAAoB,KAApB,oBAAoB,QA0B/B;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,2BASX;AATD,WAAY,2BAA2B;IACrC;;OAEG;IACH,+EAAS,CAAA;IACT;;OAEG;IACH,6EAAQ,CAAA;AACV,CAAC,EATW,2BAA2B,KAA3B,2BAA2B,QAStC;AAED,cAAc;AACd;;GAEG;AACH,MAAM,CAAN,IAAY,6BAaX;AAbD,WAAY,6BAA6B;IACvC;;OAEG;IACH,uFAAW,CAAA;IACX;;OAEG;IACH,qFAAU,CAAA;IACV;;OAEG;IACH,uFAAW,CAAA;AACb,CAAC,EAbW,6BAA6B,KAA7B,6BAA6B,QAaxC","sourcesContent":["import { PermissionResponse } from 'expo-modules-core';\n\n// @needsAudit\n/**\n * Enum with available location accuracies.\n */\nexport enum LocationAccuracy {\n /**\n * Accurate to the nearest three kilometers.\n */\n Lowest = 1,\n /**\n * Accurate to the nearest kilometer.\n */\n Low = 2,\n /**\n * Accurate to within one hundred meters.\n */\n Balanced = 3,\n /**\n * Accurate to within ten meters of the desired target.\n */\n High = 4,\n /**\n * The best level of accuracy available.\n */\n Highest = 5,\n /**\n * The highest possible accuracy that uses additional sensor data to facilitate navigation apps.\n */\n BestForNavigation = 6,\n}\n\n// @needsAudit\n/**\n * Enum with available activity types of background location tracking.\n */\nexport enum LocationActivityType {\n /**\n * Default activity type. Use it if there is no other type that matches the activity you track.\n */\n Other = 1,\n /**\n * Location updates are being used specifically during vehicular navigation to track location\n * changes to the automobile.\n */\n AutomotiveNavigation = 2,\n /**\n * Use this activity type if you track fitness activities such as walking, running, cycling,\n * and so on.\n */\n Fitness = 3,\n /**\n * Activity type for movements for other types of vehicular navigation that are not automobile\n * related.\n */\n OtherNavigation = 4,\n /**\n * Intended for airborne activities. Fall backs to `ActivityType.Other` if\n * unsupported.\n * @platform ios\n */\n Airborne = 5,\n}\n\n// @needsAudit\n/**\n * A type of the event that geofencing task can receive.\n */\nexport enum LocationGeofencingEventType {\n /**\n * Emitted when the device entered observed region.\n */\n Enter = 1,\n /**\n * Occurs as soon as the device left observed region\n */\n Exit = 2,\n}\n\n// @needsAudit\n/**\n * State of the geofencing region that you receive through the geofencing task.\n */\nexport enum LocationGeofencingRegionState {\n /**\n * Indicates that the device position related to the region is unknown.\n */\n Unknown = 0,\n /**\n * Indicates that the device is inside the region.\n */\n Inside = 1,\n /**\n * Inverse of inside state.\n */\n Outside = 2,\n}\n\n// @needsAudit\n/**\n * Type representing options argument in `getCurrentPositionAsync`.\n */\nexport type LocationOptions = {\n /**\n * Location manager accuracy. Pass one of `Accuracy` enum values.\n * For low-accuracies the implementation can avoid geolocation providers\n * that consume a significant amount of power (such as GPS).\n *\n * @default LocationAccuracy.Balanced\n */\n accuracy?: LocationAccuracy;\n /**\n * Specifies whether to ask the user to turn on improved accuracy location mode\n * which uses Wi-Fi, cell networks and GPS sensor.\n * @default true\n * @platform android\n */\n mayShowUserSettingsDialog?: boolean;\n /**\n * Minimum time to wait between each update in milliseconds.\n * Default value may depend on `accuracy` option.\n * @platform android\n */\n timeInterval?: number;\n /**\n * Receive updates only when the location has changed by at least this distance in meters.\n * Default value may depend on `accuracy` option.\n */\n distanceInterval?: number;\n};\n\n// @needsAudit\n/**\n * Type representing options object that can be passed to `getLastKnownPositionAsync`.\n */\nexport type LocationLastKnownOptions = {\n /**\n * A number of milliseconds after which the last known location starts to be invalid and thus\n * `null` is returned.\n */\n maxAge?: number;\n /**\n * The maximum radius of uncertainty for the location, measured in meters. If the last known\n * location's accuracy radius is bigger (less accurate) then `null` is returned.\n */\n requiredAccuracy?: number;\n};\n\n// @needsAudit\n/**\n * Type representing background location task options.\n */\nexport type LocationTaskOptions = LocationOptions & {\n /**\n * A boolean indicating whether the status bar changes its appearance when\n * location services are used in the background.\n * @default false\n * @platform ios\n */\n showsBackgroundLocationIndicator?: boolean;\n /**\n * The distance in meters that must occur between last reported location and the current location\n * before deferred locations are reported.\n * @default 0\n */\n deferredUpdatesDistance?: number;\n // @docsMissing\n deferredUpdatesTimeout?: number;\n /**\n * Minimum time interval in milliseconds that must pass since last reported location before all\n * later locations are reported in a batched update\n * @default 0\n */\n deferredUpdatesInterval?: number;\n /**\n * The type of user activity associated with the location updates.\n * @see See [Apple docs](https://developer.apple.com/documentation/corelocation/cllocationmanager/1620567-activitytype) for more details.\n * @default ActivityType.Other\n * @platform ios\n */\n activityType?: LocationActivityType;\n /**\n * A boolean value indicating whether the location manager can pause location\n * updates to improve battery life without sacrificing location data. When this option is set to\n * `true`, the location manager pauses updates (and powers down the appropriate hardware) at times\n * when the location data is unlikely to change. You can help the determination of when to pause\n * location updates by assigning a value to the `activityType` property.\n * @default false\n * @platform ios\n */\n pausesUpdatesAutomatically?: boolean;\n foregroundService?: LocationTaskServiceOptions;\n};\n\n// @needsAudit\nexport type LocationTaskServiceOptions = {\n /**\n * Title of the foreground service notification.\n */\n notificationTitle: string;\n /**\n * Subtitle of the foreground service notification.\n */\n notificationBody: string;\n /**\n * Color of the foreground service notification. Accepts `#RRGGBB` and `#AARRGGBB` hex formats.\n */\n notificationColor?: string;\n /**\n * Boolean value whether to destroy the foreground service if the app is killed.\n */\n killServiceOnDestroy?: boolean;\n};\n\n// @needsAudit\n/**\n * Type representing geofencing region object.\n */\nexport type LocationRegion = {\n /**\n * The identifier of the region object. Defaults to auto-generated UUID hash.\n */\n identifier?: string;\n /**\n * The latitude in degrees of region's center point.\n */\n latitude: number;\n /**\n * The longitude in degrees of region's center point.\n */\n longitude: number;\n /**\n * The radius measured in meters that defines the region's outer boundary.\n */\n radius: number;\n /**\n * Boolean value whether to call the task if the device enters the region.\n * @default true\n */\n notifyOnEnter?: boolean;\n /**\n * Boolean value whether to call the task if the device exits the region.\n * @default true\n */\n notifyOnExit?: boolean;\n /**\n * One of [GeofencingRegionState](#geofencingregionstate) region state. Determines whether the\n * device is inside or outside a region.\n */\n state?: LocationGeofencingRegionState;\n};\n\n// @needsAudit\n/**\n * Type representing the location object.\n */\nexport type LocationObject = {\n /**\n * The coordinates of the position.\n */\n coords: LocationObjectCoords;\n /**\n * The time at which this position information was obtained, in milliseconds since epoch.\n */\n timestamp: number;\n /**\n * Whether the location coordinates is mocked or not.\n * @platform android\n */\n mocked?: boolean;\n};\n\n// @needsAudit\n/**\n * Type representing the location GPS related data.\n */\nexport type LocationObjectCoords = {\n /**\n * The latitude in degrees.\n */\n latitude: number;\n /**\n * The longitude in degrees.\n */\n longitude: number;\n /**\n * The altitude in meters above the WGS 84 reference ellipsoid. Can be `null` on Web if it's not available.\n */\n altitude: number | null;\n /**\n * The radius of uncertainty for the location, measured in meters. Can be `null` on Web if it's not available.\n */\n accuracy: number | null;\n /**\n * The accuracy of the altitude value, in meters. Can be `null` on Web if it's not available.\n */\n altitudeAccuracy: number | null;\n /**\n * Horizontal direction of travel of this device, measured in degrees starting at due north and\n * continuing clockwise around the compass. Thus, north is 0 degrees, east is 90 degrees, south is\n * 180 degrees, and so on. Can be `null` on Web if it's not available.\n */\n heading: number | null;\n /**\n * The instantaneous speed of the device in meters per second. Can be `null` on Web if it's not available.\n */\n speed: number | null;\n};\n\n// @needsAudit\n/**\n * Represents `watchPositionAsync` callback.\n */\nexport type LocationCallback = (location: LocationObject) => any;\n\n/**\n * Error callback for location methods.\n */\nexport type LocationErrorCallback = (reason: string) => void;\n\n// @needsAudit\n/**\n * Represents the object containing details about location provider.\n */\nexport type LocationProviderStatus = {\n /**\n * Whether location services are enabled. See [Location.hasServicesEnabledAsync](#locationhasservicesenabledasync)\n * for a more convenient solution to get this value.\n */\n locationServicesEnabled: boolean;\n // @docsMissing\n backgroundModeEnabled: boolean;\n /**\n * Whether the GPS provider is available. If `true` the location data will come\n * from GPS, especially for requests with high accuracy.\n * @platform android\n */\n gpsAvailable?: boolean;\n /**\n * Whether the network provider is available. If `true` the location data will\n * come from cellular network, especially for requests with low accuracy.\n * @platform android\n */\n networkAvailable?: boolean;\n /**\n * Whether the passive provider is available. If `true` the location data will\n * be determined passively.\n * @platform android\n */\n passiveAvailable?: boolean;\n};\n\n// @needsAudit\n/**\n * Type of the object containing heading details and provided by `watchHeadingAsync` callback.\n */\nexport type LocationHeadingObject = {\n /**\n * Measure of true north in degrees (needs location permissions, will return `-1` if not given).\n */\n trueHeading: number;\n /**\n * Measure of magnetic north in degrees.\n */\n magHeading: number;\n /**\n * Level of calibration of compass:\n * - `3`: high accuracy\n * - `2`: medium accuracy\n * - `1`: low accuracy\n * - `0`: none\n *\n * Reference for iOS:\n * - `3`: < 20 degrees uncertainty\n * - `2`: < 35 degrees\n * - `1`: < 50 degrees\n * - `0`: > 50 degrees\n */\n accuracy: number;\n};\n\n// @needsAudit\n/**\n * Represents `watchHeadingAsync` callback.\n */\nexport type LocationHeadingCallback = (location: LocationHeadingObject) => any;\n\n// @needsAudit\n/**\n * Type representing a result of `geocodeAsync`.\n */\nexport type LocationGeocodedLocation = {\n /**\n * The latitude in degrees.\n */\n latitude: number;\n /**\n * The longitude in degrees.\n */\n longitude: number;\n /**\n * The altitude in meters above the WGS 84 reference ellipsoid.\n */\n altitude?: number;\n /**\n * The radius of uncertainty for the location, measured in meters.\n */\n accuracy?: number;\n};\n\n// @needsAudit\n/**\n * Type representing a result of `reverseGeocodeAsync`.\n */\nexport type LocationGeocodedAddress = {\n /**\n * City name of the address.\n */\n city: string | null;\n /**\n * Additional city-level information like district name.\n */\n district: string | null;\n /**\n * Street number of the address.\n */\n streetNumber: string | null;\n /**\n * Street name of the address.\n */\n street: string | null;\n /**\n * The state or province associated with the address.\n */\n region: string | null;\n /**\n * Additional information about administrative area.\n */\n subregion: string | null;\n /**\n * Localized country name of the address.\n */\n country: string | null;\n /**\n * Postal code of the address.\n */\n postalCode: string | null;\n /**\n * The name of the placemark, for example, \"Tower Bridge\".\n */\n name: string | null;\n /**\n * Localized (ISO) country code of the address, if available.\n */\n isoCountryCode: string | null;\n /**\n * The timezone identifier associated with the address.\n * @platform ios\n */\n timezone: string | null;\n /**\n * Composed string of the address components, for example, \"111 8th Avenue, New York, NY\".\n * @platform android\n */\n formattedAddress: string | null;\n};\n\n// @needsAudit\n/**\n * Represents subscription object returned by methods watching for new locations or headings.\n */\nexport type LocationSubscription = {\n /**\n * Call this function with no arguments to remove this subscription. The callback will no longer\n * be called for location updates.\n */\n remove: () => void;\n};\n\n// @needsAudit\nexport type PermissionDetailsLocationIOS = {\n /**\n * The scope of granted permission. Indicates when it's possible to use location.\n */\n scope: 'whenInUse' | 'always' | 'none';\n /**\n * The accuracy authorization granted by the user.\n * `'full'` means the user has granted precise location access, `'reduced'` means the app\n * can only access approximate location. Below iOS 14 always returns `'full'`.\n * @platform ios 14+\n */\n accuracy: 'full' | 'reduced';\n};\n\n// @needsAudit\nexport type PermissionDetailsLocationAndroid = {\n /**\n * Indicates the type of location provider.\n */\n accuracy: 'fine' | 'coarse' | 'none';\n};\n\n// @needsAudit\n/**\n * `LocationPermissionResponse` extends [`PermissionResponse`](#permissionresponse)\n * type exported by `expo-modules-core` and contains additional platform-specific fields.\n */\nexport type LocationPermissionResponse = PermissionResponse & {\n ios?: PermissionDetailsLocationIOS;\n android?: PermissionDetailsLocationAndroid;\n};\n\nexport type { PermissionResponse };\n"]}
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.location",
11
- "version": "55.0.6",
11
+ "version": "55.1.0",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -151,7 +151,7 @@ static SEL alwaysAuthorizationSelector;
151
151
  }
152
152
  }
153
153
 
154
- return @{ @"status": @(status), @"scope": @(systemStatus == kCLAuthorizationStatusAuthorizedWhenInUse ? "whenInUse" : systemStatus == kCLAuthorizationStatusAuthorizedAlways ? "always" : "none") };
154
+ return @{ @"status": @(status), @"scope": @(systemStatus == kCLAuthorizationStatusAuthorizedWhenInUse ? "whenInUse" : systemStatus == kCLAuthorizationStatusAuthorizedAlways ? "always" : "none"), @"accuracy": [self accuracyAuthorizationString] };
155
155
  }
156
156
 
157
157
  @end
@@ -16,5 +16,6 @@
16
16
 
17
17
  - (void)requestLocationPermissions;
18
18
  - (NSDictionary *)parsePermissions:(CLAuthorizationStatus)systemStatus;
19
+ - (NSString *)accuracyAuthorizationString;
19
20
 
20
21
  @end
@@ -159,5 +159,15 @@
159
159
  return [self isConfiguredForWhenInUseAuthorization] && [[NSBundle mainBundle] objectForInfoDictionaryKey:@"NSLocationAlwaysAndWhenInUseUsageDescription"];
160
160
  }
161
161
 
162
+ - (NSString *)accuracyAuthorizationString
163
+ {
164
+ if (@available(iOS 14, *)) {
165
+ CLLocationManager *manager = self.locationManager ?: [[CLLocationManager alloc] init];
166
+ if (manager.accuracyAuthorization == CLAccuracyAuthorizationReducedAccuracy) {
167
+ return @"reduced";
168
+ }
169
+ }
170
+ return @"full";
171
+ }
162
172
 
163
173
  @end
@@ -53,12 +53,16 @@ static SEL whenInUseAuthorizationSelector;
53
53
  break;
54
54
  }
55
55
  }
56
- NSString* scope = @(systemStatus == kCLAuthorizationStatusAuthorizedWhenInUse ? "whenInUse" : systemStatus == kCLAuthorizationStatusAuthorizedAlways ? "always" : "none");
56
+ NSString *scope = @(systemStatus == kCLAuthorizationStatusAuthorizedWhenInUse ? "whenInUse" : systemStatus == kCLAuthorizationStatusAuthorizedAlways ? "always" : "none");
57
+ NSString *accuracy = [self accuracyAuthorizationString];
58
+
57
59
  return @{ @"status": @(status),
58
60
  @"ios": @{
59
- @"scope": scope
61
+ @"scope": scope,
62
+ @"accuracy": accuracy
60
63
  },
61
64
  @"scope": scope, // Incorrect according to https://docs.expo.dev/versions/latest/sdk/location/#locationpermissionresponse but long-present. TODO remove for SDK 56 or later
65
+ @"accuracy": accuracy
62
66
  };
63
67
  }
64
68
 
@@ -65,7 +65,8 @@ static SEL whenInUseAuthorizationSelector;
65
65
 
66
66
  return @{
67
67
  @"status": @(status),
68
- @"scope": scope
68
+ @"scope": scope,
69
+ @"accuracy": [self accuracyAuthorizationString]
69
70
  };
70
71
  }
71
72
 
@@ -0,0 +1 @@
1
+ 850a792b308a25f07680c80668505337d9c049c6f46902a1e1f811e6bd74ab2d
@@ -0,0 +1 @@
1
+ a742523953bfdc8b7c8b969d6b022a6580dd1044d9cb2264d7d895425ddc1161379e3c7e9db5b4891ec3879dc44be11f5dac1fabefdfad452a3cddfe6fee87e3
@@ -0,0 +1 @@
1
+ 10541c8511123114c9c5076d34d3dfea4624d024133eda6b240502f7fffd6c2e
@@ -0,0 +1 @@
1
+ 63cdbddd8250942bbbb87c5f4a5d99422d2a09d911e3e2d62ec18c96139ec7c642ba6e225fe5ee3c51e1d0e275a82c5477bf9a8ba5670028737c30e5b250f286
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.location",
6
- "version": "55.0.6",
6
+ "version": "55.1.0",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -33,13 +33,13 @@
33
33
  ],
34
34
  "files": [
35
35
  {
36
- "name": "expo.modules.location-55.0.6.aar",
37
- "url": "expo.modules.location-55.0.6.aar",
38
- "size": 187203,
39
- "sha512": "8d51950651511ac2804ed7dc0b1039231a102b6ad460bfd67e819c7e12f036a552682e0ad0838836a2a27ccecea9aaa6c787a1ac680a5c535a1a559fd7892fc8",
40
- "sha256": "b7e85ed74dc549c6b1d6b29309296b118b0760283e10712a12989d3d8cb6b869",
41
- "sha1": "4bace27cf16350f0c5f0b2f2a228b14b08b26448",
42
- "md5": "0dbb3ceef875f557b4c0645e19421a9e"
36
+ "name": "expo.modules.location-55.1.0.aar",
37
+ "url": "expo.modules.location-55.1.0.aar",
38
+ "size": 187260,
39
+ "sha512": "63cdbddd8250942bbbb87c5f4a5d99422d2a09d911e3e2d62ec18c96139ec7c642ba6e225fe5ee3c51e1d0e275a82c5477bf9a8ba5670028737c30e5b250f286",
40
+ "sha256": "10541c8511123114c9c5076d34d3dfea4624d024133eda6b240502f7fffd6c2e",
41
+ "sha1": "e41a5d8f4c8eda0b9db38ecffa5acefb6a9b97ba",
42
+ "md5": "b4314378b5b6b78db395619d3738df09"
43
43
  }
44
44
  ]
45
45
  },
@@ -69,13 +69,13 @@
69
69
  ],
70
70
  "files": [
71
71
  {
72
- "name": "expo.modules.location-55.0.6.aar",
73
- "url": "expo.modules.location-55.0.6.aar",
74
- "size": 187203,
75
- "sha512": "8d51950651511ac2804ed7dc0b1039231a102b6ad460bfd67e819c7e12f036a552682e0ad0838836a2a27ccecea9aaa6c787a1ac680a5c535a1a559fd7892fc8",
76
- "sha256": "b7e85ed74dc549c6b1d6b29309296b118b0760283e10712a12989d3d8cb6b869",
77
- "sha1": "4bace27cf16350f0c5f0b2f2a228b14b08b26448",
78
- "md5": "0dbb3ceef875f557b4c0645e19421a9e"
72
+ "name": "expo.modules.location-55.1.0.aar",
73
+ "url": "expo.modules.location-55.1.0.aar",
74
+ "size": 187260,
75
+ "sha512": "63cdbddd8250942bbbb87c5f4a5d99422d2a09d911e3e2d62ec18c96139ec7c642ba6e225fe5ee3c51e1d0e275a82c5477bf9a8ba5670028737c30e5b250f286",
76
+ "sha256": "10541c8511123114c9c5076d34d3dfea4624d024133eda6b240502f7fffd6c2e",
77
+ "sha1": "e41a5d8f4c8eda0b9db38ecffa5acefb6a9b97ba",
78
+ "md5": "b4314378b5b6b78db395619d3738df09"
79
79
  }
80
80
  ]
81
81
  },
@@ -89,13 +89,13 @@
89
89
  },
90
90
  "files": [
91
91
  {
92
- "name": "expo.modules.location-55.0.6-sources.jar",
93
- "url": "expo.modules.location-55.0.6-sources.jar",
94
- "size": 23402,
95
- "sha512": "e642dfffd88dbc11a410a5256ff054c2dd1d1c26771bb207e20564ae5a0a63412b00507ba48e6a27a316b4bcd1567f2971a3c2c3ad6651d7a7e203a7c96d76d9",
96
- "sha256": "1be3e6c53d661851f9a16186229e3215b370c7cb102c794828326996ef624fb0",
97
- "sha1": "ce1099475e3095dce5560cd3efb5e3d16021be1a",
98
- "md5": "f0e208560e60938fe5c8bed104a13b7c"
92
+ "name": "expo.modules.location-55.1.0-sources.jar",
93
+ "url": "expo.modules.location-55.1.0-sources.jar",
94
+ "size": 23398,
95
+ "sha512": "a742523953bfdc8b7c8b969d6b022a6580dd1044d9cb2264d7d895425ddc1161379e3c7e9db5b4891ec3879dc44be11f5dac1fabefdfad452a3cddfe6fee87e3",
96
+ "sha256": "850a792b308a25f07680c80668505337d9c049c6f46902a1e1f811e6bd74ab2d",
97
+ "sha1": "6025468baee3b46850c3b78ada4400b3941aed33",
98
+ "md5": "6c8c83edf9ed98c1f4ce99327cc4bafe"
99
99
  }
100
100
  ]
101
101
  }
@@ -0,0 +1 @@
1
+ eaa3c9ab632e61bdfd1ef4c7c814366567fa8d50bf8f9d00a4fcb6fd87e6a67a
@@ -0,0 +1 @@
1
+ 040938c4c16dba599959b627ab50e9c3e35651121f6893db04b7eb0fe2cc405ef22dc74ed083a510346c4f117e795e395def6b671c0cf1b84f2993373688bf96
@@ -9,16 +9,28 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.location</artifactId>
12
- <version>55.0.6</version>
12
+ <version>55.1.0</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.location</name>
15
15
  <url>https://github.com/expo/expo</url>
16
+ <organization>
17
+ <name>650 Industries, Inc. (“Expo”)</name>
18
+ <url>https://expo.dev/home</url>
19
+ </organization>
16
20
  <licenses>
17
21
  <license>
18
22
  <name>MIT License</name>
19
23
  <url>https://github.com/expo/expo/blob/main/LICENSE</url>
24
+ <distribution>https://github.com/expo/expo/blob/main/LICENSE</distribution>
20
25
  </license>
21
26
  </licenses>
27
+ <developers>
28
+ <developer>
29
+ <name>Expo Maintainers</name>
30
+ <email>support@expo.dev</email>
31
+ <url>https://github.com/orgs/expo/people</url>
32
+ </developer>
33
+ </developers>
22
34
  <scm>
23
35
  <connection>https://github.com/expo/expo.git</connection>
24
36
  <developerConnection>https://github.com/expo/expo.git</developerConnection>
@@ -0,0 +1 @@
1
+ 258647fe30396c39e27159a2e9c2b976446f19a12096ec19643b17644149d57e
@@ -0,0 +1 @@
1
+ 00952a9242b033014d0bd7d0e8b77886ea49e1c68ec59d6918b67340b88c383eed9090372b57be469e22a802d9af4d7c0fefffc15d4750573bacb56a0e4d95bd
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.location</artifactId>
5
5
  <versioning>
6
- <latest>55.0.6</latest>
7
- <release>55.0.6</release>
6
+ <latest>55.1.0</latest>
7
+ <release>55.1.0</release>
8
8
  <versions>
9
- <version>55.0.6</version>
9
+ <version>55.1.0</version>
10
10
  </versions>
11
- <lastUpdated>20260208025508</lastUpdated>
11
+ <lastUpdated>20260220174552</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- d175610c7cf830c5b94071be774b46b1
1
+ 73ee2f40ddd3246972e3eaef76f031d0
@@ -1 +1 @@
1
- f8fda4b49ff3135709689e17522c07e5f8dc2e6d
1
+ b219ea0cdfc49e8aad93126ecf0fb1b5480f6399
@@ -1 +1 @@
1
- 274c15f725fef582a7c7b6a4778a5c48202694a01888602b9034e3bb7dfc2fc4
1
+ 1aa79aa32a736fe509978f649bb9bdaee8e1e782d9c9ca9be96439faa49e149e
@@ -1 +1 @@
1
- 757c1e3a73692dc5e35f779e00e51850cda5bb088ff728e12758e3b3587eab883e9b6e91e43cc36ad4cbcafa1240f8ad674600d1a65a9b55ecdd477b871ebe0c
1
+ 6ab0241d62efc501df2d55e6a365db2cff3bbcfb6d8b2ab455f0adb85ee0798c879792a1239ee4d3f7dce9bcc5efcf294ff8132f9230c5c7470faebdbd6a7598
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-location",
3
- "version": "55.0.6",
3
+ "version": "55.1.0",
4
4
  "description": "Allows reading geolocation information from the device. Your app can poll for the current location or subscribe to location update events.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "peerDependencies": {
48
48
  "expo": "*"
49
49
  },
50
- "gitHead": "cd3638bb85f9560392acfd5160a266cf97880b3b"
50
+ "gitHead": "e37001d25bfeec4ee4fa1b7da1769e99d099d75e"
51
51
  }
@@ -484,6 +484,13 @@ export type PermissionDetailsLocationIOS = {
484
484
  * The scope of granted permission. Indicates when it's possible to use location.
485
485
  */
486
486
  scope: 'whenInUse' | 'always' | 'none';
487
+ /**
488
+ * The accuracy authorization granted by the user.
489
+ * `'full'` means the user has granted precise location access, `'reduced'` means the app
490
+ * can only access approximate location. Below iOS 14 always returns `'full'`.
491
+ * @platform ios 14+
492
+ */
493
+ accuracy: 'full' | 'reduced';
487
494
  };
488
495
 
489
496
  // @needsAudit
@@ -1 +0,0 @@
1
- 1be3e6c53d661851f9a16186229e3215b370c7cb102c794828326996ef624fb0
@@ -1 +0,0 @@
1
- e642dfffd88dbc11a410a5256ff054c2dd1d1c26771bb207e20564ae5a0a63412b00507ba48e6a27a316b4bcd1567f2971a3c2c3ad6651d7a7e203a7c96d76d9
@@ -1 +0,0 @@
1
- b7e85ed74dc549c6b1d6b29309296b118b0760283e10712a12989d3d8cb6b869
@@ -1 +0,0 @@
1
- 8d51950651511ac2804ed7dc0b1039231a102b6ad460bfd67e819c7e12f036a552682e0ad0838836a2a27ccecea9aaa6c787a1ac680a5c535a1a559fd7892fc8
@@ -1 +0,0 @@
1
- b9daa2c89347517d01569304aa25e744d9a6f6392fdc55a0bc1a7daf9fe4bb44
@@ -1 +0,0 @@
1
- 80667f6818a2945c3ef5f7712bdc48836ffc910ce27295d6ad8e254e3274a866ea8048a916540e9fcfae319404ed08e0cd214a90c99452c43427022d404aaea8
@@ -1 +0,0 @@
1
- 05ecebc00f29acebddfc0b3eb4bfceafe932c6df4a031503207ffad554670148
@@ -1 +0,0 @@
1
- f3348fc9687333a6c151a2b417f1a2fdffd21fce8ea7f81c7985d4e42fd1d2818fa5ce28108c7d5464a27693c75fdce644763dcb107874975295ae996b7b2bdc