diff options
Diffstat (limited to 'apps/system/js/bluetooth.js')
-rw-r--r-- | apps/system/js/bluetooth.js | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/apps/system/js/bluetooth.js b/apps/system/js/bluetooth.js deleted file mode 100644 index 3a77cc7..0000000 --- a/apps/system/js/bluetooth.js +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- / -/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ - -'use strict'; - -var Bluetooth = { - - /* this property store a reference of the default adapter */ - defaultAdapter: null, - - /* keep a global connected property here */ - connected: false, - - init: function bt_init() { - if (!window.navigator.mozSettings) - return; - - var bluetooth = window.navigator.mozBluetooth; - - SettingsListener.observe('bluetooth.enabled', true, function(value) { - if (!bluetooth) { - // roll back the setting value to notify the UIs - // that Bluetooth interface is not available - if (value) { - SettingsListener.getSettingsLock().set({ - 'bluetooth.enabled': false - }); - } - return; - } - }); - - var self = this; - // when bluetooth adapter is ready, emit event to notify QuickSettings - // and try to get defaultAdapter at this moment - bluetooth.onadapteradded = function bt_onAdapterAdded() { - var evt = document.createEvent('CustomEvent'); - evt.initCustomEvent('bluetooth-adapter-added', - /* canBubble */ true, /* cancelable */ false, null); - window.dispatchEvent(evt); - self.initDefaultAdapter(); - }; - // if bluetooth is enabled in booting time, try to get adapter now - this.initDefaultAdapter(); - - // when bluetooth is really disabled, emit event to notify QuickSettings - bluetooth.ondisabled = function bt_onDisabled() { - var evt = document.createEvent('CustomEvent'); - evt.initCustomEvent('bluetooth-disabled', - /* canBubble */ true, /* cancelable */ false, null); - window.dispatchEvent(evt); - }; - - /* for v1, we only support two use cases for bluetooth connection: - * 1. connecting with a headset - * 2. transfering a file to/from another device - * So we need to monitor their event messages to know we are (aren't) - * connected, then summarize to an event and dispatch to StatusBar - */ - - // In headset connected case: - navigator.mozSetMessageHandler('bluetooth-hfp-status-changed', - this.updateConnected.bind(this) - ); - - /* In file transfering case: - * since System Message can't be listened in two js files within a app, - * so we listen here but dispatch events to bluetooth_transfer.js - * when getting bluetooth file transfer start/complete system messages - */ - var self = this; - navigator.mozSetMessageHandler('bluetooth-opp-transfer-start', - function bt_fileTransferUpdate(transferInfo) { - self.updateConnected(); - var evt = document.createEvent('CustomEvent'); - evt.initCustomEvent('bluetooth-opp-transfer-start', - /* canBubble */ true, /* cancelable */ false, - {transferInfo: transferInfo}); - window.dispatchEvent(evt); - } - ); - - navigator.mozSetMessageHandler('bluetooth-opp-transfer-complete', - function bt_fileTransferUpdate(transferInfo) { - self.updateConnected(); - var evt = document.createEvent('CustomEvent'); - evt.initCustomEvent('bluetooth-opp-transfer-complete', - /* canBubble */ true, /* cancelable */ false, - {transferInfo: transferInfo}); - window.dispatchEvent(evt); - } - ); - - }, - - // Get adapter for BluetoothTransfer when everytime bluetooth is enabled - initDefaultAdapter: function bt_initDefaultAdapter() { - var bluetooth = window.navigator.mozBluetooth; - var self = this; - - if (!bluetooth || !bluetooth.enabled || - !('getDefaultAdapter' in bluetooth)) - return; - - var req = bluetooth.getDefaultAdapter(); - req.onsuccess = function bt_gotDefaultAdapter(evt) { - self.defaultAdapter = req.result; - }; - }, - - updateConnected: function bt_updateConnected() { - var bluetooth = window.navigator.mozBluetooth; - - if (!bluetooth || !('isConnected' in bluetooth)) - return; - - var wasConnected = this.connected; - this.connected = - bluetooth.isConnected(0x111E) || bluetooth.isConnected(0x1105); - - if (wasConnected !== this.connected) { - var evt = document.createEvent('CustomEvent'); - evt.initCustomEvent('bluetoothconnectionchange', - /* canBubble */ true, /* cancelable */ false, - {deviceConnected: this.connected}); - window.dispatchEvent(evt); - } - }, - - // This function is called by external (BluetoothTransfer) for re-use adapter - getAdapter: function bt_getAdapter() { - return this.defaultAdapter; - } -}; - -Bluetooth.init(); |