refactor BugReporting to use RCTDeviceEventEmitter
Reviewed By: sahrens Differential Revision: D3212300 fb-gh-sync-id: 3a61d620320dd1c0254bf3b836601d5bbfbc4c0d fbshipit-source-id: 3a61d620320dd1c0254bf3b836601d5bbfbc4c0d
This commit is contained in:
parent
cbdf026628
commit
7946160733
|
@ -11,8 +11,10 @@
|
|||
*/
|
||||
'use strict';
|
||||
|
||||
const BatchedBridge = require('BatchedBridge');
|
||||
const BugReportingNativeModule = require('NativeModules').BugReporting;
|
||||
const RCTDeviceEventEmitter = require('RCTDeviceEventEmitter');
|
||||
|
||||
import type {EmitterSubscription} from 'EventEmitter';
|
||||
|
||||
type ExtraData = { [key: string]: string };
|
||||
type SourceCallback = () => string;
|
||||
|
@ -26,15 +28,16 @@ type SourceCallback = () => string;
|
|||
class BugReporting {
|
||||
|
||||
static _sources: Map<string, SourceCallback> = new Map();
|
||||
static _subscription: EmitterSubscription = null;
|
||||
|
||||
/**
|
||||
* `init` is called in `AppRegistry.runApplication`, so you shouldn't have to worry about it.
|
||||
*/
|
||||
static init() {
|
||||
BatchedBridge.registerCallableModule( // idempotent
|
||||
'BugReporting',
|
||||
BugReporting,
|
||||
);
|
||||
if (!BugReporting._subscription) {
|
||||
BugReporting._subscription = RCTDeviceEventEmitter
|
||||
.addListener('collectBugExtraData', BugReporting.collectExtraData, null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue