Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5202)

Unified Diff: chrome/browser/resources/options/chromeos/system_options.js

Issue 8137003: Add display of available bluetooth devices, and mechanism for retrieving the list. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: BlueTooth -> Bluetooth. Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/chromeos/system_options.js
diff --git a/chrome/browser/resources/options/chromeos/system_options.js b/chrome/browser/resources/options/chromeos/system_options.js
index 959e8a0945c5f03aaa5a03bb599865ac9dc7bb25..53142c2b589ff2cea87d0d0eea7e88c92a897e3e 100644
--- a/chrome/browser/resources/options/chromeos/system_options.js
+++ b/chrome/browser/resources/options/chromeos/system_options.js
@@ -41,9 +41,17 @@ cr.define('options', function() {
use_24hour_clock.disabled = true;
}
+ options.system.bluetooth.BluetoothListElement.decorate(
+ $('bluetooth-device-list'));
+
// TODO (kevers) - Populate list of connected bluetooth devices.
// Set state of 'Enable bluetooth' checkbox.
- // Set state of 'Find devices' button.
+
+ $('bluetooth-find-devices').disabled = $('enable-bluetooth-label') ?
James Hawkins 2011/10/04 20:43:39 Wrap after '='.
kevers 2011/10/05 14:23:01 Done.
+ false : true;
+ $('bluetooth-find-devices').onclick = function(event) {
+ findBluetoothDevices_();
+ };
$('language-button').onclick = function(event) {
OptionsPage.navigateToPage('language');
@@ -76,6 +84,53 @@ cr.define('options', function() {
$('bluetooth-devices').hidden = false;
}
+ /**
+ * Adds an element to the list of available bluetooth devices.
+ * @param{{'deviceName': string,
+ * 'deviceId': string,
+ * 'deviceType': Constants.DEVICE_TYPE,
+ * 'deviceStatus': Constants.DEVICE_STATUS} device
+ * Decription of the bluetooth device.
+ */
+ SystemOptions.AddBluetoothDevice = function(device) {
+ $('bluetooth-device-list').appendDevice(device);
+ }
+
+ /**
+ * Hides the scanning label and icon that are used to indicate that a device
+ * search is in progress.
+ */
+ SystemOptions.NotifyBluetoothSearchComplete = function() {
+ // TODO (kevers) - reset state immediately once fake response is made
+ // asynchronously.
+ setTimeout( function() {
+ $('bluetooth-scanning-label').hidden = true;
+ $('bluetooth-scanning-icon').hidden = true;
James Hawkins 2011/10/04 20:43:39 Are these hides animated?
kevers 2011/10/05 14:23:01 No, the transition is not animated. Is there a su
kevers 2011/10/05 20:32:39 The call to setTimeout is a temporary visual hack
James Hawkins 2011/10/05 20:35:28 Yes, hides should be animated...I'm not sure about
kevers 2011/10/06 14:51:25 The hide now has a 0.25s fade animation.
+ }, 2000);
+ }
+
+ /**
+ * Scan for bluetooth devices.
+ * @private
+ */
+ function findBluetoothDevices_() {
+ console.log('Scanning for bluetooth devices.');
James Hawkins 2011/10/04 20:43:39 Remove console spam.
kevers 2011/10/05 14:23:01 Oops. My bad.
+ $('bluetooth-scanning-label').hidden = false;
+ $('bluetooth-scanning-icon').hidden = false;
+
+ // Remove devices that are not currently connected.
+ var devices = $('bluetooth-device-list').childNodes;
+ for (var i = devices.length - 1; i >= 0; i--) {
+ var device = devices.item(i);
+ var data = device.data;
+ if (!data || data.status !== 'connected')
+ $('bluetooth-device-list').removeChild(device);
+ }
+ // TODO (kevers) - Set arguments to a list of the currently connected
+ // devices.
+ chrome.send('findBluetoothDevices', []);
James Hawkins 2011/10/04 20:43:39 No need for final (empty) parameter.
kevers 2011/10/05 14:23:01 Done.
+ }
+
// Export
return {
SystemOptions: SystemOptions

Powered by Google App Engine
This is Rietveld 408576698