Skip to content

Commit a2e638e

Browse files
committed
Move to modern event emitter
1 parent 1ac8f4f commit a2e638e

File tree

3 files changed

+21
-19
lines changed

3 files changed

+21
-19
lines changed

FS.common.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99

1010
var RNFSManager = require('react-native').NativeModules.RNFSManager;
1111

12-
var NativeAppEventEmitter = require('react-native').NativeAppEventEmitter; // iOS
13-
var DeviceEventEmitter = require('react-native').DeviceEventEmitter; // Android
12+
var NativeEventEmitter = require('react-native').NativeEventEmitter;
13+
14+
var RNFS_NativeEventEmitter = new NativeEventEmitter(RNFSManager);
15+
1416
var base64 = require('base-64');
1517
var utf8 = require('utf8');
1618
var isIOS = require('react-native').Platform.OS === 'ios';
@@ -494,15 +496,15 @@ var RNFS = {
494496
var subscriptions = [];
495497

496498
if (options.begin) {
497-
subscriptions.push(NativeAppEventEmitter.addListener('DownloadBegin-' + jobId, options.begin));
499+
subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadBegin', options.begin));
498500
}
499501

500502
if (options.progress) {
501-
subscriptions.push(NativeAppEventEmitter.addListener('DownloadProgress-' + jobId, options.progress));
503+
subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadProgress', options.progress));
502504
}
503505

504506
if (options.resumable) {
505-
subscriptions.push(NativeAppEventEmitter.addListener('DownloadResumable-' + jobId, options.resumable));
507+
subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadResumable', options.resumable));
506508
}
507509

508510
var bridgeOptions = {
@@ -547,19 +549,19 @@ var RNFS = {
547549
if (options.method && typeof options.method !== 'string') throw new Error('uploadFiles: Invalid value for property `method`');
548550

549551
if (options.begin) {
550-
subscriptions.push(NativeAppEventEmitter.addListener('UploadBegin-' + jobId, options.begin));
552+
subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadBegin', options.begin));
551553
}
552554
if (options.beginCallback && options.beginCallback instanceof Function) {
553555
// Deprecated
554-
subscriptions.push(NativeAppEventEmitter.addListener('UploadBegin-' + jobId, options.beginCallback));
556+
subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadBegin', options.beginCallback));
555557
}
556558

557559
if (options.progress) {
558-
subscriptions.push(NativeAppEventEmitter.addListener('UploadProgress-' + jobId, options.progress));
560+
subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadProgress', options.progress));
559561
}
560562
if (options.progressCallback && options.progressCallback instanceof Function) {
561563
// Deprecated
562-
subscriptions.push(NativeAppEventEmitter.addListener('UploadProgress-' + jobId, options.progressCallback));
564+
subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadProgress', options.progressCallback));
563565
}
564566

565567
var bridgeOptions = {

RNFSManager.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
//
88

99
#import <React/RCTBridgeModule.h>
10+
#import <React/RCTEventEmitter.h>
1011
#import <React/RCTLog.h>
1112

1213
typedef void (^CompletionHandler)(void);
1314

14-
@interface RNFSManager : NSObject <RCTBridgeModule>
15+
@interface RNFSManager : RCTEventEmitter <RCTBridgeModule>
1516

1617
+(void)setCompletionHandlerForIdentifier: (NSString *)identifier completionHandler: (CompletionHandler)completionHandler;
1718

RNFSManager.m

+8-9
Original file line numberDiff line numberDiff line change
@@ -508,22 +508,21 @@ + (BOOL)requiresMainQueueSetup
508508
};
509509

510510
params.beginCallback = ^(NSNumber* statusCode, NSNumber* contentLength, NSDictionary* headers) {
511-
[self.bridge.eventDispatcher sendAppEventWithName:[NSString stringWithFormat:@"DownloadBegin-%@", jobId]
512-
body:@{@"jobId": jobId,
513-
@"statusCode": statusCode,
514-
@"contentLength": contentLength,
515-
@"headers": headers ?: [NSNull null]}];
511+
[self sendEventWithName:[NSString stringWithFormat:@"DownloadBegin-%@", jobId] body:@{@"jobId": jobId,
512+
@"statusCode": statusCode,
513+
@"contentLength": contentLength,
514+
@"headers": headers ?: [NSNull null]}];
516515
};
517516

518517
params.progressCallback = ^(NSNumber* contentLength, NSNumber* bytesWritten) {
519-
[self.bridge.eventDispatcher sendAppEventWithName:[NSString stringWithFormat:@"DownloadProgress-%@", jobId]
518+
[self sendEventWithName:[NSString stringWithFormat:@"DownloadProgress-%@", jobId]
520519
body:@{@"jobId": jobId,
521520
@"contentLength": contentLength,
522521
@"bytesWritten": bytesWritten}];
523522
};
524523

525524
params.resumableCallback = ^() {
526-
[self.bridge.eventDispatcher sendAppEventWithName:[NSString stringWithFormat:@"DownloadResumable-%@", jobId] body:nil];
525+
[self sendEventWithName:[NSString stringWithFormat:@"DownloadResumable-%@", jobId] body:nil];
527526
};
528527

529528
if (!self.downloaders) self.downloaders = [[NSMutableDictionary alloc] init];
@@ -621,12 +620,12 @@ + (BOOL)requiresMainQueueSetup
621620
};
622621

623622
params.beginCallback = ^() {
624-
[self.bridge.eventDispatcher sendAppEventWithName:[NSString stringWithFormat:@"UploadBegin-%@", jobId]
623+
[self sendEventWithName:[NSString stringWithFormat:@"UploadBegin-%@", jobId]
625624
body:@{@"jobId": jobId}];
626625
};
627626

628627
params.progressCallback = ^(NSNumber* totalBytesExpectedToSend, NSNumber* totalBytesSent) {
629-
[self.bridge.eventDispatcher sendAppEventWithName:[NSString stringWithFormat:@"UploadProgress-%@", jobId]
628+
[self sendEventWithName:[NSString stringWithFormat:@"UploadProgress-%@", jobId]
630629
body:@{@"jobId": jobId,
631630
@"totalBytesExpectedToSend": totalBytesExpectedToSend,
632631
@"totalBytesSent": totalBytesSent}];

0 commit comments

Comments
 (0)