Commit Graph

59 Commits

Author SHA1 Message Date
Thomas Zimmermann
c8fa379487 Bug 1045461: Fix HFP fallback code to work with latest Bluetooth changes (under bluetooth2/), r=btian
Recent patches to Bluetooth introduced asynchronous initialization of
profile manager. The code in hfp-fallback was not adapted then. This
patch updates the broken code.
2014-07-29 10:47:31 +02:00
Jocelyn Liu
d161c4ec6c Bug 1033898 - Patch1: Add BluetoothPairingEvent and BluetoothPairingHandlewebidls and their class implementations. r=btian, r=bz 2014-07-28 22:09:00 +02:00
Thomas Zimmermann
79dd9999b0 Bug 1042691: Asynchronous |BluetoothAvrcpInterface::SetVolume| (under bluetooth2/), r=btian 2014-07-28 09:52:52 +02:00
Thomas Zimmermann
a53418b155 Bug 1042691: Asynchronous AVRCP response interfaces (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
0cd53752c7 Bug 1042691: Asynchronous A2DP connect/disconnect (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
a64b96f7a6 Bug 1042691: Asynchronous init and cleanup of A2DP/AVRCP (under bluetooth2/), r=btian 2014-07-28 09:52:51 +02:00
Thomas Zimmermann
a28fd77f06 Bug 1042691: Add A2DP/AVRCP result-handler infrastructure (under bluetooth2/), r=btian 2014-07-28 09:52:50 +02:00
Jocelyn Liu
818562fc76 Bug 1038632 - Patch2: Maintain device objects in BluetoothAdapter. r=btian 2014-07-25 15:21:44 +08:00
Thomas Zimmermann
92c28a5c88 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::PhoneStateChange| (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
f6e102e1b2 Bug 1038645: Asynchronous Bluetooth Handsfree response methods (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
761b718fd9 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::DeviceStatusNotification| (under bluetooth2/), r=btian 2014-07-22 13:53:29 +02:00
Thomas Zimmermann
c6f9bb3981 Bug 1038645: Asynchronous |BluetoothHandsfreeInterface::VolumeControl| (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
2f9bac6204 Bug 1038645: Asynchronous Bluetooth Handsfree voice-recognition functions (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
0d80c39c22 Bug 1038645: Asynchronous Bluetooth Handsfree connection handling (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
7d9b6e07cc Bug 1038645: Asynchronous Bluetooth Handsfree init and cleanup methods (under bluetooth2/), r=btian 2014-07-22 13:53:28 +02:00
Thomas Zimmermann
3274cb40bb Bug 1038645: Add result-handler class for Bluetooth Handsfree profile (under bluetooth2/), r=btian 2014-07-22 13:53:27 +02:00
Thomas Zimmermann
5ce9f7d64a Bug 1038645: Asynchronous starting and stopping of profile managers (under bluetooth2/), r=btian
Profile managers use the new class |BluetoothProfileResultHandler|
to signal the result of initializing of cleaning up operations to
|BluetoothServiceBluedroid|. |BluetoothServiceBluedroid| proceeds
once all profile handlers have finished.

Future patches will build upon this patch to create completely
asynchronous profile managers.
2014-07-22 13:53:27 +02:00
Thomas Zimmermann
67a161c7f4 Bug 1039216: Fix build break when building JB 4.2 (under bluetooth2/), r=btian 2014-07-02 17:42:21 +08:00
Thomas Zimmermann
3d7c0e10a9 Bug 1037342: Close file descriptor in BluetoothSocket (under bluetooth2/), r=btian
Currently, BluetoothSocket leaks its file descriptor on close
operations. With this patch when Gecko closes an instance of
BluetoothSocket, the file descriptor is now closed as well.
2014-07-17 09:44:19 +02:00
Thomas Zimmermann
fc0a2d2303 Bug 1036977: Remove socket setup from BluetoothSocket (under bluetooth2/), r=btian
This patch removes all code related to socket setup from Bluedroid's
BluetoothSocket. The socket setup is handled by BluetoothInterface;
transparantly to its users.

Since most of the socket setup is now hidden, a comment was added to
DroidSocketImpl that explains the connection phases in server and
client.
2014-07-16 10:25:10 +02:00
Thomas Zimmermann
bc214c6161 Bug 1036977: Handle socket setup for |Accept| in BluetoothInterface (under bluetooth2/), r=btian
This patch moves the accept phase of Bluedroid's |Listen| to the
implementation of BluetoothInterface. |BluetoothInterface::Accept|
handles Bluedroid's socket-setup messages and executes the result
handler with the received file descriptor and data.
2014-07-16 10:24:41 +02:00
Thomas Zimmermann
99f0530c5a Bug 1036977: Handle socket setup for |Connect| in BluetoothInterface (under bluetooth2/), r=btian
Bluedroid's internal socket setup transfers 2 messages and possibly
a file descriptor as the first data of a socket connection.

This patch moves the socket-setup code for the |Connect| call to
the implementation of BluetoothInterface. BluetoothSocket only
handles the socket setup of |Listen|, and general socket state.
2014-07-16 10:24:33 +02:00
Thomas Zimmermann
ccc418e8b4 Bug 1036977: Introduce connection status for Bluedroid sockets (under bluetooth2/), r=btian
In preparaton of moving the Bluedroid socket setup to BluetoothInterface,
this patch introduces connection states for Bluetooth sockets. There are
4 states,

  - Disconnected,
  - Listening,
  - Connecting, and
  - Connected.

All sockets start in Disconnected and transition to Connected via one
of the other states. Server socket transition through Listening, Client
sockets transition through Connecting. There is currently a lot of code
duplication in read and write methods. This will be cleaned up when the
connection setup is handled by BluetoothInterface.
2014-07-16 10:24:19 +02:00
Thomas Zimmermann
9040b7ebe3 Bug 1036977: Convert Bluedroid Socket's Connect method to asynchronous design (under bluetooth2/), r=btian 2014-07-16 10:24:05 +02:00
Thomas Zimmermann
94e49bf71d Bug 1036977: Convert Bluedroid Socket's Listen method to asynchronous design (under bluetooth2/), r=btian 2014-07-16 10:23:52 +02:00
Thomas Zimmermann
8f957fcc30 Bug 1036977: Add result handler for Bluetooth Socket interface (under bluetooth2/), r=btian 2014-07-16 10:23:35 +02:00
Jocelyn Liu
39d4f3b885 Bug 1006315: Revise BluetoothDevice.webidl and implement it for new WebBluetooth API. r=btian, r=bz 2014-07-14 10:47:19 +08:00
Thomas Zimmermann
ca70bb0ca1 Bug 1033961: Asynchronous Bluedroid DUT and LE interfaces (under bluetooth2/), r=btian 2014-07-09 09:39:43 +02:00
Thomas Zimmermann
917b46aba5 Bug 1033961: Asynchronous authentification in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:39:31 +02:00
Thomas Zimmermann
8e6d8ad7ef Bug 1033961: Asynchronous Bluedroid device bonding (under bluetooth2/), r=btian 2014-07-09 09:39:18 +02:00
Thomas Zimmermann
4157746d43 Bug 1033961: Asynchronous discovery methods in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:39:04 +02:00
Thomas Zimmermann
2c7985684d Bug 1033961: Asynchronous remote-service methods in Bluedroid (under bluetooth2/), r=btian 2014-07-09 09:38:49 +02:00
Thomas Zimmermann
493b33b5dc Bug 1033961: Asynchronous Bluedroid device-property methods (under bluetooth2/), r=btian 2014-07-09 09:38:35 +02:00
Thomas Zimmermann
8ac530a6b1 Bug 1033961: Asynchronous Bluedroid adapter methods (under bluetooth2/), r=btian 2014-07-09 09:38:20 +02:00
Thomas Zimmermann
317b0ad1b1 Bug 1033961: Asynchronous Bluedroid starting and stopping (under bluetooth2/), r=btian 2014-07-09 09:38:06 +02:00
Thomas Zimmermann
6e51b9f9d2 Bug 1033961: Split Bluedroid start/stop code (under bluetooth2/), r=btian
This patch prepares refactoring of the Bluedroid start and stop
code towards an asynchronous design.
2014-07-09 09:37:53 +02:00
Thomas Zimmermann
9a18c110da Bug 1033961: Add result handler for Bluetooth Core profile (under bluetooth2/), r=btian
The result-handler class contains a method for each interface
in the Core profile and a method for failed calls. The patch
also adds runnable classes that execute a result handler's
method on the main thread.
2014-07-09 09:37:40 +02:00
Shawn Huang
a9d0030d0e Bug 1033273 - Part 2: Add InitHfpInterface/DeinitHfpinterface. r=btian 2014-07-03 00:05:00 -04:00
Ben Tian
fd8dc9104d Bug 1006314 - Patch 2/3: Implement BluetoothDiscoveryHandle, r=bz, r=echou 2014-07-02 11:16:37 +08:00
Ben Tian
9050098bc7 Bug 1033130 - [bluetooth2] Add missing including of BluetoothInterface.h in BluetoothA2dpManager.cpp, r=shuang 2014-07-02 10:36:28 +08:00
Jocelyn Liu
80735bb339 Bug 1031253 - Patch: Reject promise if StartStopGonkBluetooth failed. r=btian 2014-07-02 10:13:39 +08:00
Thomas Zimmermann
2f14c73f68 Bug 1031185: Convert Bluetooth to use Bluedroid wrappers (under bluedroid2/), r=btian
This patch converts the Bluedroid backend to use the wrapper
classes. The affected interfaces are Core, Sockets, Handsfree,
A2DP, and AVRCP.
2014-07-01 17:50:46 +02:00
Thomas Zimmermann
241bc819da Bug 1031185: Wrap Bluedroid interfaces in classes (under bluedroid2/), r=btian
This patch adds classes around all Bluedroid interfaces that are
currently used by Gecko. These are Core, Socket, Handsfree, A2DP,
and AVRCP.

All arguments and return values are still Bluedroid types and
constants. Future patches will convert them to interface-neutral
artifacts.
2014-07-01 17:50:30 +02:00
Jocelyn Liu
2ce12c4870 Bug 1006310 - Patch2: Revise SetName and SetDiscoverable to use Promise. r=btian, r=bz 2014-06-24 15:31:10 +08:00
Jamin Liu
e8f755d67a Bug 1020300 - Dispatch part of AdapterStateChangedCallback to main thread. r=btian 2014-06-20 12:07:23 +08:00
Ben Tian
d1b38d7423 Bug 1026454 - Fire PropertyChanged when discovery state changes, r=echou 2014-06-19 15:47:03 +08:00
Ben Tian
32bffeac3c Bug 1020736 - Wrap adapter's new properties for BluetoothManager::GetAdapters call in BluetoothServiceBluedroid, r=echou 2014-06-16 16:47:11 +08:00
Ben Tian
1c89f9fe97 Bug 1016186 - Do not fire AdapterAdded event when BT is turned on, r=echou 2014-06-04 16:11:59 +08:00
Ben Tian
3a4e825abe Bug 1006308 - Implement adapter enable/disable functions, r=btian 2014-06-04 18:30:08 +08:00
Ben Tian
17e47b176d Bug 1019372 - Patch 6/6: [bluetooth2] Dispatch part of DiscoveryChangedCallback to main thread, r=echou 2014-06-03 11:50:50 +08:00