Crash reporter plugin

Summary: This diff adds a static function `onRegisterDevice` which is being called whenever an  device gets registered. This callback is used to add loglisterner for android. I even moved the logic of iOS from `onRegisterPlugin` to this callback. The reason for not adding android log listener in `onRegisterPlugin` was that there were cases when baseDevice was not yet registered before calling `onRegisterPlugin`. For android, I want the instance of `BaseDevice` so that I can add logListener on it.

Reviewed By: danielbuechele

Differential Revision: D13563282

fbshipit-source-id: b5be40f3dbc808bdaeabae28423c563cf2345a22
This commit is contained in:
Pritesh Nandgaonkar
2019-01-09 10:40:22 -08:00
committed by Facebook Github Bot
parent c6efea991d
commit 0048fc6e4a
7 changed files with 109 additions and 38 deletions

View File

@@ -18,7 +18,7 @@ import IOSDevice from '../devices/IOSDevice';
import iosUtil from '../fb-stubs/iOSContainerUtility';
import isProduction from '../utils/isProduction.js';
import GK from '../fb-stubs/GK';
import {registerDeviceCallbackOnPlugins} from '../utils/onRegisterDevice.js';
type iOSSimulatorDevice = {|
state: 'Booted' | 'Shutdown' | 'Shutting Down',
availability?: string,
@@ -70,10 +70,17 @@ function queryDevices(store: Store, logger: Logger): Promise<void> {
name: name,
serial: udid,
});
const iOSDevice = new IOSDevice(udid, type, name);
store.dispatch({
type: 'REGISTER_DEVICE',
payload: new IOSDevice(udid, type, name),
payload: iOSDevice,
});
registerDeviceCallbackOnPlugins(
store,
store.getState().plugins.devicePlugins,
store.getState().plugins.clientPlugins,
iOSDevice,
);
}
}