OLD | NEW |
1 'use strict'; | 1 'use strict'; |
2 | 2 |
3 // Bluetooth UUID constants: | 3 // Bluetooth UUID constants: |
4 // Services: | 4 // Services: |
5 var blacklist_test_service_uuid = "611c954a-263b-4f4a-aab6-01ddb953f985"; | 5 var blacklist_test_service_uuid = "611c954a-263b-4f4a-aab6-01ddb953f985"; |
6 var request_disconnection_service_uuid = "01d7d889-7451-419f-aeb8-d65e7b9277af"; | 6 var request_disconnection_service_uuid = "01d7d889-7451-419f-aeb8-d65e7b9277af"; |
7 // Characteristics: | 7 // Characteristics: |
8 var blacklist_exclude_reads_characteristic_uuid = | 8 var blacklist_exclude_reads_characteristic_uuid = |
9 "bad1c9a2-9a5b-4015-8b60-1579bbbf2135"; | 9 "bad1c9a2-9a5b-4015-8b60-1579bbbf2135"; |
10 var request_disconnection_characteristic_uuid = | 10 var request_disconnection_characteristic_uuid = |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 constructor(object, event) { | 311 constructor(object, event) { |
312 this.eventFired = false; | 312 this.eventFired = false; |
313 let event_listener = e => { | 313 let event_listener = e => { |
314 object.removeEventListener(event, event_listener); | 314 object.removeEventListener(event, event_listener); |
315 this.eventFired = true; | 315 this.eventFired = true; |
316 } | 316 } |
317 object.addEventListener(event, event_listener); | 317 object.addEventListener(event, event_listener); |
318 } | 318 } |
319 } | 319 } |
320 | 320 |
| 321 // Returns a function that when called returns a promise that resolves when |
| 322 // the device has disconnected. Example: |
| 323 // device.gatt.connect() |
| 324 // .then(gatt => get_request_disconnection(gatt)) |
| 325 // .then(requestDisconnection => requestDisconnection()) |
| 326 // .then(() => // device is now disconnected) |
| 327 function get_request_disconnection(gattServer) { |
| 328 return gattServer.getPrimaryService(request_disconnection_service_uuid) |
| 329 .then(service => service.getCharacteristic(request_disconnection_characteris
tic_uuid)) |
| 330 .then(characteristic => { |
| 331 // TODO(crbug.com/543466): Wrap in assert_promise_rejects_with_message() |
| 332 // once connection is required for writeValue to succeed. |
| 333 return () => characteristic.writeValue(new Uint8Array([0])); |
| 334 }); |
| 335 } |
| 336 |
321 function generateRequestDeviceArgsWithServices(services = ['heart_rate']) { | 337 function generateRequestDeviceArgsWithServices(services = ['heart_rate']) { |
322 return [{ | 338 return [{ |
323 filters: [{ services: services }] | 339 filters: [{ services: services }] |
324 }, { | 340 }, { |
325 filters: [{ services: services, name: 'Name' }] | 341 filters: [{ services: services, name: 'Name' }] |
326 }, { | 342 }, { |
327 filters: [{ services: services, namePrefix: 'Pre' }] | 343 filters: [{ services: services, namePrefix: 'Pre' }] |
328 }, { | 344 }, { |
329 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }] | 345 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }] |
330 }, { | 346 }, { |
331 filters: [{ services: services }], | 347 filters: [{ services: services }], |
332 optionalServices: ['heart_rate'] | 348 optionalServices: ['heart_rate'] |
333 }, { | 349 }, { |
334 filters: [{ services: services, name: 'Name' }], | 350 filters: [{ services: services, name: 'Name' }], |
335 optionalServices: ['heart_rate'] | 351 optionalServices: ['heart_rate'] |
336 }, { | 352 }, { |
337 filters: [{ services: services, namePrefix: 'Pre' }], | 353 filters: [{ services: services, namePrefix: 'Pre' }], |
338 optionalServices: ['heart_rate'] | 354 optionalServices: ['heart_rate'] |
339 }, { | 355 }, { |
340 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], | 356 filters: [{ services: services, name: 'Name', namePrefix: 'Pre' }], |
341 optionalServices: ['heart_rate'] | 357 optionalServices: ['heart_rate'] |
342 }]; | 358 }]; |
343 } | 359 } |
OLD | NEW |