@rnmapbox/maps 10.1.0-beta.18 → 10.1.0-beta.19

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 (225) hide show
  1. package/android/src/main/java/com/rnmapbox/rnmbx/RNMBXPackage.kt +19 -3
  2. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.kt +24 -0
  3. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEventEmitter.kt +5 -0
  4. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerView.kt +5 -5
  5. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXMarkerViewManager.kt +3 -9
  6. package/android/src/main/java/com/rnmapbox/rnmbx/components/annotation/RNMBXPointAnnotationManager.kt +8 -7
  7. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXCamera.kt +4 -4
  8. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXVIewportManager.kt +55 -0
  9. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewport.kt +259 -0
  10. package/android/src/main/java/com/rnmapbox/rnmbx/components/camera/RNMBXViewportModule.kt +66 -0
  11. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/ImageManager.kt +53 -0
  12. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImages.kt +2 -1
  13. package/android/src/main/java/com/rnmapbox/rnmbx/components/images/RNMBXImagesManager.kt +4 -3
  14. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/LocationComponentManager.kt +78 -47
  15. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProvider.kt +114 -0
  16. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXCustomLocationProviderManager.kt +45 -0
  17. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocation.kt +194 -25
  18. package/android/src/main/java/com/rnmapbox/rnmbx/components/location/RNMBXNativeUserLocationManager.kt +82 -7
  19. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/NativeMapViewModule.kt +0 -7
  20. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapView.kt +12 -8
  21. package/android/src/main/java/com/rnmapbox/rnmbx/components/mapview/RNMBXMapViewManager.kt +9 -8
  22. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/RNMBXStyle.kt +1 -1
  23. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXShapeSourceManager.kt +5 -4
  24. package/android/src/main/java/com/rnmapbox/rnmbx/components/styles/sources/RNMBXVectorSourceManager.kt +5 -4
  25. package/android/src/main/java/com/rnmapbox/rnmbx/events/AndroidCallbackEvent.java +1 -1
  26. package/android/src/main/java/com/rnmapbox/rnmbx/events/FeatureClickEvent.java +3 -3
  27. package/android/src/main/java/com/rnmapbox/rnmbx/events/IEvent.kt +1 -4
  28. package/android/src/main/java/com/rnmapbox/rnmbx/events/ImageMissingEvent.java +1 -1
  29. package/android/src/main/java/com/rnmapbox/rnmbx/events/LocationEvent.kt +1 -1
  30. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapChangeEvent.kt +1 -1
  31. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapClickEvent.java +2 -2
  32. package/android/src/main/java/com/rnmapbox/rnmbx/events/MapUserTrackingModeEvent.kt +4 -4
  33. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationClickEvent.java +1 -1
  34. package/android/src/main/java/com/rnmapbox/rnmbx/events/PointAnnotationDragEvent.java +3 -3
  35. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.kt +44 -0
  36. package/android/src/main/java/com/rnmapbox/rnmbx/utils/BitmapUtils.kt +3 -0
  37. package/android/src/main/java/com/rnmapbox/rnmbx/utils/DownloadMapImageTask.kt +5 -2
  38. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableArray.kt +21 -1
  39. package/android/src/main/java/com/rnmapbox/rnmbx/utils/extensions/ReadableMap.kt +34 -0
  40. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Annotation.kt +29 -1
  41. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +15 -0
  42. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Image.kt +17 -1
  43. package/android/src/main/mapbox-v11-compat/v10/com/rnmapbox/rnmbx/v11compat/Location.kt +6 -9
  44. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Annotation.kt +29 -1
  45. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Cancelable.kt +3 -0
  46. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Image.kt +21 -1
  47. package/android/src/main/mapbox-v11-compat/v11/com/rnmapbox/rnmbx/v11compat/Location.kt +2 -2
  48. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerDelegate.java +32 -0
  49. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXCustomLocationProviderManagerInterface.java +17 -0
  50. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerDelegate.java +20 -2
  51. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXNativeUserLocationManagerInterface.java +7 -1
  52. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerDelegate.java +35 -0
  53. package/android/src/main/old-arch/com/facebook/react/viewmanagers/RNMBXViewportManagerInterface.java +18 -0
  54. package/android/src/main/old-arch/com/rnmapbox/rnmbx/NativeRNMBXViewportModuleSpec.java +49 -0
  55. package/ios/RNMBX/ImageManager.swift +41 -0
  56. package/ios/RNMBX/RNMBXCustomLocationProvider.swift +269 -0
  57. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.h +15 -0
  58. package/ios/RNMBX/RNMBXCustomLocationProviderComponentView.mm +67 -0
  59. package/ios/RNMBX/RNMBXCustomLocationProviderVIewManager.swift +13 -0
  60. package/ios/RNMBX/RNMBXCustomLocationProviderViewManager.m +9 -0
  61. package/ios/RNMBX/RNMBXFabricPropConvert.h +41 -0
  62. package/ios/RNMBX/RNMBXFabricPropConvert.mm +131 -0
  63. package/ios/RNMBX/RNMBXImageModule.mm +2 -2
  64. package/ios/RNMBX/RNMBXImages.swift +20 -4
  65. package/ios/RNMBX/RNMBXImagesComponentView.mm +19 -1
  66. package/ios/RNMBX/RNMBXLocationModule.swift +25 -14
  67. package/ios/RNMBX/RNMBXLocationModuleV11.swift +81 -14
  68. package/ios/RNMBX/RNMBXLogging.swift +8 -0
  69. package/ios/RNMBX/RNMBXMapView.swift +4 -3
  70. package/ios/RNMBX/RNMBXMapViewComponentView.mm +2 -0
  71. package/ios/RNMBX/RNMBXMapViewManager.swift +0 -1
  72. package/ios/RNMBX/RNMBXMapViewModule.mm +0 -1
  73. package/ios/RNMBX/RNMBXMarkerView.swift +0 -1
  74. package/ios/RNMBX/RNMBXNativeUserLocation.swift +217 -21
  75. package/ios/RNMBX/RNMBXNativeUserLocationComponentView.mm +14 -6
  76. package/ios/RNMBX/RNMBXNativeUserLocationViewManager.m +7 -0
  77. package/ios/RNMBX/RNMBXPointAnnotationModule.mm +2 -2
  78. package/ios/RNMBX/RNMBXUtils.swift +2 -7
  79. package/ios/RNMBX/RNMBXViewport.swift +220 -0
  80. package/ios/RNMBX/RNMBXViewportComponentView.h +17 -0
  81. package/ios/RNMBX/RNMBXViewportComponentView.mm +119 -0
  82. package/ios/RNMBX/RNMBXViewportManager.m +12 -0
  83. package/ios/RNMBX/RNMBXViewportManager.swift +38 -0
  84. package/ios/RNMBX/RNMBXViewportModule.h +18 -0
  85. package/ios/RNMBX/RNMBXViewportModule.mm +87 -0
  86. package/ios/RNMBX/Uitls/PropertyChanges.swift +3 -4
  87. package/ios/RNMBX/rnmapbox_maps-Swift.pre.h +3 -0
  88. package/lib/commonjs/Mapbox.js +24 -0
  89. package/lib/commonjs/Mapbox.js.map +1 -1
  90. package/lib/commonjs/classes/AnimatedCoordinatesArray.js +4 -4
  91. package/lib/commonjs/classes/AnimatedCoordinatesArray.js.map +1 -1
  92. package/lib/commonjs/classes/AnimatedPoint.js +9 -14
  93. package/lib/commonjs/classes/AnimatedPoint.js.map +1 -1
  94. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js +1 -2
  95. package/lib/commonjs/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  96. package/lib/commonjs/components/Annotation.js +1 -2
  97. package/lib/commonjs/components/Annotation.js.map +1 -1
  98. package/lib/commonjs/components/Camera.js +5 -11
  99. package/lib/commonjs/components/Camera.js.map +1 -1
  100. package/lib/commonjs/components/CustomLocationProvider.js +16 -0
  101. package/lib/commonjs/components/CustomLocationProvider.js.map +1 -0
  102. package/lib/commonjs/components/HeadingIndicator.js +3 -4
  103. package/lib/commonjs/components/HeadingIndicator.js.map +1 -1
  104. package/lib/commonjs/components/Image.js +7 -8
  105. package/lib/commonjs/components/Image.js.map +1 -1
  106. package/lib/commonjs/components/MapView.js +6 -15
  107. package/lib/commonjs/components/MapView.js.map +1 -1
  108. package/lib/commonjs/components/NativeBridgeComponent.js +3 -4
  109. package/lib/commonjs/components/NativeBridgeComponent.js.map +1 -1
  110. package/lib/commonjs/components/NativeUserLocation.js +23 -1
  111. package/lib/commonjs/components/NativeUserLocation.js.map +1 -1
  112. package/lib/commonjs/components/UserLocation.js +3 -4
  113. package/lib/commonjs/components/UserLocation.js.map +1 -1
  114. package/lib/commonjs/components/Viewport.js +105 -0
  115. package/lib/commonjs/components/Viewport.js.map +1 -0
  116. package/lib/commonjs/modules/location/locationManager.js +1 -2
  117. package/lib/commonjs/modules/location/locationManager.js.map +1 -1
  118. package/lib/commonjs/modules/snapshot/SnapshotOptions.js +1 -2
  119. package/lib/commonjs/modules/snapshot/SnapshotOptions.js.map +1 -1
  120. package/lib/commonjs/modules/snapshot/snapshotManager.js +1 -2
  121. package/lib/commonjs/modules/snapshot/snapshotManager.js.map +1 -1
  122. package/lib/commonjs/specs/NativeRNMBXViewportModule.js +10 -0
  123. package/lib/commonjs/specs/NativeRNMBXViewportModule.js.map +1 -0
  124. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js +11 -0
  125. package/lib/commonjs/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  126. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js +1 -0
  127. package/lib/commonjs/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  128. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js +36 -0
  129. package/lib/commonjs/specs/RNMBXViewportNativeComponent.js.map +1 -0
  130. package/lib/commonjs/utils/deprecation.js +3 -4
  131. package/lib/commonjs/utils/deprecation.js.map +1 -1
  132. package/lib/commonjs/utils/geoUtils.js +1 -3
  133. package/lib/commonjs/utils/geoUtils.js.map +1 -1
  134. package/lib/commonjs/utils/index.js +2 -4
  135. package/lib/commonjs/utils/index.js.map +1 -1
  136. package/lib/commonjs/web/components/Camera.js +1 -3
  137. package/lib/commonjs/web/components/Camera.js.map +1 -1
  138. package/lib/module/Mapbox.js +3 -0
  139. package/lib/module/Mapbox.js.map +1 -1
  140. package/lib/module/classes/AnimatedCoordinatesArray.js +4 -4
  141. package/lib/module/classes/AnimatedCoordinatesArray.js.map +1 -1
  142. package/lib/module/classes/AnimatedPoint.js +9 -14
  143. package/lib/module/classes/AnimatedPoint.js.map +1 -1
  144. package/lib/module/classes/AnimatedRouteCoordinatesArray.js +1 -2
  145. package/lib/module/classes/AnimatedRouteCoordinatesArray.js.map +1 -1
  146. package/lib/module/components/Annotation.js +1 -2
  147. package/lib/module/components/Annotation.js.map +1 -1
  148. package/lib/module/components/Camera.js +5 -11
  149. package/lib/module/components/Camera.js.map +1 -1
  150. package/lib/module/components/CustomLocationProvider.js +7 -0
  151. package/lib/module/components/CustomLocationProvider.js.map +1 -0
  152. package/lib/module/components/HeadingIndicator.js +3 -4
  153. package/lib/module/components/HeadingIndicator.js.map +1 -1
  154. package/lib/module/components/Image.js +7 -8
  155. package/lib/module/components/Image.js.map +1 -1
  156. package/lib/module/components/MapView.js +6 -15
  157. package/lib/module/components/MapView.js.map +1 -1
  158. package/lib/module/components/NativeBridgeComponent.js +3 -4
  159. package/lib/module/components/NativeBridgeComponent.js.map +1 -1
  160. package/lib/module/components/NativeUserLocation.js +24 -2
  161. package/lib/module/components/NativeUserLocation.js.map +1 -1
  162. package/lib/module/components/UserLocation.js +3 -4
  163. package/lib/module/components/UserLocation.js.map +1 -1
  164. package/lib/module/components/Viewport.js +96 -0
  165. package/lib/module/components/Viewport.js.map +1 -0
  166. package/lib/module/modules/location/locationManager.js +1 -2
  167. package/lib/module/modules/location/locationManager.js.map +1 -1
  168. package/lib/module/modules/snapshot/SnapshotOptions.js +1 -2
  169. package/lib/module/modules/snapshot/SnapshotOptions.js.map +1 -1
  170. package/lib/module/modules/snapshot/snapshotManager.js +1 -2
  171. package/lib/module/modules/snapshot/snapshotManager.js.map +1 -1
  172. package/lib/module/specs/NativeRNMBXViewportModule.js +6 -0
  173. package/lib/module/specs/NativeRNMBXViewportModule.js.map +1 -0
  174. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js +6 -0
  175. package/lib/module/specs/RNMBXCustomLocationProviderNativeComponent.js.map +1 -0
  176. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js +3 -0
  177. package/lib/module/specs/RNMBXNativeUserLocationNativeComponent.js.map +1 -1
  178. package/lib/module/specs/RNMBXViewportNativeComponent.js +31 -0
  179. package/lib/module/specs/RNMBXViewportNativeComponent.js.map +1 -0
  180. package/lib/module/utils/deprecation.js +3 -4
  181. package/lib/module/utils/deprecation.js.map +1 -1
  182. package/lib/module/utils/geoUtils.js +1 -3
  183. package/lib/module/utils/geoUtils.js.map +1 -1
  184. package/lib/module/utils/index.js +2 -4
  185. package/lib/module/utils/index.js.map +1 -1
  186. package/lib/module/web/components/Camera.js +1 -3
  187. package/lib/module/web/components/Camera.js.map +1 -1
  188. package/lib/typescript/src/Mapbox.d.ts +3 -0
  189. package/lib/typescript/src/Mapbox.d.ts.map +1 -1
  190. package/lib/typescript/src/components/Camera.d.ts +1 -2
  191. package/lib/typescript/src/components/Camera.d.ts.map +1 -1
  192. package/lib/typescript/src/components/CustomLocationProvider.d.ts +8 -0
  193. package/lib/typescript/src/components/CustomLocationProvider.d.ts.map +1 -0
  194. package/lib/typescript/src/components/NativeUserLocation.d.ts +40 -0
  195. package/lib/typescript/src/components/NativeUserLocation.d.ts.map +1 -1
  196. package/lib/typescript/src/components/UserLocation.d.ts +1 -0
  197. package/lib/typescript/src/components/UserLocation.d.ts.map +1 -1
  198. package/lib/typescript/src/components/Viewport.d.ts +68 -0
  199. package/lib/typescript/src/components/Viewport.d.ts.map +1 -0
  200. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts +36 -0
  201. package/lib/typescript/src/specs/NativeRNMBXViewportModule.d.ts.map +1 -0
  202. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts +10 -0
  203. package/lib/typescript/src/specs/RNMBXCustomLocationProviderNativeComponent.d.ts.map +1 -0
  204. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts +11 -2
  205. package/lib/typescript/src/specs/RNMBXNativeUserLocationNativeComponent.d.ts.map +1 -1
  206. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts +47 -0
  207. package/lib/typescript/src/specs/RNMBXViewportNativeComponent.d.ts.map +1 -0
  208. package/lib/typescript/src/types/Position.d.ts +3 -0
  209. package/lib/typescript/src/types/Position.d.ts.map +1 -1
  210. package/package.json +1 -1
  211. package/rnmapbox-maps.podspec +1 -1
  212. package/setup-jest.js +6 -0
  213. package/src/Mapbox.ts +3 -0
  214. package/src/components/Camera.tsx +1 -2
  215. package/src/components/CustomLocationProvider.tsx +14 -0
  216. package/src/components/NativeUserLocation.tsx +69 -2
  217. package/src/components/UserLocation.tsx +1 -0
  218. package/src/components/Viewport.tsx +250 -0
  219. package/src/specs/NativeRNMBXViewportModule.ts +41 -0
  220. package/src/specs/RNMBXCustomLocationProviderNativeComponent.ts +17 -0
  221. package/src/specs/RNMBXNativeUserLocationNativeComponent.ts +15 -2
  222. package/src/specs/RNMBXViewportNativeComponent.ts +102 -0
  223. package/src/types/Position.ts +3 -0
  224. package/android/src/main/java/com/rnmapbox/rnmbx/components/AbstractEvent.java +0 -35
  225. package/android/src/main/java/com/rnmapbox/rnmbx/events/constants/EventKeys.java +0 -39
@@ -1,7 +1,9 @@
1
1
  package com.rnmapbox.rnmbx.v11compat.image;
2
2
 
3
3
  import android.content.Context
4
+ import android.content.res.Resources
4
5
  import android.graphics.Bitmap
6
+ import android.graphics.drawable.BitmapDrawable
5
7
  import android.graphics.drawable.Drawable
6
8
  import android.graphics.drawable.VectorDrawable
7
9
  import androidx.annotation.DrawableRes
@@ -9,7 +11,6 @@ import androidx.appcompat.content.res.AppCompatResources
9
11
  import com.mapbox.maps.Image
10
12
  import com.mapbox.maps.Style
11
13
  import com.rnmapbox.rnmbx.components.images.ImageInfo
12
- import com.rnmapbox.rnmbx.components.images.addBitmapImage
13
14
  import java.nio.ByteBuffer
14
15
 
15
16
  typealias ImageHolder = Drawable;
@@ -26,6 +27,10 @@ fun VectorDrawable.toBitmapImageHolder(): Drawable {
26
27
  return this
27
28
  }
28
29
 
30
+ fun BitmapDrawable.toBitmapImageHolder(): ImageHolder {
31
+ return this
32
+ }
33
+
29
34
  fun emptyImage(width: Int, height: Int): Image {
30
35
  return Image(width, height, ByteArray(width * height * 4) /* ByteBuffer.allocateDirect(width * height * 4).array()*/)
31
36
  }
@@ -51,3 +56,14 @@ class AppCompatResourcesV11 {
51
56
  }
52
57
  }
53
58
  }
59
+
60
+ fun Image.toDrawable(): Drawable {
61
+ val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
62
+ bitmap.copyPixelsFromBuffer(ByteBuffer.wrap(data))
63
+
64
+ return BitmapDrawable(Resources.getSystem(), bitmap)
65
+ }
66
+
67
+ fun Image.toImageHolder(): ImageHolder {
68
+ return toDrawable()
69
+ }
@@ -3,35 +3,32 @@ package com.rnmapbox.rnmbx.v11compat.location;
3
3
  import android.Manifest.permission.ACCESS_COARSE_LOCATION
4
4
  import android.Manifest.permission.ACCESS_FINE_LOCATION
5
5
  import android.content.Context
6
- import android.location.LocationManager
7
6
  import android.os.Looper
8
7
  import androidx.annotation.RequiresPermission
9
8
  import com.mapbox.maps.MapView
10
9
  import com.mapbox.maps.plugin.PuckBearingSource
11
10
  import com.mapbox.maps.plugin.locationcomponent.LocationComponentPlugin2
12
11
  import com.mapbox.maps.plugin.locationcomponent.location2 as _location2
13
-
14
-
15
12
  import com.mapbox.android.core.location.LocationEngineResult as _LocationEngineResult
16
-
17
13
  import com.mapbox.android.core.location.LocationEngine as _LocationEngine
18
14
  import com.mapbox.android.core.location.LocationEngineCallback as _LocationEngineCallback
19
15
  import com.mapbox.android.core.location.LocationEngineRequest
20
16
  import com.mapbox.android.core.location.LocationEngineProvider
21
- import com.mapbox.common.location.LocationService
22
- import com.mapbox.common.location.LocationUpdatesReceiver
23
- import com.mapbox.common.location.LocationServiceFactory
24
17
 
25
18
 
26
19
  import android.location.Location as _Location
27
- //import com.mapbox.common.location.Location as _Location
28
20
 
29
21
  typealias Location = _Location;
30
- typealias PuckBearingSource = com.mapbox.maps.plugin.PuckBearingSource
22
+ typealias PuckBearing = PuckBearingSource
31
23
 
32
24
  val MapView.location2 : LocationComponentPlugin2
33
25
  get() = _location2
34
26
 
27
+
28
+ var LocationComponentPlugin2.puckBearing: PuckBearingSource
29
+ get() = this.puckBearingSource
30
+ set(value) { puckBearingSource = value }
31
+
35
32
  typealias LocationEngine = _LocationEngine
36
33
  typealias LocationEngineResult = _LocationEngineResult
37
34
  typealias LocationEngineCallback = _LocationEngineCallback<LocationEngineResult>
@@ -1,4 +1,32 @@
1
1
  package com.rnmapbox.rnmbx.v11compat.annotation;
2
2
 
3
+ import android.view.View
4
+ import com.mapbox.geojson.Geometry
5
+ import com.mapbox.geojson.Point
6
+ import com.mapbox.maps.ScreenCoordinate
7
+ import com.mapbox.maps.ViewAnnotationAnchorConfig
8
+ import com.mapbox.maps.ViewAnnotationOptions
9
+ import com.mapbox.maps.viewannotation.geometry as _geometry
10
+
11
+ import com.mapbox.maps.viewannotation.OnViewAnnotationUpdatedListener as _OnViewAnnotationUpdatedListener
12
+
13
+
14
+
3
15
  public const val INVALID_ANNOTATION_ID = ""
4
- typealias AnnotationID = String
16
+ typealias AnnotationID = String
17
+
18
+
19
+ fun ViewAnnotationOptions.Builder.geometry(point: Geometry): ViewAnnotationOptions.Builder {
20
+ return _geometry(point)
21
+ }
22
+
23
+ fun ViewAnnotationOptions.Builder.offsets(x: Double, y: Double) {
24
+ this.variableAnchors(listOf(
25
+ ViewAnnotationAnchorConfig.Builder().offsetY(x).offsetY(y).build()
26
+ ))
27
+ }
28
+
29
+
30
+ abstract class OnViewAnnotationUpdatedListener : _OnViewAnnotationUpdatedListener {
31
+
32
+ }
@@ -0,0 +1,3 @@
1
+ package com.rnmapbox.rnmbx.v11compat
2
+
3
+ typealias Cancelable = com.mapbox.common.Cancelable;
@@ -1,11 +1,12 @@
1
1
  package com.rnmapbox.rnmbx.v11compat.image;
2
2
 
3
3
  import android.content.Context
4
+ import android.content.res.Resources
4
5
  import android.graphics.Bitmap
6
+ import android.graphics.drawable.BitmapDrawable
5
7
  import android.graphics.drawable.Drawable
6
8
  import android.graphics.drawable.VectorDrawable
7
9
  import androidx.annotation.DrawableRes
8
- import androidx.appcompat.content.res.AppCompatResources
9
10
  import androidx.core.graphics.drawable.toBitmap
10
11
  import com.mapbox.bindgen.DataRef
11
12
  import com.mapbox.maps.Image
@@ -37,6 +38,10 @@ fun VectorDrawable.toBitmapImageHolder(): ImageHolder {
37
38
  return ImageHolder.from(this.toBitmap())
38
39
  }
39
40
 
41
+ fun BitmapDrawable.toBitmapImageHolder(): ImageHolder {
42
+ return ImageHolder.from(this.toBitmap())
43
+ }
44
+
40
45
  class AppCompatResourcesV11 {
41
46
  companion object {
42
47
  fun getDrawableImageHolder(context: Context, @DrawableRes resId: Int) : ImageHolder? {
@@ -66,3 +71,18 @@ fun emptyImage(width: Int, height: Int): Image {
66
71
  width, height, DataRef.allocateNative(width * height * 4)
67
72
  )
68
73
  }
74
+
75
+ fun Image.toDrawable(): Drawable {
76
+ val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
77
+ bitmap.copyPixelsFromBuffer(data.buffer)
78
+
79
+ return BitmapDrawable(Resources.getSystem(), bitmap)
80
+ }
81
+
82
+ fun Image.toImageHolder(): ImageHolder {
83
+ val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
84
+ bitmap.copyPixelsFromBuffer(data.buffer)
85
+
86
+ return ImageHolder.from(bitmap)
87
+ }
88
+
@@ -8,7 +8,7 @@ import com.mapbox.common.location.IntervalSettings
8
8
  import com.mapbox.common.location.LocationObserver
9
9
  import com.mapbox.common.location.Location as _Location
10
10
  import com.mapbox.maps.MapView
11
- import com.mapbox.maps.plugin.PuckBearing
11
+ import com.mapbox.maps.plugin.PuckBearing as _PuckBearing
12
12
  import com.mapbox.maps.plugin.locationcomponent.LocationComponentPlugin
13
13
  import com.mapbox.maps.plugin.locationcomponent.location
14
14
 
@@ -19,7 +19,7 @@ import com.mapbox.common.location.LocationServiceFactory
19
19
  import com.rnmapbox.rnmbx.utils.Logger
20
20
  import kotlin.math.absoluteValue
21
21
 
22
- typealias PuckBearingSource = PuckBearing
22
+ typealias PuckBearing = _PuckBearing
23
23
 
24
24
  const val DEFAULT_FASTEST_INTERVAL_MILLIS: Long = 1000
25
25
  const val DEFAULT_INTERVAL_MILLIS: Long = 1000
@@ -0,0 +1,32 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.DynamicFromObject;
15
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
+ import com.facebook.react.uimanager.BaseViewManagerInterface;
17
+
18
+ public class RNMBXCustomLocationProviderManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXCustomLocationProviderManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
+ public RNMBXCustomLocationProviderManagerDelegate(U viewManager) {
20
+ super(viewManager);
21
+ }
22
+ @Override
23
+ public void setProperty(T view, String propName, @Nullable Object value) {
24
+ switch (propName) {
25
+ case "coordinate":
26
+ mViewManager.setCoordinate(view, new DynamicFromObject(value));
27
+ break;
28
+ default:
29
+ super.setProperty(view, propName, value);
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import com.facebook.react.bridge.Dynamic;
14
+
15
+ public interface RNMBXCustomLocationProviderManagerInterface<T extends View> {
16
+ void setCoordinate(T view, Dynamic value);
17
+ }
@@ -25,8 +25,26 @@ public class RNMBXNativeUserLocationManagerDelegate<T extends View, U extends Ba
25
25
  case "androidRenderMode":
26
26
  mViewManager.setAndroidRenderMode(view, new DynamicFromObject(value));
27
27
  break;
28
- case "iosShowsUserHeadingIndicator":
29
- mViewManager.setIosShowsUserHeadingIndicator(view, new DynamicFromObject(value));
28
+ case "puckBearing":
29
+ mViewManager.setPuckBearing(view, new DynamicFromObject(value));
30
+ break;
31
+ case "puckBearingEnabled":
32
+ mViewManager.setPuckBearingEnabled(view, new DynamicFromObject(value));
33
+ break;
34
+ case "bearingImage":
35
+ mViewManager.setBearingImage(view, new DynamicFromObject(value));
36
+ break;
37
+ case "shadowImage":
38
+ mViewManager.setShadowImage(view, new DynamicFromObject(value));
39
+ break;
40
+ case "topImage":
41
+ mViewManager.setTopImage(view, new DynamicFromObject(value));
42
+ break;
43
+ case "scale":
44
+ mViewManager.setScale(view, new DynamicFromObject(value));
45
+ break;
46
+ case "visible":
47
+ mViewManager.setVisible(view, value == null ? false : (boolean) value);
30
48
  break;
31
49
  default:
32
50
  super.setProperty(view, propName, value);
@@ -14,5 +14,11 @@ import com.facebook.react.bridge.Dynamic;
14
14
 
15
15
  public interface RNMBXNativeUserLocationManagerInterface<T extends View> {
16
16
  void setAndroidRenderMode(T view, Dynamic value);
17
- void setIosShowsUserHeadingIndicator(T view, Dynamic value);
17
+ void setPuckBearing(T view, Dynamic value);
18
+ void setPuckBearingEnabled(T view, Dynamic value);
19
+ void setBearingImage(T view, Dynamic value);
20
+ void setShadowImage(T view, Dynamic value);
21
+ void setTopImage(T view, Dynamic value);
22
+ void setScale(T view, Dynamic value);
23
+ void setVisible(T view, boolean value);
18
24
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaDelegate.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import androidx.annotation.Nullable;
14
+ import com.facebook.react.bridge.DynamicFromObject;
15
+ import com.facebook.react.uimanager.BaseViewManagerDelegate;
16
+ import com.facebook.react.uimanager.BaseViewManagerInterface;
17
+
18
+ public class RNMBXViewportManagerDelegate<T extends View, U extends BaseViewManagerInterface<T> & RNMBXViewportManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
19
+ public RNMBXViewportManagerDelegate(U viewManager) {
20
+ super(viewManager);
21
+ }
22
+ @Override
23
+ public void setProperty(T view, String propName, @Nullable Object value) {
24
+ switch (propName) {
25
+ case "transitionsToIdleUponUserInteraction":
26
+ mViewManager.setTransitionsToIdleUponUserInteraction(view, new DynamicFromObject(value));
27
+ break;
28
+ case "hasStatusChanged":
29
+ mViewManager.setHasStatusChanged(view, value == null ? false : (boolean) value);
30
+ break;
31
+ default:
32
+ super.setProperty(view, propName, value);
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GeneratePropsJavaInterface.js
8
+ */
9
+
10
+ package com.facebook.react.viewmanagers;
11
+
12
+ import android.view.View;
13
+ import com.facebook.react.bridge.Dynamic;
14
+
15
+ public interface RNMBXViewportManagerInterface<T extends View> {
16
+ void setTransitionsToIdleUponUserInteraction(T view, Dynamic value);
17
+ void setHasStatusChanged(T view, boolean value);
18
+ }
@@ -0,0 +1,49 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJavaSpec.js
9
+ *
10
+ * @nolint
11
+ */
12
+
13
+ package com.rnmapbox.rnmbx;
14
+
15
+ import com.facebook.proguard.annotations.DoNotStrip;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
+ import com.facebook.react.bridge.ReactMethod;
20
+ import com.facebook.react.bridge.ReactModuleWithSpec;
21
+ import com.facebook.react.bridge.ReadableMap;
22
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
23
+ import javax.annotation.Nonnull;
24
+ import javax.annotation.Nullable;
25
+
26
+ public abstract class NativeRNMBXViewportModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
27
+ public static final String NAME = "RNMBXViewportModule";
28
+
29
+ public NativeRNMBXViewportModuleSpec(ReactApplicationContext reactContext) {
30
+ super(reactContext);
31
+ }
32
+
33
+ @Override
34
+ public @Nonnull String getName() {
35
+ return NAME;
36
+ }
37
+
38
+ @ReactMethod
39
+ @DoNotStrip
40
+ public abstract void getState(@Nullable Double viewRef, Promise promise);
41
+
42
+ @ReactMethod
43
+ @DoNotStrip
44
+ public abstract void transitionTo(@Nullable Double viewRef, ReadableMap state, ReadableMap transition, Promise promise);
45
+
46
+ @ReactMethod
47
+ @DoNotStrip
48
+ public abstract void idle(@Nullable Double viewRef, Promise promise);
49
+ }
@@ -0,0 +1,41 @@
1
+ import MapboxMaps
2
+ /**
3
+ ImageManager helps to resolve images defined by any of RNMBXImages component.
4
+ */
5
+ class ImageManager {
6
+ typealias Resolver = (String, UIImage) -> Void
7
+ var subscriptions: [String: [Subscription]] = [:]
8
+
9
+ class Subscription : Cancelable {
10
+ var name: String
11
+ var resolved: Resolver
12
+ weak var manager: ImageManager?
13
+
14
+ init(name: String, resolved: @escaping Resolver) {
15
+ self.name = name
16
+ self.resolved = resolved
17
+ }
18
+
19
+ func cancel() {
20
+ manager?.unsubscript(subscription: self)
21
+ }
22
+ }
23
+
24
+ func subscribe(name: String, resolved: @escaping Resolver) -> Subscription {
25
+ var subscription = Subscription(name: name, resolved: resolved)
26
+ var list = subscriptions[name] ?? []
27
+ list.append(subscription)
28
+ subscriptions[name] = list
29
+ return subscription
30
+ }
31
+
32
+ func unsubscript(subscription: Subscription) {
33
+ var list = subscriptions[subscription.name] ?? []
34
+ list.removeAll { $0 === subscription }
35
+ subscriptions[subscription.name] = list
36
+ }
37
+
38
+ func resolve(name: String, image: UIImage) {
39
+ subscriptions[name]?.forEach { $0.resolved(name, image) }
40
+ }
41
+ }