Bug 1548569 - Fire event from ADB track-devices to unblock aboutdebugging initialization r=Ola

Differential Revision: https://phabricator.services.mozilla.com/D29675

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Julian Descottes 2019-05-03 08:11:54 +00:00
Родитель c4167e27e8
Коммит aadde2aead
2 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@ -33,9 +33,11 @@ class Adb extends EventEmitter {
this._updateAdbProcess = this._updateAdbProcess.bind(this);
this._onDeviceConnected = this._onDeviceConnected.bind(this);
this._onDeviceDisconnected = this._onDeviceDisconnected.bind(this);
this._onNoDevicesDetected = this._onNoDevicesDetected.bind(this);
this._trackDevicesCommand.on("device-connected", this._onDeviceConnected);
this._trackDevicesCommand.on("device-disconnected", this._onDeviceDisconnected);
this._trackDevicesCommand.on("no-devices-detected", this._onNoDevicesDetected);
adbAddon.on("update", this._updateAdbProcess);
}
@ -126,6 +128,10 @@ class Adb extends EventEmitter {
this.updateRuntimes();
}
_onNoDevicesDetected() {
this.updateRuntimes();
}
async _getDeviceRuntimes(device) {
const socketPaths = [...await device.getRuntimeSocketPaths()];
return socketPaths.map(socketPath => new AdbRuntime(device, socketPath));

Просмотреть файл

@ -123,9 +123,14 @@ class TrackDevicesCommand extends EventEmitter {
}
_disconnectAllDevices() {
for (const [deviceId, status] of this._devices.entries()) {
if (status !== ADB_STATUS_OFFLINE) {
this.emit("device-disconnected", deviceId);
if (this._devices.size === 0) {
// If no devices were detected, fire an event to let consumer resume.
this.emit("no-devices-detected");
} else {
for (const [deviceId, status] of this._devices.entries()) {
if (status !== ADB_STATUS_OFFLINE) {
this.emit("device-disconnected", deviceId);
}
}
}
this._devices = new Map();