From 03b5b133b8a0c49fd4732bcfc2f4dc6908d3c53a Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Fri, 9 Aug 2019 07:47:34 -0700 Subject: [PATCH] Migrate androidDevice dispatcher from js to tsx Summary: As per the title Reviewed By: jknoxville Differential Revision: D16689714 fbshipit-source-id: 1ff415a89b4ac91ffd4a23e8b50ec9fedfeea40e --- .../{androidDevice.js => androidDevice.tsx} | 24 +++++++++++-------- src/dispatcher/index.js | 2 +- src/utils/listDevices.js | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) rename src/dispatcher/{androidDevice.js => androidDevice.tsx} (91%) diff --git a/src/dispatcher/androidDevice.js b/src/dispatcher/androidDevice.tsx similarity index 91% rename from src/dispatcher/androidDevice.js rename to src/dispatcher/androidDevice.tsx index 0090bd6e6..b4f26a408 100644 --- a/src/dispatcher/androidDevice.js +++ b/src/dispatcher/androidDevice.tsx @@ -5,21 +5,21 @@ * @format */ -import AndroidDevice from '../devices/AndroidDevice.tsx'; +import AndroidDevice from '../devices/AndroidDevice'; import child_process from 'child_process'; -import type {Store} from '../reducers/index.tsx'; -import type BaseDevice from '../devices/BaseDevice.tsx'; -import type {Logger} from '../fb-interfaces/Logger.js'; +import {Store} from '../reducers/index'; +import BaseDevice from '../devices/BaseDevice'; +import {Logger} from '../fb-interfaces/Logger.js'; import {registerDeviceCallbackOnPlugins} from '../utils/onRegisterDevice.js'; import {getAdbClient} from '../utils/adbClient'; import {default as which} from 'which'; import {promisify} from 'util'; -import type {ServerPorts} from '../reducers/application.tsx'; +import {ServerPorts} from '../reducers/application'; function createDevice( adbClient: any, device: any, - ports: ?ServerPorts, + ports?: ServerPorts, ): Promise { return new Promise((resolve, reject) => { const type = @@ -49,7 +49,9 @@ export async function getActiveAndroidDevices(): Promise> { ); } -function getRunningEmulatorName(id: string): Promise { +function getRunningEmulatorName( + id: string, +): Promise { return new Promise((resolve, reject) => { const port = id.replace('emulator-', ''); // The GNU version of netcat doesn't terminate after 1s when @@ -59,7 +61,7 @@ function getRunningEmulatorName(id: string): Promise { child_process.exec( `echo "avd name" | nc -w 1 localhost ${port}`, {timeout: 1000, encoding: 'utf-8'}, - (error: ?Error, data) => { + (error: Error | null | undefined, data) => { if (data != null && typeof data === 'string') { const match = data.trim().match(/(.*)\r\nOK$/); resolve(match != null && match.length > 0 ? match[1] : null); @@ -79,7 +81,7 @@ export default (store: Store, logger: Logger) => { .then(emulatorPath => { child_process.exec( `${emulatorPath} -list-avds`, - (error: ?Error, data: ?string) => { + (error: Error | null, data: string | null) => { if (error != null || data == null) { console.error(error || 'Failed to list AVDs'); return; @@ -102,7 +104,9 @@ export default (store: Store, logger: Logger) => { if (err.message === 'Connection closed') { // adb server has shutdown, remove all android devices const {connections} = store.getState(); - const deviceIDsToRemove: Array = connections.devices + const deviceIDsToRemove: Array< + string + > = connections.devices .filter( (device: BaseDevice) => device instanceof AndroidDevice, ) diff --git a/src/dispatcher/index.js b/src/dispatcher/index.js index 6a864e6f1..3d1fb5c82 100644 --- a/src/dispatcher/index.js +++ b/src/dispatcher/index.js @@ -5,7 +5,7 @@ * @format */ -import androidDevice from './androidDevice'; +import androidDevice from './androidDevice.tsx'; import iOSDevice from './iOSDevice'; import desktopDevice from './desktopDevice'; import application from './application'; diff --git a/src/utils/listDevices.js b/src/utils/listDevices.js index 5904436f9..77823001b 100644 --- a/src/utils/listDevices.js +++ b/src/utils/listDevices.js @@ -4,7 +4,7 @@ * LICENSE file in the root directory of this source tree. * @format */ -import {getActiveAndroidDevices} from '../dispatcher/androidDevice'; +import {getActiveAndroidDevices} from '../dispatcher/androidDevice.tsx'; import {getActiveDevicesAndSimulators} from '../dispatcher/iOSDevice'; import type BaseDevice from '../devices/BaseDevice.tsx';