| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * 'settings-bluetooth-subpage' is the settings subpage for managing bluetooth | 7 * 'settings-bluetooth-subpage' is the settings subpage for managing bluetooth |
| 8 * properties and devices. | 8 * properties and devices. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 // NOTE(dbeam): even though this behavior is only used privately, it must | 11 // NOTE(dbeam): even though this behavior is only used privately, it must |
| 12 // be globally accessible for Closure's --polymer_pass to compile happily. | 12 // be globally accessible for Closure's --polymer_pass to compile happily. |
| 13 | 13 |
| 14 Polymer({ | 14 Polymer({ |
| 15 is: 'settings-bluetooth-subpage', | 15 is: 'settings-bluetooth-subpage', |
| 16 | 16 |
| 17 behaviors: [ | 17 behaviors: [ |
| 18 I18nBehavior, | 18 I18nBehavior, |
| 19 CrScrollableBehavior, | 19 CrScrollableBehavior, |
| 20 settings.RouteObserverBehavior, | 20 settings.RouteObserverBehavior, |
| 21 ], | 21 ], |
| 22 | 22 |
| 23 properties: { | 23 properties: { |
| 24 /** Reflects the bluetooth-page property. */ | 24 /** Reflects the bluetooth-page property. */ |
| 25 bluetoothEnabled: { | 25 bluetoothToggleState: { |
| 26 type: Boolean, | 26 type: Boolean, |
| 27 notify: true, | 27 notify: true, |
| 28 }, | 28 }, |
| 29 | 29 |
| 30 /** Reflects the bluetooth-page property. */ |
| 31 bluetoothToggleDisabled: Boolean, |
| 32 |
| 30 /** | 33 /** |
| 31 * The bluetooth adapter state, cached by bluetooth-page. | 34 * The bluetooth adapter state, cached by bluetooth-page. |
| 32 * @type {!chrome.bluetooth.AdapterState|undefined} | 35 * @type {!chrome.bluetooth.AdapterState|undefined} |
| 33 */ | 36 */ |
| 34 adapterState: Object, | 37 adapterState: Object, |
| 35 | 38 |
| 36 /** Informs bluetooth-page whether to show the spinner in the header. */ | 39 /** Informs bluetooth-page whether to show the spinner in the header. */ |
| 37 showSpinner_: { | 40 showSpinner_: { |
| 38 type: Boolean, | 41 type: Boolean, |
| 39 notify: true, | 42 notify: true, |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 else | 245 else |
| 243 this.stopDiscovery_(); | 246 this.stopDiscovery_(); |
| 244 }, | 247 }, |
| 245 | 248 |
| 246 /** | 249 /** |
| 247 * If bluetooth is enabled, request the complete list of devices and update | 250 * If bluetooth is enabled, request the complete list of devices and update |
| 248 * this.deviceList_. | 251 * this.deviceList_. |
| 249 * @private | 252 * @private |
| 250 */ | 253 */ |
| 251 updateDeviceList_: function() { | 254 updateDeviceList_: function() { |
| 252 if (!this.bluetoothEnabled) { | 255 if (!this.bluetoothToggleState) { |
| 253 this.deviceList_ = []; | 256 this.deviceList_ = []; |
| 254 return; | 257 return; |
| 255 } | 258 } |
| 256 this.bluetooth.getDevices(function(devices) { | 259 this.bluetooth.getDevices(function(devices) { |
| 257 this.deviceList_ = devices; | 260 this.deviceList_ = devices; |
| 258 }.bind(this)); | 261 }.bind(this)); |
| 259 }, | 262 }, |
| 260 | 263 |
| 261 /** | 264 /** |
| 262 * Process bluetooth.onDeviceAdded and onDeviceChanged events. | 265 * Process bluetooth.onDeviceAdded and onDeviceChanged events. |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 * @param {string} onstr | 348 * @param {string} onstr |
| 346 * @param {string} offstr | 349 * @param {string} offstr |
| 347 * @return {string} | 350 * @return {string} |
| 348 * @private | 351 * @private |
| 349 */ | 352 */ |
| 350 getOnOffString_: function(enabled, onstr, offstr) { | 353 getOnOffString_: function(enabled, onstr, offstr) { |
| 351 return enabled ? onstr : offstr; | 354 return enabled ? onstr : offstr; |
| 352 }, | 355 }, |
| 353 | 356 |
| 354 /** | 357 /** |
| 355 * @param {boolean} bluetoothEnabled | 358 * @param {boolean} bluetoothToggleState |
| 356 * @param {!Array<!chrome.bluetooth.Device>} deviceList | 359 * @param {!Array<!chrome.bluetooth.Device>} deviceList |
| 357 * @return {boolean} | 360 * @return {boolean} |
| 358 * @private | 361 * @private |
| 359 */ | 362 */ |
| 360 showDevices_: function(bluetoothEnabled, deviceList) { | 363 showDevices_: function(bluetoothToggleState, deviceList) { |
| 361 return bluetoothEnabled && deviceList.length > 0; | 364 return bluetoothToggleState && deviceList.length > 0; |
| 362 }, | 365 }, |
| 363 | 366 |
| 364 /** | 367 /** |
| 365 * @param {boolean} bluetoothEnabled | 368 * @param {boolean} bluetoothToggleState |
| 366 * @param {!Array<!chrome.bluetooth.Device>} deviceList | 369 * @param {!Array<!chrome.bluetooth.Device>} deviceList |
| 367 * @return {boolean} | 370 * @return {boolean} |
| 368 * @private | 371 * @private |
| 369 */ | 372 */ |
| 370 showNoDevices_: function(bluetoothEnabled, deviceList) { | 373 showNoDevices_: function(bluetoothToggleState, deviceList) { |
| 371 return bluetoothEnabled && deviceList.length == 0; | 374 return bluetoothToggleState && deviceList.length == 0; |
| 372 }, | 375 }, |
| 373 | 376 |
| 374 /** | 377 /** |
| 375 * @param {!chrome.bluetooth.Device} device | 378 * @param {!chrome.bluetooth.Device} device |
| 376 * @private | 379 * @private |
| 377 */ | 380 */ |
| 378 connectDevice_: function(device) { | 381 connectDevice_: function(device) { |
| 379 // If the device is not paired, show the pairing dialog before connecting. | 382 // If the device is not paired, show the pairing dialog before connecting. |
| 380 if (!device.paired) { | 383 if (!device.paired) { |
| 381 this.pairingDevice_ = device; | 384 this.pairingDevice_ = device; |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 460 Polymer.dom.flush(); | 463 Polymer.dom.flush(); |
| 461 this.$.deviceDialog.open(); | 464 this.$.deviceDialog.open(); |
| 462 }, | 465 }, |
| 463 | 466 |
| 464 /** @private */ | 467 /** @private */ |
| 465 onDialogClosed_: function() { | 468 onDialogClosed_: function() { |
| 466 this.dialogId_ = ''; | 469 this.dialogId_ = ''; |
| 467 this.pairingDevice_ = undefined; | 470 this.pairingDevice_ = undefined; |
| 468 }, | 471 }, |
| 469 }); | 472 }); |
| OLD | NEW |