Index: chrome/browser/resources/bluetooth_internals/bluetooth_internals.js |
diff --git a/chrome/browser/resources/bluetooth_internals/bluetooth_internals.js b/chrome/browser/resources/bluetooth_internals/bluetooth_internals.js |
index 402f216bac3ea98800cc5905f8aacd188eef124e..6f22d96aa26062d072a0822a1c9971a86a4e090e 100644 |
--- a/chrome/browser/resources/bluetooth_internals/bluetooth_internals.js |
+++ b/chrome/browser/resources/bluetooth_internals/bluetooth_internals.js |
@@ -33,6 +33,7 @@ |
devices[device.address] = new Device(); |
devices[device.address].info = device; |
setDeviceClient(device); |
+ refreshDeviceList(); |
}, |
/** |
@@ -42,6 +43,7 @@ |
deviceRemoved: function(device) { |
console.log('Device removed', device); |
delete devices[device.address]; |
+ refreshDeviceList(); |
} |
}; |
@@ -64,6 +66,7 @@ |
devices[advertisingPacket.device.address].info.rssi = |
advertisingPacket.rssi; |
} |
+ refreshDeviceList(); |
} |
}; |
@@ -174,6 +177,26 @@ |
}); |
} |
+ /** |
+ * Updates the device list with the current devices from the |devices| |
+ * dictionary. |
+ */ |
+ function refreshDeviceList() { |
+ var deviceRowTemplate = $('device-row-template'); |
+ var deviceList = $('device-list'); |
+ deviceList.innerHTML = ''; |
+ |
+ for (var address in devices) { |
+ var info = devices[address].info; |
+ var deviceRow = deviceRowTemplate.content.cloneNode(true); |
+ deviceRow.querySelector('.device-name').innerText = |
+ info.name_for_display; |
+ deviceRow.querySelector('.device-address').innerText = info.address; |
+ deviceRow.querySelector('.device-rssi').innerText = info.rssi || '0'; |
+ deviceList.appendChild(deviceRow); |
+ } |
+ } |
+ |
document.addEventListener('DOMContentLoaded', function() { |
initializeProxies() |
.then(function() { return adapter.getInfo(); }) |
@@ -185,11 +208,11 @@ |
response.devices.forEach(function(deviceInfo) { |
devices[deviceInfo.address] = new Device(); |
devices[deviceInfo.address].info = deviceInfo; |
- console.log(deviceInfo.name_for_display, deviceInfo); |
}); |
return Promise.all(response.devices.map(setDeviceClient)); |
}) |
+ .then(refreshDeviceList) |
.catch(function(error) { console.error(error); }); |
}); |
})(); |