зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
c4167e27e8
Коммит
aadde2aead
|
@ -33,9 +33,11 @@ class Adb extends EventEmitter {
|
||||||
this._updateAdbProcess = this._updateAdbProcess.bind(this);
|
this._updateAdbProcess = this._updateAdbProcess.bind(this);
|
||||||
this._onDeviceConnected = this._onDeviceConnected.bind(this);
|
this._onDeviceConnected = this._onDeviceConnected.bind(this);
|
||||||
this._onDeviceDisconnected = this._onDeviceDisconnected.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-connected", this._onDeviceConnected);
|
||||||
this._trackDevicesCommand.on("device-disconnected", this._onDeviceDisconnected);
|
this._trackDevicesCommand.on("device-disconnected", this._onDeviceDisconnected);
|
||||||
|
this._trackDevicesCommand.on("no-devices-detected", this._onNoDevicesDetected);
|
||||||
adbAddon.on("update", this._updateAdbProcess);
|
adbAddon.on("update", this._updateAdbProcess);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,6 +128,10 @@ class Adb extends EventEmitter {
|
||||||
this.updateRuntimes();
|
this.updateRuntimes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_onNoDevicesDetected() {
|
||||||
|
this.updateRuntimes();
|
||||||
|
}
|
||||||
|
|
||||||
async _getDeviceRuntimes(device) {
|
async _getDeviceRuntimes(device) {
|
||||||
const socketPaths = [...await device.getRuntimeSocketPaths()];
|
const socketPaths = [...await device.getRuntimeSocketPaths()];
|
||||||
return socketPaths.map(socketPath => new AdbRuntime(device, socketPath));
|
return socketPaths.map(socketPath => new AdbRuntime(device, socketPath));
|
||||||
|
|
|
@ -123,9 +123,14 @@ class TrackDevicesCommand extends EventEmitter {
|
||||||
}
|
}
|
||||||
|
|
||||||
_disconnectAllDevices() {
|
_disconnectAllDevices() {
|
||||||
for (const [deviceId, status] of this._devices.entries()) {
|
if (this._devices.size === 0) {
|
||||||
if (status !== ADB_STATUS_OFFLINE) {
|
// If no devices were detected, fire an event to let consumer resume.
|
||||||
this.emit("device-disconnected", deviceId);
|
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();
|
this._devices = new Map();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче