Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXAtmosphereComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#import "RNMBXFabricHelpers.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXAtmosphere alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];

self.contentView = _view;
}
Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXBackgroundLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#import "RNMBXFabricHelpers.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXBackgroundLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
8 changes: 8 additions & 0 deletions ios/RNMBX/RNMBXBridgeManager.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#import <React/RCTBridge.h>

@interface RNMBXBridgeManager : NSObject

+ (void)setBridge:(RCTBridge *)bridge;
+ (RCTBridge *)currentBridge;

@end
16 changes: 16 additions & 0 deletions ios/RNMBX/RNMBXBridgeManager.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#import "RNMBXBridgeManager.h"
#import <React/RCTBridge+Private.h>

static __weak RCTBridge *_rnmbxBridge = nil;

@implementation RNMBXBridgeManager

+ (void)setBridge:(RCTBridge *)bridge {
_rnmbxBridge = bridge;
}

+ (RCTBridge *)currentBridge {
return [RCTBridge currentBridge] ?: _rnmbxBridge;
}

@end
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXCircleLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXCircleLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXFillExtrusionLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXFillExtrusionLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXFillLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXFillLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXHeatmapLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXHeatmapLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}
#pragma mark - RCTComponentViewProtocol
Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXHillshadeLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXHillshadeLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
1 change: 1 addition & 0 deletions ios/RNMBX/RNMBXImageModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
@end

#endif

17 changes: 15 additions & 2 deletions ios/RNMBX/RNMBXImageModule.mm
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,28 @@

#import "RNMBXImageModule.h"
#import "RNMBXImageComponentView.h"
#import "RNMBXBridgeManager.h"

#import "rnmapbox_maps-Swift.pre.h"

@implementation RNMBXImageModule
@implementation RNMBXImageModule {
id _bridgeBacking;
}

RCT_EXPORT_MODULE();

@synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED;
@synthesize bridge = _bridge;

- (void)setBridge:(RCTBridge *)bridge {
_bridgeBacking = bridge;
if (bridge != nil) {
[RNMBXBridgeManager setBridge:bridge];
}
}

- (RCTBridge *)bridge {
return _bridgeBacking;
}

- (dispatch_queue_t)methodQueue
{
Expand Down
10 changes: 9 additions & 1 deletion ios/RNMBX/RNMBXImageQueue.swift
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,15 @@ class RNMBXImageQueueOperation : Operation {

DispatchQueue.global(qos: .default).async {
if let weakSelf = weakSelf {
let loader : RCTImageLoaderProtocol = weakSelf.bridge!.module(forName: "ImageLoader", lazilyLoadIfNecessary: true) as! RCTImageLoaderProtocol
guard let bridge = weakSelf.bridge else {
Logger.log(level: .error, message: "RNMBXImageQueue: bridge is nil, cannot load image")
if let completionHandler = weakSelf.completionHandler {
completionHandler(NSError(domain: "RNMBXImageQueue", code: 1, userInfo: [NSLocalizedDescriptionKey: "bridge is nil"]), nil)
}
_ = weakSelf.setState(state:.Finished, except:.Finished)
return
}
let loader : RCTImageLoaderProtocol = bridge.module(forName: "ImageLoader", lazilyLoadIfNecessary: true) as! RCTImageLoaderProtocol

let cancellationBlock = loader.loadImage(with: weakSelf.urlRequest, size: .zero, scale: CGFloat(weakSelf.scale), clipped: true, resizeMode: .stretch, progressBlock: { _,_ in }, partialLoad: { _ in }) { error, image in
if let completionHandler = weakSelf.completionHandler {
Expand Down
4 changes: 4 additions & 0 deletions ios/RNMBX/RNMBXImages.swift
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@ open class RNMBXImages : UIView, RNMBXMapComponent {
}

if missingImages.count > 0 {
guard let bridge = bridge else {
Logger.log(level: .error, message: "RNMBXImages: bridge is nil, cannot fetch images. Use nativeAssetImages instead.")
return
}
RNMBXUtils.fetchImages(bridge, style: style, objects: missingImages, forceUpdate: true) { name, image in
self.loadedImages.insert(name)
self.imageManager?.resolve(name: name, image: image)
Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXImagesComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "RNMBXImageComponentView.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -42,7 +43,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXImages alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];

// capture weak self reference to prevent retain cycle
__weak __typeof__(self) weakSelf = self;
Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXLightComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#import "RNMBXFabricHelpers.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXLight alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXLineLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXLineLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXModelLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXModelLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXRainComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#import "RNMBXFabricHelpers.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXRain alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];

self.contentView = _view;
}
Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXRasterLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXRasterLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXRasterParticleLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXRasterParticleLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXSkyLayerComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>
#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"

#import <react/renderer/components/rnmapbox_maps_specs/ComponentDescriptors.h>
#import <react/renderer/components/rnmapbox_maps_specs/EventEmitters.h>
Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXSkyLayer alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];
self.contentView = _view;
}

Expand Down
3 changes: 2 additions & 1 deletion ios/RNMBX/RNMBXSnowComponentView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#import "RNMBXFabricHelpers.h"

#import <React/RCTBridge+Private.h>
#import "RNMBXBridgeManager.h"
#import <React/RCTConversions.h>
#import <React/RCTFabricComponentsPlugins.h>

Expand Down Expand Up @@ -40,7 +41,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)prepareView
{
_view = [[RNMBXSnow alloc] init];
_view.bridge = [RCTBridge currentBridge];
_view.bridge = [RNMBXBridgeManager currentBridge];

self.contentView = _view;
}
Expand Down
Loading
Loading