From 8b9f30c6aeaeceb33d4405a9de3c0fe03d072137 Mon Sep 17 00:00:00 2001 From: fatme Date: Wed, 20 Mar 2019 08:45:21 +0200 Subject: [PATCH] fix: fix the "cannot read property imageIdentifier of undefined" error --- lib/common/mobile/android/android-emulator-services.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/common/mobile/android/android-emulator-services.ts b/lib/common/mobile/android/android-emulator-services.ts index 0b193cd135..0226a03a73 100644 --- a/lib/common/mobile/android/android-emulator-services.ts +++ b/lib/common/mobile/android/android-emulator-services.ts @@ -15,9 +15,11 @@ export class AndroidEmulatorServices implements Mobile.IEmulatorPlatformService const adbDevicesOutput = await this.$adb.getDevicesSafe(); const avdAvailableEmulatorsOutput = await this.$androidVirtualDeviceService.getEmulatorImages(adbDevicesOutput); const genyAvailableDevicesOutput = await this.$androidGenymotionService.getEmulatorImages(adbDevicesOutput); + const devices = _.concat(avdAvailableEmulatorsOutput.devices, genyAvailableDevicesOutput.devices) + .filter(item => !!item); return { - devices: avdAvailableEmulatorsOutput.devices.concat(genyAvailableDevicesOutput.devices), + devices, errors: avdAvailableEmulatorsOutput.errors.concat(genyAvailableDevicesOutput.errors) }; } @@ -97,10 +99,10 @@ export class AndroidEmulatorServices implements Mobile.IEmulatorPlatformService while (hasTimeLeft || isInfiniteWait) { const emulators = (await this.getEmulatorImages()).devices; - emulator = _.find(emulators, e => e.imageIdentifier === emulator.imageIdentifier); - if (emulator && this.$emulatorHelper.isEmulatorRunning(emulator)) { + const newEmulator = _.find(emulators, e => e.imageIdentifier === emulator.imageIdentifier); + if (newEmulator && this.$emulatorHelper.isEmulatorRunning(newEmulator)) { return { - runningEmulator: emulator, + runningEmulator: newEmulator, errors: [], endTimeEpoch };