OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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-page' is the settings page for managing bluetooth | 7 * 'settings-bluetooth-page' is the settings page for managing bluetooth |
8 * properties and devices. | 8 * properties and devices. |
9 * | 9 * |
10 * Example: | 10 * Example: |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
66 * The ordered list of bluetooth devices. | 66 * The ordered list of bluetooth devices. |
67 * @type {!Array<!chrome.bluetooth.Device>} | 67 * @type {!Array<!chrome.bluetooth.Device>} |
68 */ | 68 */ |
69 deviceList: { | 69 deviceList: { |
70 type: Array, | 70 type: Array, |
71 value: function() { return []; }, | 71 value: function() { return []; }, |
72 }, | 72 }, |
73 | 73 |
74 /** | 74 /** |
75 * Set to the name of the dialog to show. This page uses a single | 75 * Set to the name of the dialog to show. This page uses a single |
76 * paper-dialog to host one of two dialog elements, 'addDevice' or | 76 * paper-dialog to host one of three dialog elements, 'addDevice', |
77 * 'pairDevice'. This allows a seamless transition between adding and | 77 * 'pairDevice', or 'connectError'. This allows a seamless transition |
78 * pairing dialogs. Note: This property should be set before opening the | 78 * between dialogs. Note: This property should be set before opening the |
79 * dialog, and setting the property will not itself cause the dialog to | 79 * dialog and setting the property will not itself cause the dialog to open. |
80 * open. | |
81 */ | 80 */ |
82 dialogId: String, | 81 dialogId: String, |
83 | 82 |
84 /** | 83 /** |
85 * Current Pairing device. | 84 * Current Pairing device. |
86 * @type {?chrome.bluetooth.Device|undefined} | 85 * @type {?chrome.bluetooth.Device|undefined} |
87 */ | 86 */ |
88 pairingDevice: Object, | 87 pairingDevice: Object, |
89 | 88 |
90 /** | 89 /** |
91 * Current Pairing event. | 90 * Current Pairing event. |
92 * @type {?chrome.bluetoothPrivate.PairingEvent|undefined} | 91 * @type {?chrome.bluetoothPrivate.PairingEvent|undefined} |
93 */ | 92 */ |
94 pairingEvent: Object, | 93 pairingEvent: Object, |
95 | 94 |
95 /** The translated error message to show when a connect error occurs. */ | |
96 errorMessage: String, | |
97 | |
96 /** | 98 /** |
97 * Interface for bluetooth calls. May be overriden by tests. | 99 * Interface for bluetooth calls. May be overriden by tests. |
98 * @type {Bluetooth} | 100 * @type {Bluetooth} |
99 */ | 101 */ |
100 bluetooth: { | 102 bluetooth: { |
101 type: Object, | 103 type: Object, |
102 value: chrome.bluetooth, | 104 value: chrome.bluetooth, |
103 }, | 105 }, |
104 | 106 |
105 /** | 107 /** |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
432 // If the device is not paired, show the pairing dialog. | 434 // If the device is not paired, show the pairing dialog. |
433 if (!device.paired) { | 435 if (!device.paired) { |
434 // Set the pairing device and clear any pairing event. | 436 // Set the pairing device and clear any pairing event. |
435 this.pairingDevice = device; | 437 this.pairingDevice = device; |
436 this.pairingEvent = null; | 438 this.pairingEvent = null; |
437 | 439 |
438 this.openDialog_('pairDevice'); | 440 this.openDialog_('pairDevice'); |
439 } | 441 } |
440 | 442 |
441 this.bluetoothPrivate.connect(device.address, function(result) { | 443 this.bluetoothPrivate.connect(device.address, function(result) { |
444 var error; | |
442 if (chrome.runtime.lastError) { | 445 if (chrome.runtime.lastError) { |
443 console.error( | 446 error = chrome.runtime.lastError.message; |
444 'Error connecting: ' + device.address + | 447 } else { |
445 chrome.runtime.lastError.message); | 448 switch (result) { |
446 // TODO(stevenjb): Show error message insead. | 449 case chrome.bluetoothPrivate.ConnectResultType.ALREADY_CONNECTED: |
450 case chrome.bluetoothPrivate.ConnectResultType.AUTH_CANCELED: | |
451 case chrome.bluetoothPrivate.ConnectResultType.IN_PROGRESS: | |
452 case chrome.bluetoothPrivate.ConnectResultType.SUCCESS: | |
453 break; | |
454 default: | |
455 error = result; | |
456 } | |
457 } | |
Dan Beam
2016/07/16 00:31:56
nit: \n after each if
stevenjb
2016/07/16 01:17:46
Presuming you mean a blank line here and after 461
| |
458 if (!error) { | |
447 this.closeDialog_(); | 459 this.closeDialog_(); |
460 return; | |
448 } | 461 } |
462 var name = this.getDeviceName_(device); | |
463 var id = 'bluetooth_connect_' + error; | |
464 if (this.i18nExists(id)) | |
465 this.errorMessage = this.i18n(id, name); | |
466 else | |
467 this.errorMessage = error; | |
468 console.error('Error connecting to: ' + name + ': ' + this.errorMessage); | |
Dan Beam
2016/07/16 00:31:56
nit: i still don't support leaving console messagi
stevenjb
2016/07/16 01:17:46
Moved the console.error inside the else clause, si
| |
469 this.openDialog_('connectError'); | |
449 }.bind(this)); | 470 }.bind(this)); |
450 }, | 471 }, |
451 | 472 |
452 /** | 473 /** |
453 * @param {!chrome.bluetooth.Device} device | 474 * @param {!chrome.bluetooth.Device} device |
454 * @private | 475 * @private |
455 */ | 476 */ |
456 disconnectDevice_: function(device) { | 477 disconnectDevice_: function(device) { |
457 this.bluetoothPrivate.disconnectAll(device.address, function() { | 478 this.bluetoothPrivate.disconnectAll(device.address, function() { |
458 if (chrome.runtime.lastError) { | 479 if (chrome.runtime.lastError) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
517 | 538 |
518 /** @private */ | 539 /** @private */ |
519 onCloseDialog_: function(event) { this.closeDialog_(); }, | 540 onCloseDialog_: function(event) { this.closeDialog_(); }, |
520 | 541 |
521 /** @private */ | 542 /** @private */ |
522 onDialogOpened_: function() { this.startDiscovery_(); }, | 543 onDialogOpened_: function() { this.startDiscovery_(); }, |
523 | 544 |
524 /** @private */ | 545 /** @private */ |
525 onDialogClosed_: function() { this.stopDiscovery_(); }, | 546 onDialogClosed_: function() { this.stopDiscovery_(); }, |
526 }); | 547 }); |
OLD | NEW |