Make androidDevice strict
Summary: _typescript_ Reviewed By: jknoxville Differential Revision: D17282814 fbshipit-source-id: ebf4293c973e8c866fa3c2c5cb8f0f6b42b8ae01
This commit is contained in:
committed by
Facebook Github Bot
parent
4f6bae7cbf
commit
428f6b4fc1
@@ -15,6 +15,7 @@ import {getAdbClient} from '../utils/adbClient';
|
|||||||
import {default as which} from 'which';
|
import {default as which} from 'which';
|
||||||
import {promisify} from 'util';
|
import {promisify} from 'util';
|
||||||
import {ServerPorts} from '../reducers/application';
|
import {ServerPorts} from '../reducers/application';
|
||||||
|
import {EventEmitter} from 'events';
|
||||||
|
|
||||||
function createDevice(
|
function createDevice(
|
||||||
adbClient: any,
|
adbClient: any,
|
||||||
@@ -27,23 +28,30 @@ function createDevice(
|
|||||||
? 'emulator'
|
? 'emulator'
|
||||||
: 'physical';
|
: 'physical';
|
||||||
|
|
||||||
adbClient.getProperties(device.id).then(async props => {
|
adbClient
|
||||||
let name = props['ro.product.model'];
|
.getProperties(device.id)
|
||||||
if (type === 'emulator') {
|
.then(async (props: {[key: string]: string}) => {
|
||||||
name = (await getRunningEmulatorName(device.id)) || name;
|
let name = props['ro.product.model'];
|
||||||
}
|
if (type === 'emulator') {
|
||||||
const androidDevice = new AndroidDevice(device.id, type, name, adbClient);
|
name = (await getRunningEmulatorName(device.id)) || name;
|
||||||
if (ports) {
|
}
|
||||||
androidDevice.reverse([ports.secure, ports.insecure]);
|
const androidDevice = new AndroidDevice(
|
||||||
}
|
device.id,
|
||||||
resolve(androidDevice);
|
type,
|
||||||
});
|
name,
|
||||||
|
adbClient,
|
||||||
|
);
|
||||||
|
if (ports) {
|
||||||
|
androidDevice.reverse([ports.secure, ports.insecure]);
|
||||||
|
}
|
||||||
|
resolve(androidDevice);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getActiveAndroidDevices(): Promise<Array<BaseDevice>> {
|
export async function getActiveAndroidDevices(): Promise<Array<BaseDevice>> {
|
||||||
const client = await getAdbClient();
|
const client = await getAdbClient();
|
||||||
const androidDevices = await client.listDevices();
|
const androidDevices: Array<AndroidDevice> = await client.listDevices();
|
||||||
return await Promise.all(
|
return await Promise.all(
|
||||||
androidDevices.map(device => createDevice(client, device)),
|
androidDevices.map(device => createDevice(client, device)),
|
||||||
);
|
);
|
||||||
@@ -99,7 +107,7 @@ export default (store: Store, logger: Logger) => {
|
|||||||
.then(client => {
|
.then(client => {
|
||||||
client
|
client
|
||||||
.trackDevices()
|
.trackDevices()
|
||||||
.then(tracker => {
|
.then((tracker: EventEmitter) => {
|
||||||
tracker.on('error', err => {
|
tracker.on('error', err => {
|
||||||
if (err.message === 'Connection closed') {
|
if (err.message === 'Connection closed') {
|
||||||
// adb server has shutdown, remove all android devices
|
// adb server has shutdown, remove all android devices
|
||||||
@@ -138,7 +146,7 @@ export default (store: Store, logger: Logger) => {
|
|||||||
unregisterDevices([device.id]);
|
unregisterDevices([device.id]);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch((err: {code: string}) => {
|
||||||
if (err.code === 'ECONNREFUSED') {
|
if (err.code === 'ECONNREFUSED') {
|
||||||
// adb server isn't running
|
// adb server isn't running
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user