| 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 * Javascript for ValueControl, served from chrome://bluetooth-internals/. | 6 * Javascript for ValueControl, served from chrome://bluetooth-internals/. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 cr.define('value_control', function() { | 9 cr.define('value_control', function() { |
| 10 /** @const */ var Snackbar = snackbar.Snackbar; | 10 /** @const */ var Snackbar = snackbar.Snackbar; |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 /** | 334 /** |
| 335 * Called when the read button is pressed. Connects to the device and | 335 * Called when the read button is pressed. Connects to the device and |
| 336 * retrieves the current value of the characteristic in the |service_id| | 336 * retrieves the current value of the characteristic in the |service_id| |
| 337 * with id |characteristic_id|. If |descriptor_id| is defined, the | 337 * with id |characteristic_id|. If |descriptor_id| is defined, the |
| 338 * descriptor value with |descriptor_id| is read instead. | 338 * descriptor value with |descriptor_id| is read instead. |
| 339 * @private | 339 * @private |
| 340 */ | 340 */ |
| 341 readValue_: function() { | 341 readValue_: function() { |
| 342 this.readBtn_.disabled = true; | 342 this.readBtn_.disabled = true; |
| 343 | 343 |
| 344 device_broker.connectToDevice(this.deviceAddress_).then(function(device) { | 344 device_broker.connectToDevice(this.deviceAddress_) |
| 345 if (this.descriptorId_) { | 345 .then(function(device) { |
| 346 return device.readValueForDescriptor( | 346 if (this.descriptorId_) { |
| 347 this.serviceId_, this.characteristicId_, this.descriptorId_); | 347 return device.readValueForDescriptor( |
| 348 } | 348 this.serviceId_, this.characteristicId_, this.descriptorId_); |
| 349 } |
| 349 | 350 |
| 350 return device.readValueForCharacteristic( | 351 return device.readValueForCharacteristic( |
| 351 this.serviceId_, this.characteristicId_); | 352 this.serviceId_, this.characteristicId_); |
| 352 }.bind(this)).then(function(response) { | 353 }.bind(this)) |
| 353 this.readBtn_.disabled = false; | 354 .then(function(response) { |
| 355 this.readBtn_.disabled = false; |
| 354 | 356 |
| 355 if (response.result === interfaces.BluetoothDevice.GattResult.SUCCESS) { | 357 if (response.result === |
| 356 this.setValue(response.value); | 358 interfaces.BluetoothDevice.GattResult.SUCCESS) { |
| 357 Snackbar.show( | 359 this.setValue(response.value); |
| 358 this.deviceAddress_ + ': Read succeeded', SnackbarType.SUCCESS); | 360 Snackbar.show( |
| 359 return; | 361 this.deviceAddress_ + ': Read succeeded', |
| 360 } | 362 SnackbarType.SUCCESS); |
| 363 return; |
| 364 } |
| 361 | 365 |
| 362 var errorString = this.getErrorString_(response.result); | 366 var errorString = this.getErrorString_(response.result); |
| 363 Snackbar.show( | 367 Snackbar.show( |
| 364 this.deviceAddress_ + ': ' + errorString, SnackbarType.ERROR, | 368 this.deviceAddress_ + ': ' + errorString, SnackbarType.ERROR, |
| 365 'Retry', this.readValue_.bind(this)); | 369 'Retry', this.readValue_.bind(this)); |
| 366 }.bind(this)); | 370 }.bind(this)); |
| 367 }, | 371 }, |
| 368 | 372 |
| 369 /** | 373 /** |
| 370 * Called when the write button is pressed. Connects to the device and | 374 * Called when the write button is pressed. Connects to the device and |
| 371 * retrieves the current value of the characteristic in the | 375 * retrieves the current value of the characteristic in the |
| 372 * |service_id| with id |characteristic_id|. If |descriptor_id| is defined, | 376 * |service_id| with id |characteristic_id|. If |descriptor_id| is defined, |
| 373 * the descriptor value with |descriptor_id| is written instead. | 377 * the descriptor value with |descriptor_id| is written instead. |
| 374 * @private | 378 * @private |
| 375 */ | 379 */ |
| 376 writeValue_: function() { | 380 writeValue_: function() { |
| 377 this.writeBtn_.disabled = true; | 381 this.writeBtn_.disabled = true; |
| 378 | 382 |
| 379 device_broker.connectToDevice(this.deviceAddress_).then(function(device) { | 383 device_broker.connectToDevice(this.deviceAddress_) |
| 380 if (this.descriptorId_) { | 384 .then(function(device) { |
| 381 return device.writeValueForDescriptor( | 385 if (this.descriptorId_) { |
| 382 this.serviceId_, this.characteristicId_, this.descriptorId_, | 386 return device.writeValueForDescriptor( |
| 383 this.value_.getArray()); | 387 this.serviceId_, this.characteristicId_, this.descriptorId_, |
| 384 } | 388 this.value_.getArray()); |
| 389 } |
| 385 | 390 |
| 386 return device.writeValueForCharacteristic( | 391 return device.writeValueForCharacteristic( |
| 387 this.serviceId_, this.characteristicId_, this.value_.getArray()); | 392 this.serviceId_, this.characteristicId_, |
| 388 }.bind(this)).then(function(response) { | 393 this.value_.getArray()); |
| 389 this.writeBtn_.disabled = false; | 394 }.bind(this)) |
| 395 .then(function(response) { |
| 396 this.writeBtn_.disabled = false; |
| 390 | 397 |
| 391 if (response.result === interfaces.BluetoothDevice.GattResult.SUCCESS) { | 398 if (response.result === |
| 392 Snackbar.show( | 399 interfaces.BluetoothDevice.GattResult.SUCCESS) { |
| 393 this.deviceAddress_ + ': Write succeeded', SnackbarType.SUCCESS); | 400 Snackbar.show( |
| 394 return; | 401 this.deviceAddress_ + ': Write succeeded', |
| 395 } | 402 SnackbarType.SUCCESS); |
| 403 return; |
| 404 } |
| 396 | 405 |
| 397 var errorString = this.getErrorString_(response.result); | 406 var errorString = this.getErrorString_(response.result); |
| 398 Snackbar.show( | 407 Snackbar.show( |
| 399 this.deviceAddress_ + ': ' + errorString, SnackbarType.ERROR, | 408 this.deviceAddress_ + ': ' + errorString, SnackbarType.ERROR, |
| 400 'Retry', this.writeValue_.bind(this)); | 409 'Retry', this.writeValue_.bind(this)); |
| 401 }.bind(this)); | 410 }.bind(this)); |
| 402 }, | 411 }, |
| 403 }; | 412 }; |
| 404 | 413 |
| 405 return { | 414 return { |
| 406 ValueControl: ValueControl, | 415 ValueControl: ValueControl, |
| 407 ValueDataType: ValueDataType, | 416 ValueDataType: ValueDataType, |
| 408 }; | 417 }; |
| 409 }); | 418 }); |
| OLD | NEW |