diff options
-rw-r--r-- | bluetooth.js | 7 | ||||
-rw-r--r-- | extension.js | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/bluetooth.js b/bluetooth.js index a8ed5e0..7472b07 100644 --- a/bluetooth.js +++ b/bluetooth.js @@ -31,7 +31,12 @@ var BluetoothController = class { this._connectSignal(this._model, 'row-changed', (arg0, arg1, iter) => { if (iter) { let device = this._buildDevice(iter); - this.emit('device-changed', device); + if (device.isDefault) { + this.emit('default-adapter-changed', device); + } + else { + this.emit('device-changed', device); + } } }); diff --git a/extension.js b/extension.js index bf89429..f154581 100644 --- a/extension.js +++ b/extension.js @@ -82,6 +82,11 @@ class BluetoothQuickConnect { _connectControllerSignals() { this._logger.info('Connecting bluetooth controller signals'); + this._connectSignal(this._controller, 'default-adapter-changed', (ctrl) => { + this._logger.info('Default adapter changed event'); + this._refresh(); + }); + this._connectSignal(this._controller, 'device-inserted', (ctrl, device) => { this._logger.info(`Device inserted event: ${device.name}`); if (device.isPaired) { @@ -93,9 +98,7 @@ class BluetoothQuickConnect { this._connectSignal(this._controller, 'device-changed', (ctrl, device) => { this._logger.info(`Device changed event: ${device.name}`); - if (device.isDefault) - this._refresh(); - else if (device.isPaired) + if (device.isPaired) this._syncMenuItem(device); else this._logger.info(`Skipping change event for unpaired device ${device.name}`); |