Commit Graph

485 Commits

Author SHA1 Message Date
Thomas Zimmermann
35b067bf4b Bug 1095488: Added AVRCP support for Bluetooth daemon backend, r=shuang 2015-01-07 11:32:06 +01:00
Thomas Zimmermann
63fc34197c Bug 1095488: Added Bluetooth AVRCP interface, r=shuang 2015-01-07 11:32:05 +01:00
Thomas Zimmermann
fe7039fa24 Bug 1095488: Add Bluetooth AVRCP module, r=shuang 2015-01-07 11:32:05 +01:00
Thomas Zimmermann
2cae7e7a6f Bug 1095488: Add Bluetooth AVRCP helpers, r=shuang 2015-01-07 11:32:05 +01:00
Dave Huseby
2dd498d6d5 Bug 1107681 - fix up the dom uses of WrapptedJSToDictionary to use the cx-less interface. r=bholley 2014-12-29 11:56:00 +01:00
Jamin Liu
6fb6ee9265 Bug 1088527 - Modify BluetoothOppManager.IsConnected to indicate whether profile is connected or not. r=btian
BluetoothOppManager.IsConnected() couldn't represent the connection status
of Opp profile since it only return true if there is an ongoing
file-transfer session.

This function was used to named |IsTransferring()| in Bug 827267, however,
it was renamed to |IsConnected()| when Bug 842948 landed.
2014-12-26 16:58:11 +08:00
Botond Ballo
0315765d81 Bug 1073081 - Fix -Wdelete-non-virtual-dtor warnings by marking some classes as MOZ_FINAL. r=ehsan
--HG--
extra : source : 7a909c534cf723b252ea5b0a225a6656399b5b2e
2014-11-24 18:38:23 -05:00
Thomas Zimmermann
c49012e1db Bug 1095487: Add Blueooth A2DP support when using daemon backend, r=shuang 2014-12-11 10:53:14 +01:00
Thomas Zimmermann
6174199d2d Bug 1095487: Added Blueooth A2DP interface for daemon backend, r=shuang 2014-12-11 10:53:14 +01:00
Thomas Zimmermann
6394e66c0a Bug 1095487: Added Bluetooth A2DP module for daemon backend, r=shuang 2014-12-11 10:53:14 +01:00
Thomas Zimmermann
c7cbb3e438 Bug 1095487: Add Bluetooth A2DP helpers, r=shuang 2014-12-11 10:53:14 +01:00
Thomas Zimmermann
d4d6e5c1dd Bug 1105308: Merge BluetoothUtils.{cpp,h}, r=btian
This patch merges BluetoothUtils.{cpp,h} from BlueZ and Bluedroid
backends. The resulting files of the same name are located in the
generic code's directory.

This change requires a rebuild of dependency information, so the
patch touches CLOBBER as well.

--HG--
rename : dom/bluetooth/bluedroid/BluetoothUtils.cpp => dom/bluetooth/BluetoothUtils.cpp
rename : dom/bluetooth/bluedroid/BluetoothUtils.h => dom/bluetooth/BluetoothUtils.h
2014-11-28 11:49:40 +01:00
Thomas Zimmermann
9bbac52e9d Bug 1105308: Cleanup non-shared functions in Bluedroid's BluetoothUtils.{cpp,h}, r=btian
This patch moves functions out of Bluedroid's BluetoothUtils.{cpp,h}
that are specific to this backend.
2014-11-28 11:49:40 +01:00
Thomas Zimmermann
6ec358aebb Bug 1091588: Support Handsfree profile when using Bluetooth daemon, r=shuang 2014-11-24 09:02:52 +01:00
Thomas Zimmermann
1389af013e Bug 1091588: Add Handsfree interface for Bluetooth daemon, r=shuang 2014-11-24 09:02:42 +01:00
Thomas Zimmermann
0701e3e8a1 Bug 1091588: Add Handsfree module for Bluetooth daemon, r=shuang 2014-11-24 09:02:31 +01:00
Thomas Zimmermann
d23a955c61 Bug 1091588: Add helpers for Bluetooth daemon Handsfree support, r=shuang
This patch adds helpers for packing, unpacking and converting
Handsfree values to and from Bluetooth PDUs.
2014-11-24 09:02:03 +01:00
Thomas Zimmermann
67dca89a28 Bug 1100883: Cleanup |BluetoothServiceBluedroid::AdapterStateChangedNotification|, r=btian
This patch replaces |ToggleBtAck| with |AcknowledgeToggleBt| in
|BluetoothServiceBluedroid::AdapterStateChangedNotification| and
cleans up the remaining runnables used by this method.

All runnables need to be handled in the same patch, because the
order of operation must not be changed.
2014-11-20 11:06:01 +01:00
Thomas Zimmermann
ae9b29a692 Bug 1100883: Replace most instances of |ToggleBtAck| with calls to |AcknowledgeToggleBt|, r=btian
|AcknowledgeToggleBt| completes a Bluetooth start or stop operation
in the context of |BluetoothService|; That was done by |ToggleBtAck|
before.

This patch replaces |ToggleBtAck| with calls to |AcknowledgeToggleBt|
in |BluetoothServiceBluedroid| for all the trivial cases.
2014-11-20 11:06:01 +01:00
Thomas Zimmermann
8ff9ece4ee Bug 1100883: Move helpers of |BluetoothServiceBluedroid| into its namespace, r=btian 2014-11-20 11:06:00 +01:00
Wes Kocher
477215237f Backed out 2 changesets (bug 1159401) for b2g build bustage
Backed out changeset adfee1efb1e1 (bug 1159401)
Backed out changeset 70c63c8546e3 (bug 1159401)
2015-05-11 14:54:02 -07:00
Shawn Huang
593f8bce45 Bug 1096194 - Responding Enhanced call control with ERROR if enhanced call control is not supported, r=btian 2014-11-12 11:15:21 +08:00
Bruce Sun
41c39d8255 Bug 1079649: Use a temporary (.part) file to store incoming file. (bluetooth/bluedroid) r=btian 2014-11-10 18:53:21 +08:00
Thomas Zimmermann
fe9d8b3837 Bug 1091577: Remove unused helpers from daemon backend, r=shawnjohnjr
This patch removes unused unpack functions, notification and
interface runnables from Bluetooth's daemon backend.
2014-11-05 15:43:07 +01:00
Thomas Zimmermann
47ba320636 Bug 1091577: Use general-purpose result runnable in Bluetooth daemon backend, r=shawnjohnjr
This patch converts all interface runnables in Bluetooth's daemon
backend by generic result runnables. Init operator classes replace
unpack functions. Init operator classes will warn about unused data
at the end of a PDU.
2014-11-05 15:43:07 +01:00
Thomas Zimmermann
8971b645fb Bug 1091577: Use general-purpose notification runnable in Bluetooth daemon backend, r=shawnjohnjr
This patch converts all notification runnables in Bluetooth's daemon
backend to use the generic implementation. Unpack functions are replaced
by init operator classes. The init operator classes also validate the
complete unpacking of a PDU and warn about unused trailing data.
2014-11-05 15:43:07 +01:00
Thomas Zimmermann
198d7a65f7 Bug 1073548: Implement Socket module for Bluetooth daemon, r=shawnjohnjr
This patch adds support for the Bluetooth daemon's Socket module,
which provides OPP functionality.
2014-11-03 13:03:49 +01:00
Thomas Zimmermann
6aa9274df2 Bug 1073548: Implement Bluetooth Core module for Bluetooth daemon, r=shawnjohnjr
This patch adds support for the Bluetooth daemon's Core module. It
provides the basic Bluetooth functionality, such as searching and
pairing with devices, and accessing device properties.
2014-11-03 13:03:49 +01:00
Thomas Zimmermann
099bc5cc64 Bug 1073548: Add core interfaces and Setup module for Bluetooth daemon, r=shawnjohnjr
This patch adds the core interfaces and the Setup module for
the Bluetooth Daemon. The Setup module implements commands
for enabling and disabling Bluetooth profiles in the daemon.
2014-11-03 13:03:49 +01:00
Thomas Zimmermann
9f3537f1e7 Bug 1084342: Copy received ancillary data into |SocketMessageWatcher|, r=shawnjohnjr
The cast-and-assign pattern for retrieving file descriptors is prone to
SIGBUS signals on platforms that don't support unaligned memory access.
This patch fixes the problem by copying the received data directly.
2014-10-28 10:34:29 +01:00
Thomas Zimmermann
1dc3c01e56 Bug 1084342: Fix receive buffer size in |SocketMessageWatcher|, r=shawnjohnjr
|SocketMessageWatcher| currently allocates a large amount of memory
for holding ancillary data. The only actually transfered value is a
file descriptor. This patch fixes the buffer size accordingly.
2014-10-28 10:34:18 +01:00
Thomas Zimmermann
9645691f14 Bug 1084342: Move |SocketMessageWatcher| to separate file, r=shawnjohnjr
This patch moves |SocketMessageWatcher| into a separate file. The new
Bluetooth daemon will require it's functionality for OPP profiles.
2014-10-28 10:34:09 +01:00
Jamin Liu
2b891c7e6f Bug 1069868 - Set Bluetooth property |discoverable| to |false| after Bluetooth enabled. r=shuang
Bluetooth scan mode is BT_SCAN_MODE_CONNECTABLE by default, it means it
should be connectable and non-discoverable.
2014-10-21 01:27:00 -04:00
Thomas Zimmermann
368c9b8be6 Bug 1083092: Data parameter for |mozilla::ipc::SocketIOSendTask| template, r=shawnjohnjr
The data class in |SocketIOSendTask| is now a template parameter, instead
of being hard-coded to |UnixSocketRawData|. The patch also adds soem minor
cleanups to the file.
2014-10-21 10:52:12 +02:00
Thomas Zimmermann
8136d65793 Bug 1083092: Introduce |mozilla::ipc::SocketBase|, r=shawnjohnjr
The new class |SocketBase| contains the notification mechanism of
|SocketConsumerBase|. The latter still contains I/O methods.
2014-10-21 10:52:11 +02:00
Thomas Zimmermann
3a8da53d02 Bug 1074419: Close received socket file descriptors on errors, r=shawnjohnjr 2014-10-01 10:50:33 +02:00
Thomas Zimmermann
7b70c83aca Bug 1083708: Handle non-existant Bluetooth profile interfaces correctly, r=shawnjohnjr
Bluetooth profile managers just return an error if a profile interface is
not available. Doing so breaks the initialization and cleanup routines. This
patch changes the profile managers to still report an error, but signal
progress to the given result runnable.
2014-10-16 16:40:49 +02:00
Thomas Zimmermann
d478ea1fbb Bug 1081981: Fix Out-of-bounds read when decoding BT properties, r=shawnjohnjr
Bluetooth's RSSI property is encoded as pointer to a signed 8-bit
value. Gecko currently interprets this as pointer to a 32-bit
value; so the result of dereferencing the pointer is undefined.

This patch fixes the bug by interpreting the RSSI property correctly.
2014-10-15 11:38:06 +02:00
Jamin Liu
64aaa25a4a Bug 1052304 - Notify OPP manager when Bluetooth socket message error occurs. r=btian 2014-10-09 17:54:38 +08:00
Andrea Marchesini
1560ff52a9 Bug 1047483 - patch 3 - Renaming DOMFile to File, r=ehsan
--HG--
rename : content/base/public/nsDOMFile.h => content/base/public/File.h
rename : content/base/src/nsDOMFile.cpp => content/base/src/File.cpp
2014-10-08 17:15:23 +01:00
Andrea Marchesini
57fa89d6de Bug 1047483 - patch 1 - Porting DOMFile/DOMBlob to WebIDL, r=bz, r=bkelly, r=bholley 2014-10-08 17:15:22 +01:00
Thomas Zimmermann
e123efaefa Bug 1065999: Ignore unknown Bluetooth properties, r=shuang
This patch is a workaround for unknown Bluetooth properties. Instead of
failing completely, we simply ignore them.
2014-09-29 11:41:02 +02:00
Jocelyn Liu
1d1ba342f4 Bug 1072802: Use nsRefPtr to avoid ReplyRunnable being released during IPC process. r=tzimmermann 2014-10-07 16:46:05 +08:00
Edgar Chen
5e5f03c964 Bug 994461 - Part 3: BT changes for IccInfo WebIDL. r=echou 2014-09-15 23:14:49 +08:00
Ben Turner
b5f643fa70 Bug 994190 - 'Modify main-thread IndexedDB to use PBackground', r=khuey. 2014-09-26 16:21:57 -07:00
Ryan VanderMeulen
bf538e8745 Merge inbound to m-c. a=merge 2014-09-25 16:46:51 -04:00
Ben Tian
1d423552ff Bug 1063066 - [Flame][KK] Bluetooth transfer does not work in Gallery App. r=tzimmermann 2014-09-25 18:35:54 +08:00
Shawn Huang
a1c0da8989 Bug 1062697 - Initialize avrcp play status using the proper value, disable AvRCP 1.5. r=btian 2014-09-24 03:36:00 -04:00
Mike Habicher
dda4a3a8c0 Bug 1053966 - move mozsettings-changed Observer info from aSubject to aData, r=bz,qDot 2014-09-16 13:15:16 -04:00
Kartikaya Gupta
49a68ccfb5 Bug 1068872 - Fix nullptr dereferencing. r=echou 2014-09-18 07:00:00 -04:00
Vicamo Yang
7d4d4ffdb3 Bug 1063304 - 3.c/3: accommodate other components. r=echen 2014-09-21 15:24:43 +08:00
Ben Turner
68190e91be Backout bug 994190 and merge over some stuff that landed afterwards on a CLOSED TREE. 2014-09-17 19:36:01 -04:00
Carsten "Tomcat" Book
04587e0c5b Backed out changeset 9ff2889f236a (bug 1063304) 2014-09-17 13:13:08 +02:00
Ryan VanderMeulen
234d711b8c Backed out changeset ed586ca080c0 (bug 1053966) for the same Mnw permafails it was backed out for previously. 2014-09-16 16:54:25 -04:00
Mike Habicher
04a56fc028 Bug 1053966 - move mozsettings-changed Observer info from aSubject to aData, r=bz,qDot 2014-09-16 13:15:16 -04:00
Vicamo Yang
cc05806a50 Bug 1063304 - 3.c/3: accommodate other components. r=echen 2014-09-16 21:20:18 +08:00
Eric Chou
0c6bd09dac Bug 1067206 - Fire DOM request even when Bluetooth pairing failed, f=jaliu, r=shuang 2014-09-16 13:14:01 +08:00
Ben Turner
c6ede83e24 Bug 994190 - 'Modify main-thread IndexedDB to use PBackground', r=khuey.
--HG--
rename : dom/indexedDB/ipc/SerializationHelpers.h => dom/indexedDB/SerializationHelpers.h
rename : dom/indexedDB/ipc/unit/head.js => dom/indexedDB/test/unit/xpcshell-head-child-process.js
rename : dom/indexedDB/test/unit/head.js => dom/indexedDB/test/unit/xpcshell-head-parent-process.js
rename : dom/ipc/Blob.h => dom/ipc/BlobParent.h
rename : dom/ipc/FileDescriptorSetChild.cpp => ipc/glue/FileDescriptorSetChild.cpp
rename : dom/ipc/FileDescriptorSetChild.h => ipc/glue/FileDescriptorSetChild.h
rename : dom/ipc/FileDescriptorSetParent.cpp => ipc/glue/FileDescriptorSetParent.cpp
rename : dom/ipc/FileDescriptorSetParent.h => ipc/glue/FileDescriptorSetParent.h
rename : dom/ipc/PFileDescriptorSet.ipdl => ipc/glue/PFileDescriptorSet.ipdl
2014-09-13 12:12:19 -04:00
Thomas Zimmermann
3d2a27c5fc Bug 1061489: Distribute Bluetooth HAL implementation among multiple files, r=shuang
The files BluetoothHALInterface.{cpp,h} are getting too large. This patch
moves helper functions and profile implementations into separate files.
2014-09-11 12:23:02 +02:00
Thomas Zimmermann
fb7244b077 Bug 1061489: Move Bluedroid code out of BluetoothInterface.{cpp,h}, r=shuang
This patch moves BluetoothInterface.{cpp,h} to the generic section
of Gecko's Bluetooth code, and the Bluedroid implementation into
the new files BluetoothHalImplementation.{cpp,h}.

BluetoothHalImplementation.{cpp,h} contains all Bluedroid-specific
code. The classes in BluetoothInterface.{cpp,h} are now interfaces
for Gecko.

--HG--
rename : dom/bluetooth/bluedroid/BluetoothInterface.cpp => dom/bluetooth/bluedroid/BluetoothHALInterface.cpp
2014-09-11 12:23:01 +02:00
Carsten "Tomcat" Book
32903aa4ee Backed out changeset 8644a9c4b993 (bug 1061489) for bustage on a CLOSED TREE
--HG--
rename : dom/bluetooth/bluedroid/BluetoothHALInterface.cpp => dom/bluetooth/bluedroid/BluetoothInterface.cpp
2014-09-11 11:11:06 +02:00
Carsten "Tomcat" Book
a247de7315 Backed out changeset e2e2e6397253 (bug 1061489) 2014-09-11 11:10:32 +02:00
Thomas Zimmermann
6f6f56a19d Bug 1061489: Distribute Bluetooth HAL implementation among multiple files, r=shuang
The files BluetoothHALInterface.{cpp,h} are getting too large. This patch
moves helper functions and profile implementations into separate files.
2014-09-11 09:38:13 +02:00
Thomas Zimmermann
e6d519eb23 Bug 1061489: Move Bluedroid code out of BluetoothInterface.{cpp,h}, r=shuang
This patch moves BluetoothInterface.{cpp,h} to the generic section
of Gecko's Bluetooth code, and the Bluedroid implementation into
the new files BluetoothHalImplementation.{cpp,h}.

BluetoothHalImplementation.{cpp,h} contains all Bluedroid-specific
code. The classes in BluetoothInterface.{cpp,h} are now interfaces
for Gecko.

--HG--
rename : dom/bluetooth/bluedroid/BluetoothInterface.cpp => dom/bluetooth/bluedroid/BluetoothHALInterface.cpp
2014-09-11 09:38:10 +02:00
Ryan VanderMeulen
9b21225b74 Backed out changeset 661f503ea524 (bug 1053966) for Mnw perma-fail. 2014-09-10 12:36:12 -04:00
Mike Habicher
3413e5b08b Bug 1053966 - pass settings change notices to Observers as aSubject instead of aData, r=bz,qdot 2014-08-25 18:06:31 -04:00
Thomas Zimmermann
bc211f689d Bug 1059813: Use getter/setter methods of |UnixSocketRawData| in Bluetooth, r=btian 2014-09-08 11:44:02 +02:00
Thomas Zimmermann
3781429b8d Bug 1062754: Support peer shutdown and EOF in |SocketIOBase|, r=qdot, btian
Calling read on a socket that has been closed for reading by the
peer, read returns 0. The socket is still readable however, so
polling and reading will return constant results of 0 received
bytes.

With this patch, if a socket's peer shuts down reading or if
we reached the EOF, we stop watching the file descriptor for
readability. |SocketIOBase| will detect this case exactly once
and initiate the socket's shutdown.
2014-09-05 10:16:24 +02:00
Ryan VanderMeulen
cd1b37c0c7 Backed out 6 changesets (bug 1059813) by request.
Backed out changeset cffeecd46cad (bug 1059813)
Backed out changeset f991f546dbcd (bug 1059813)
Backed out changeset ab4056a1aa06 (bug 1059813)
Backed out changeset d08a91fee65a (bug 1059813)
Backed out changeset 7bd0ecf96e59 (bug 1059813)
Backed out changeset 0b7a62175398 (bug 1059813)
2014-09-03 11:29:16 -04:00
Thomas Zimmermann
34164819fa Bug 1059813: Use getter/setter methods of |UnixSocketRawData| in Bluetooth, r=btian 2014-09-03 16:43:14 +02:00
Edgar Chen
05bbe767b0 Bug 843452 - Part 2-2: Bluetooth changes for MobileConnectionService interface. r=echou 2014-07-02 17:14:08 +08:00
Thomas Zimmermann
fb235393df Bug 1061126: Cleanup ANDROID_VERSION from BluetoothA2DPManager, r=shuang
All interfaces for Bluetooth profiles are now always available, so we
don't have to check for specific versions of Bluedroid. Instead, we
try to call the methods, and check their results.
2014-09-02 12:46:08 +02:00
Thomas Zimmermann
6ff050a2f2 Bug 1061126: Make Bluetooth AVRCP interface generally available, r=shuang
The methods of |BluetoothAVRCPInterface| are now always available. On
Android versions before 18, which don't support AVRCP, they always
fail with STATUS_UNSUPPORTED.
2014-09-02 12:46:07 +02:00
Thomas Zimmermann
5c43724d2f Bug 1061126: Fix constants in Bluedroid HFP manager, r=shuang
This patch replaces the remaining Bluedroid constants from Bluedroid's
|BluetoothHfpManager| with Gecko constants.
2014-09-02 12:46:07 +02:00
Thomas Zimmermann
58306fe0e3 Bug 1061126: Add AVRCP_UID_SIZE to Bluetooth, r=shuang
This constant AVRCP_UID_SIZE replaces the corresponding Bluedroid
constant BTRC_UID_SIZE.
2014-09-02 12:46:07 +02:00
Thomas Zimmermann
5ef001498b Bug 1061219: Don't protect |ConvertAttributeString| by ANDROID_VERSION, r=shuang
The function |ConvertAttributeString| doesn't depend on the Android
version is is used by generic code in Gecko. Don't protect it by
ANDROID_VERSION.
2014-09-02 12:33:05 +02:00
Thomas Zimmermann
5d2a16862f Bug 1061219: Fix string conversion for A2DP connection states, r=shuang
The C++ compiler for Flatfish lacks support for initialized arrays of
C-string pointers. This patch fixes the problem by using a switch
statement for the string conversion of A2DP connection states.
2014-09-02 12:33:05 +02:00
Thomas Zimmermann
fc0c210fb4 Bug 1057337: Cleanup BluetoothA2DPManager and related code, r=shuang
The patch removes unused callbacks and helper runnables from the
Bluedroid implementation of BluetoothA2DPManager. It also removes
the last Bluedroid-specific code from BluetoothUtils.{cpp,h}.
2014-09-01 10:11:54 +02:00
Thomas Zimmermann
5dfa67fb26 Bug 1057337: Integrate helper runnables into A2DP and AVRCP notifications, r=shuang
The helper runnables where necessary to perform certain operations on
the main thread after having received a callback from Bluedroid. The
new notification methods already run on the main thread, so the helper
runnables can be replaced by direct calls.
2014-09-01 10:11:54 +02:00
Thomas Zimmermann
5e058a39fa Bug 1057337: Use Bluetooth A2DP and AVRCP notifications, r=shuang
This patch converts Bluetooth's A2DP manager and Bluedroid interface
to use notifications instead of callbacks.
2014-09-01 10:11:54 +02:00
Thomas Zimmermann
cd0191480a Bug 1057337: Implement Bluetooth A2DP notifications, r=shuang
This patch adds Bluetooth A2DP and AVRCP notifications to Gecko's
A2DP manager. The code has been taken from taken from the callback
implementations, and adapted to run on the main thread. No further
cleanups have been applied.
2014-09-01 10:11:53 +02:00
Thomas Zimmermann
5801e99e0c Bug 1057337: Add Bluetooth A2DP and AVRCP notifications, r=shuang
This patch adds A2DP and AVRCP notifications and callbacks to
Gecko's Bluedroid interface. Support for AVRCP depends on the
version of the Android base system and is only available on
versions 18, 19 or later.
2014-09-01 10:11:53 +02:00
Ryan VanderMeulen
e3a1f87d6e Merge b2g-inbound to m-c. a=merge 2014-08-29 15:26:40 -04:00
Jamin Liu
bce9b2c8eb Bug 1060216 - [Bluedroid] Distribute "PropertyChanged" signal to notify BluetoothAdapter when discovery state changed. r=shuang 2014-08-29 02:10:00 -04:00
Jamin Liu
4fb0be6d18 Bug 1056413 - Broadcast system message to notify Gaia when Bluetooth authentication failure occurs. r=shuang 2014-08-29 09:58:52 +08:00
Wes Kocher
ff8df64487 Backed out 17 changesets (bug 843452)
Backed out changeset e72a0297d488 (bug 843452)
Backed out changeset 73f62ce4190f (bug 843452)
Backed out changeset 6d4a49ebd9fc (bug 843452)
Backed out changeset ac93e396669f (bug 843452)
Backed out changeset cf4fc721821e (bug 843452)
Backed out changeset 9a94ea71d232 (bug 843452)
Backed out changeset b95ff097374d (bug 843452)
Backed out changeset 8d6428a93500 (bug 843452)
Backed out changeset e31b86ef0e80 (bug 843452)
Backed out changeset bd4efde535cd (bug 843452)
Backed out changeset 02bbcd8ac571 (bug 843452)
Backed out changeset f7f41bf82b22 (bug 843452)
Backed out changeset 20f42764cd38 (bug 843452)
Backed out changeset 82f8670f5c17 (bug 843452)
Backed out changeset 52f25f1278e3 (bug 843452)
Backed out changeset 181337820a7c (bug 843452)
Backed out changeset 9bd12641af03 (bug 843452)

--HG--
rename : dom/mobileconnection/interfaces/nsIMobileConnectionService.idl => dom/mobileconnection/interfaces/nsIMobileConnectionProvider.idl
2014-08-28 16:51:41 -07:00
Jamin Liu
6bd31d9b1d Bug 929376 - Part 2: Move 'IsConnected' from BluetoothManager to BluetoothAdapter and allow it to be used on content process. r=shawnjohnjr 2014-08-26 18:50:35 +08:00
Ryan VanderMeulen
7d024f80ba Backed out changesets d9cbdfbed1f5 and a38ad201299f (bug 929376) for bustage. 2014-08-25 10:46:22 -04:00
dannyliang
de598a730c Bug 1057309 - Fix BT build break in flatfish. r=tzimmermann 2014-08-25 00:00:00 -04:00
Jamin Liu
d9a2c4553d Bug 929376 - Part 2: Move 'IsConnected' from BluetoothManager to BluetoothAdapter and allow it to be used on content process. r=shawnjohnjr 2014-08-25 03:53:00 -04:00
Thomas Zimmermann
592a4673f7 Bug 1053804: Replace |MainThreadTask| by |CloseScoRunnable|, r=shuang
|MainThreadTask| performs different operations on the main thread,
depending on a given command flag. There is only one command, CLOSE_SCO,
in use.

This patch removes the command infrastructure and replaces |MainThreadTask|
by |CloseScoRunnable|, which implements only this single operation.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
82e0af3a5a Bug 1053804: Cleanup Bluetooth Handsfree manager, r=shuang
This patch removes the unusued callback code from Bluetooth's
Handsfree manager.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
8bc1aa2290 Bug 1053804: Integrate runnables into Handsfree notifications, r=shuang
A number of notifications dispatch runnables to the main thread for
invoking actions. This is not requireed, as notifications already
run on the main thread. This patch merges the runnable's code into
the respective notifications.
2014-08-21 10:10:39 +02:00
Thomas Zimmermann
de8efe7881 Bug 1053804: Use Bluetooth Handsfree notifications, r=shuang
This patch replaces Handsfree callbacks by notifications. One
important change is that the first call to |BluetoothHandsfreeManager::Get|
now happens during initialization. Hence the Handsfree manager is now setup
immediately, instead of later at use.
2014-08-21 10:10:38 +02:00
Thomas Zimmermann
72eb36ef53 Bug 1053804: Implement Bluetooth Handsfree notifications, r=shuang
The patch adds notifications support to the Handsfree manager. Each
notification's method is taken from the respective callback code, with
changes to the arguments' data types.
2014-08-21 10:10:38 +02:00
Thomas Zimmermann
11b6bf3249 Bug 1053804: Add Bluetooth Handsfree notifications, r=shuang
The notification interface consists of virtual methods that are
invoked form the Bluetooth backend on certain events. The Handsfree
manager can implement the methods to handle these events.
2014-08-21 10:10:37 +02:00
Juan Gomez
c33279c8d0 Bug 1054791 - [Flatfish][Build] Build failed in BluetoothInterface.cpp: 'bt_remote_version_t' does not name a type. r=tdz 2014-08-17 16:21:00 -04:00
Edgar Chen
100dbeef98 Bug 843452 - Part 2-2: Bluetooth changes for MobileConnectionService interface. r=echou 2014-07-02 17:14:08 +08:00
Bobby Holley
30602c16ab Bug 1052052 - Hoist Auto*JSContext into nsContentUtils and kill nsCxPusher.{cpp,h}. r=gabor 2014-08-14 18:47:15 -07:00
Thomas Zimmermann
7056e64501 Bug 1048915: Cleanup |BluetoothServiceBluedroid| and related functions, r=shuang
This patch removes unsued code from |BluetoothServiceBluedroid|, related
functions, and cleans up the file. It

 * removes callbacks,
 * removes callback helper tasks,
 * removes helper functions, and
 * cleans up global variables.
2014-08-14 18:12:52 +02:00
Thomas Zimmermann
2de21005cd Bug 1048915: Integrate helper runnables into notification methods, r=shuang
Bluedroid callbacks were usually called on a separate thread that
was specific to this task. So Gecko's Bluetooth Core contained a
number of runnables for executing callback operations on the main
thread.

Since all notifications always run on the main thread, the extra
runnables are not required any longer. This patch integrates them
into the notification methods where possible.
2014-08-14 18:12:52 +02:00
Thomas Zimmermann
e21a2e0183 Bug 1048915: Use Bluetooth Core notifications, r=shuang
This patch connects backend and Gecko side of the notification
code. Gecko will now receive notifications instead of Bluedroid
callbacks.
2014-08-14 18:12:52 +02:00
Thomas Zimmermann
183d826644 Bug 1048915: Implement Bluetooth Core notifications, r=shuang
This patch adds the Gecko-side of the Core notifications. The current
implementation of the notification methods has been copied from the
repsective Bluedroid callback methods, with only minor changes to adapt
them to Gecko data types.
2014-08-14 18:12:51 +02:00
Thomas Zimmermann
9fd34d94f9 Bug 1048915: Add Bluetooth Core notifications, r=shuang
A notification is a callback from the Bluetooth backend to inform
Gecko about a event. Bluedroid uses function pointers for this, but
in Gecko we use method calls instead.

Gecko implements notification handlers for the Bluetooth backend. The
backend converts incomming events to Gecko types and forwards them to
the registered notification handler.
2014-08-14 18:12:51 +02:00
Thomas Zimmermann
b5ad6a21b0 Bug 1048915: Add infrastructure for Bluetooth notifications, r=shuang
This patch adds some runnable classes for running class methods on
the main thread. This is the base of the upcomming notification
mechanism for Bluetooth.
2014-08-14 18:12:51 +02:00
Thomas Zimmermann
a918b9bec8 Bug 1050299: Wrap BlutoothInterface array initializaton in preprocessor macro, r=shuang
This patch fixes array initialization in the |Convert| functions of
|BluetoothInterface|. Designated initializers are not supported by
all compilers, so we wrap them into a macro and only used them when
possible.
2014-08-07 16:51:14 +02:00
Thomas Zimmermann
cb9d02fafc Bug 992206: Cleanup interface of |BluetoothSocket|, r=shuang
This patch cleans up the interface of Bluedroid's |BluetoothScoket|
to look more similar the interface of |UnixSocketConsumer|, from
which it descends.
2014-08-07 11:37:50 +02:00
Thomas Zimmermann
745af07704 Bug 992206: Use |SocketIOShutdownTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:50 +02:00
Thomas Zimmermann
ae10ab1fe5 Bug 992206: Use |SocketIOSendTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
f84576c02e Bug 992206: Use |SocketIOTask| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
984e597698 Bug 992206: Use |SocketIOBase| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
95c4438192 Bug 992206: Use |SocketIODeleteInstanceRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:49 +02:00
Thomas Zimmermann
adfd295aad Bug 992206: Use |SocketIORequestClosingRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
ee67071005 Bug 992206: Use |SocketIOReceiveRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
17a41cf856 Bug 992206: Use |SocketIOEventRunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:48 +02:00
Thomas Zimmermann
d534878cd1 Bug 992206: Use |SocketIORunnable| for Bluetooth sockets, r=shuang 2014-08-07 11:37:47 +02:00
Thomas Zimmermann
0758fa5854 Bug 992206: Use |SocketConsumerBase| for Bluetooth sockets, r=shuang 2014-08-07 11:37:47 +02:00
Thomas Zimmermann
091d002338 Bug 992206: Cleanup fields in |DroidSocketImpl|, r=shuang
|DroidSocketImpl| contains several unused fields that are removed
by this patch.
2014-08-07 11:37:47 +02:00
Thomas Zimmermann
faea02b189 Bug 1038591: Convert Bluedroid status codes and error handlers, r=shuang
This patch converts Bluedroid status codes in Gecko to the
backend-neutral data type |BluetoothStatus|. All error handlers
have been adapted. The Bluedroid type |bt_status_t| only remains
in |BluetoothInterface|.
2014-08-06 11:45:32 +02:00
Thomas Zimmermann
361a5a41d5 Bug 1038591: Convert Bluetooth AVRCP data types in |BluetoothAvrcpInterface|, r=shuang
With this patch |BluetoothAvrcpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:22 +02:00
Thomas Zimmermann
da98b6b73e Bug 1038591: Convert Bluetooth A2DP data types in |BluetoothA2dpInterface|, r=shuang
With this patch |BluetoothA2dpInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:14 +02:00
Thomas Zimmermann
7a7ebd8e5e Bug 1038591: Convert Bluetooth Handsfree data types in |BluetoothHandsfreeInterface|, r=shuang
With this patch |BluetoothHandsfreeInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:45:05 +02:00
Thomas Zimmermann
fc3af497c6 Bug 1038591: Convert Bluetooth Socket data types in |BluetoothSocketInterface|, r=shuang
With this patch |BluetoothSocketInterface| is responsible for converting all
Bluetooth data types to Bluedroid types. All callers have been adapted.
2014-08-06 11:44:56 +02:00
Thomas Zimmermann
98b2781ca9 Bug 1038591: Convert Bluetooth data types in |BluetoothInterface|, r=shuang
With this patch, |BluetoothInterface| is responsible for converting
all Bluetooth data types to Bluedroid types. All callers have been
adapted.
2014-08-06 11:44:47 +02:00
Thomas Zimmermann
f9375161ab Bug 1045486: Rename |ConnectResultHandler| to |ConnectSocketResultHandler|, r=shuang
The linker mixes up |ConnectResultHandler| from BluetoothSocket.cpp
and BluetoothHfpManager.cpp. Consequently one of them gets removed
when linking libxul.so.

This patch works around the problem by renaming |ConnectResultHandler|
in BluetoothSocket.cpp to |ConnectSocketResultHandler|.
2014-08-05 09:29:14 +02:00
Thomas Zimmermann
3de797f9bb Bug 1045486: Fix member types of |BluetoothInterfaceRunnable{1,3}<>|, r=shuang
When sending a |BluetoothInterfaceRunnable3<>| to the main thread,
in the case of BluetoothSocketResultHandler, the connect and accept
operations transfer string objects by reference from the I/O thread.
When the reference is accessed, the actual string might be removed
already.

The patch fixes the problem by storing the strings as value in the
runnable object.
2014-08-05 09:28:35 +02:00
Thomas Zimmermann
a220c486c1 Bug 1046737: Use value to maintain Bluetooth bonding arrays, r=shuang
The Bluedroid code uses indices into global arrays while pairing
with devices. These arrays might get changed in between and the
indices become incorrect. The result is undefined.

The patch fixes the problem by using the value, a reply runnable,
directly for array lookups. No indices are required.

This bug was fixed in bluetooth2/ already, but not yet backported.
2014-08-01 10:26:20 +02:00
Thomas Zimmermann
5befe1dccb Bug 1045461: Fix HFP fallback code to work with latest Bluetooth changes, r=shuang
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:09 +02:00
Thomas Zimmermann
334db0a7df Bug 1029390: Asynchronous |BluetoothAvrcpInterface::SetVolume|, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
91c489af19 Bug 1029390: Asynchronous AVRCP response interfaces, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
f3ed04c2d8 Bug 1029390: Asynchronous A2DP connect/disconnect, r=shuang 2014-07-23 07:56:23 +02:00
Thomas Zimmermann
08bd1b58db Bug 1029390: Asynchronous init and cleanup of A2DP/AVRCP, r=shuang 2014-07-23 07:56:22 +02:00
Thomas Zimmermann
96a69642e3 Bug 1029390: Add A2DP/AVRCP result-handler infrastructure, r=shuang 2014-07-23 07:56:18 +02:00
Thomas Zimmermann
75d0df4847 Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::PhoneStateChange|, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
e4272d9672 Bug 1029389: Asynchronous Bluetooth Handsfree response methods, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
23e1230403 Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::DeviceStatusNotification|, r=shuang 2014-07-15 10:56:55 +02:00
Thomas Zimmermann
f303de6a9a Bug 1029389: Asynchronous |BluetoothHandsfreeInterface::VolumeControl|, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
0e440b9331 Bug 1029389: Asynchronous Bluetooth Handsfree voice-recognition functions, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
eaa665192e Bug 1029389: Asynchronous Bluetooth Handsfree connection handling, r=shuang 2014-07-15 10:56:54 +02:00
Thomas Zimmermann
f36d7fcdd1 Bug 1029389: Asynchronous Bluetooth Handsfree init and cleanup methods, r=shuang 2014-07-15 10:56:53 +02:00
Thomas Zimmermann
466b3de750 Bug 1029389: Add result-handler class for Bluetooth Handsfree profile, r=shuang 2014-07-15 10:56:53 +02:00
Thomas Zimmermann
5922253a50 Bug 1029389: Asynchronous starting and stopping of profile managers, r=shuang
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-15 10:56:53 +02:00
Thomas Zimmermann
525eab6a15 Bug 1038097: Include <errno.h> in BluetoothInterface.cpp, r=shuang
This patch adds a missing include statement for <errno.h> to
BluetoothInterface.cpp. This fixes the build for flatfish
devices. For safety, the patch also adds an include statement
for <unistd.h>, which might be necessary for several functions.
2014-07-14 13:43:11 +02:00
Thomas Zimmermann
e54dcfd3a7 Bug 1035240: Close file descriptor in BluetoothSocket, r=shuang
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-11 09:22:51 +02:00
Thomas Zimmermann
aa4af73f0a Bug 1029387: Remove socket setup from BluetoothSocket, r=shuang
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-10 15:11:09 +02:00
Thomas Zimmermann
3c839fc138 Bug 1029387: Handle socket setup for |Accept| in BluetoothInterface, r=shuang
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-10 15:10:54 +02:00
Thomas Zimmermann
d23c61e5d2 Bug 1029387: Handle socket setup for |Connect| in BluetoothInterface, r=shuang
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-10 15:10:45 +02:00
Thomas Zimmermann
12a6ce5437 Bug 1029387: Introduce connection status for Bluedroid sockets, r=shuang
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-10 15:10:36 +02:00
Thomas Zimmermann
b2f94a0df3 Bug 1029387: Convert Bluedroid Socket's Connect method to asynchronous design, r=shuang 2014-07-10 15:10:26 +02:00
Thomas Zimmermann
907eb2797c Bug 1029387: Convert Bluedroid Socket's Listen method to asynchronous design, r=shuang 2014-07-10 15:10:13 +02:00
Thomas Zimmermann
f87c512bc8 Bug 1029387: Add result handler for Bluetooth Socket interface, r=shuang 2014-07-10 15:09:44 +02:00
Shawn Huang
82df54a710 Bug 1033273 - Part 1: Add InitHfpInterface/DeinitHfpinterface. r=btian 2014-07-03 00:04:00 -04:00
Shawn Huang
897601714b Bug 1033234 - Fix build break when building JB 4.2. r=tzimmermann 2014-07-02 22:58:00 -04:00
Thomas Zimmermann
1e1abb5f92 Bug 1029386: Asynchronous Bluedroid DUT and LE interfaces, r=shuang 2014-07-03 09:53:39 +02:00
Thomas Zimmermann
7fc27209e5 Bug 1029386: Asynchronous authentification in Bluedroid, r=shuang 2014-07-03 09:53:32 +02:00
Thomas Zimmermann
5ad7032e90 Bug 1029386: Asynchronous Bluedroid device bonding, r=shuang 2014-07-03 09:53:20 +02:00
Thomas Zimmermann
920ff4a3a8 Bug 1029386: Asynchronous discovery methods in Bluedroid, r=shuang 2014-07-03 09:53:06 +02:00
Thomas Zimmermann
de027ee659 Bug 1029386: Asynchronous remote-service methods in Bluedroid, r=shuang 2014-07-03 09:52:52 +02:00
Thomas Zimmermann
9a7c41c9e2 Bug 1029386: Asynchronous Bluedroid device-property methods, r=shuang 2014-07-03 09:52:35 +02:00
Thomas Zimmermann
32dc1214e2 Bug 1029386: Asynchronous Bluedroid adapter methods, r=shuang 2014-07-03 09:52:19 +02:00
Thomas Zimmermann
25befc9c4f Bug 1029386: Asynchronous Bluedroid starting and stopping, r=shuang 2014-07-03 09:51:57 +02:00
Thomas Zimmermann
104df52f65 Bug 1029386: Split Bluedroid start/stop code, r=shuang
This patch prepares refactoring of the Bluedroid start and stop
code towards an asynchronous design.
2014-07-03 09:51:40 +02:00
Thomas Zimmermann
e2ec3ca124 Bug 1029386: Add result handler for Bluetooth Core profile, r=shuang
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-03 09:51:27 +02:00
Thomas Zimmermann
54c1bbb4d7 Bug 1027030: Convert Bluetooth to use Bluedroid wrappers, r=shuang
This patch converts the Bluedroid backend to use the wrapper
classes. The affected interfaces are Core, Sockets, Handsfree,
A2DP, and AVRCP.
2014-06-27 15:45:26 +08:00
Thomas Zimmermann
1d930119cb Bug 1027030: Wrap Bluedroid interfaces in classes, r=shuang
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-06-27 15:45:26 +08:00
Shawn Huang
4e3d86dd66 Bug 1027506 - [bluedroid] Don't reset call array after HFP link lost, r=echou 2014-06-26 09:58:50 +08:00
Shawn Huang
0c9bf361e3 Bug 1015819 - Part 1: [bluedroid] Restore CoD value based on SDP records. r=echou, f=btian 2014-06-20 00:48:00 -04:00
Shawn Huang
d881e1b563 Bug 989976 - [bluedroid] Hit SIGBUS on unaligned access while doing AdapterPropertiesChangeCallback. r=echou 2014-06-17 01:38:00 -04:00
Vicamo Yang
a2515b9bfe Bug 927320 - 1/2: rename TelephonyProvider to TelephonyService. r=aknow
--HG--
rename : dom/telephony/gonk/TelephonyProvider.js => dom/telephony/gonk/TelephonyService.js
rename : dom/telephony/gonk/TelephonyProvider.manifest => dom/telephony/gonk/TelephonyService.manifest
rename : dom/telephony/ipc/TelephonyIPCProvider.cpp => dom/telephony/ipc/TelephonyIPCService.cpp
rename : dom/telephony/ipc/TelephonyIPCProvider.h => dom/telephony/ipc/TelephonyIPCService.h
rename : dom/telephony/nsIGonkTelephonyProvider.idl => dom/telephony/nsIGonkTelephonyService.idl
rename : dom/telephony/nsITelephonyProvider.idl => dom/telephony/nsITelephonyService.idl
2014-06-03 22:15:25 +08:00
Eric Chou
147437e906 Bug 1015826 - Dispatch part of BondStateChangedCallback to main thread, r=tzimmermann 2014-05-29 11:24:09 +08:00
Eric Chou
e0f5c75ecf Bug 1015826 - Dispatch part of RemoteDevicePropertiesCallback to main thread, r=tzimmermann 2014-05-29 11:24:07 +08:00
Eric Chou
d58e778695 Bug 1015826 - Use Atomic to ensure thread-safe, r=tzimmermann 2014-05-29 11:24:05 +08:00
Eric Chou
b4286968bc Bug 1015826 - Dispatch part of AdapterPropertiesCallback to main thread, r=tzimmermann
Please note that sSetPropertyRunnableArray[0] should be fired after
firing "PropertyChanged" to BluetoothAdapter, however this is not
guaranteed in current implementation. This patch also fixed this
potential problem.
2014-05-29 11:24:03 +08:00
Eric Chou
fce091a6e1 Bug 1015826 - Remove unneccessary variable sIsBtEnabled to avoid racing issues, r=tzimmermann 2014-05-29 11:24:02 +08:00
Eric Chou
b50caa8526 Bug 942104 - Notify BluetoothAdapter about discovery state changed (bluedroid), r=gyeh 2014-05-23 14:01:37 +08:00
Birunthan Mohanathas
53a11ecbdf Bug 869836 - Part 4: Use EqualsLiteral instead of Equals(NS_LITERAL_STRING(...)). r=ehsan 2014-05-22 06:48:51 +03:00
Birunthan Mohanathas
016d46e5f3 Bug 869836 - Part 3: Use Append('c') instead of AppendLiteral("c"). r=ehsan 2014-05-22 06:48:51 +03:00
Shawn Huang
96c131f612 Bug 1005901 - [bluedroid] Always do cleanup after disable. r=btian 2014-05-16 04:48:00 -04:00
Thomas Zimmermann
b11ec67cd4 Bug 997137: Inherit |DroidSocketImpl| from |UnixFdWatcher|, r=echou
This patch converts |DroidSocketImpl| to inherit from |UnixFdWatcher|.
|UnixFdWatcher| maintains a Unix file descriptor on the I/O loop, and
replaces similar functionality in |DroidSocketImpl|.

As a side effect, all file descriptors in |DroidSocketImpl| are now
non-blocking. This does change the way how the code works, but ensures
that it doesn't block on the I/O thread.
2014-05-14 13:21:10 +02:00
Edgar Chen
31f7c58ed0 Bug 898445 - Part 3: Bluetooth changes for MobileConnection webidl. r=echou 2014-02-25 18:01:23 +08:00
Ben Tian
58bb477865 Bug 1003020 - Update to the latest battery level when HFP manager initializes, r=shuang 2014-04-29 19:12:36 +08:00
Jamin Liu
0f19238a18 Bug 1003663 - Handle the case that user turn off BT during the middle of BT reply. r=echou, f=shuang
- End the session if BT is turn off during the middle of BT profile connection.
- Clear static queues(array) when BT is on.
2014-05-08 19:20:15 +08:00
Jamin Liu
fcc15cdd85 Bug 1003657 - Don't keep reference in GetDefaultAdapterPathInternal() to avoid memory leak. r=echou, f=shuang 2014-05-06 11:45:51 +08:00
Ben Tian
4d407f77c6 Bug 1003762 - [bluedroid] Notify BluetoothRilListener of service change, r=echou 2014-05-05 09:28:20 +08:00
Birunthan Mohanathas
504b581650 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Ben Tian
859092caad Bug 997580 - Don't notify bluedroid of callstate change during transition. r=echou 2014-04-24 11:56:11 +08:00
Ben Tian
44c4e14766 Bug 993286 - Patch 3/3: Add Call.Set() function, r=echou, a=1.4+ 2014-04-21 18:19:53 +08:00
Ben Tian
19a4883c27 Bug 993286 - Patch 2/3: Support AT+CHLD=3 to merge calls, r=echou, a=1.4+ 2014-04-24 14:55:27 +08:00
Ben Tian
0d89f014b5 Bug 993286 - Patch 1/3: Get call setup state from call array, r=echou, a=1.4+ 2014-04-24 13:56:07 +08:00
Jocelyn Liu
12a0e3559f Bug 993289: Fix the logic while updating call setup state, f=btian, r=echou 2014-04-22 16:42:38 +08:00
Jocelyn Liu
446990d843 Bug 993288 - Separate BTHF_CALL_STATE_INCOMING and BTHF_CALL_STATE_WAITING for CLCC response only, for other cases, use BTHF_CALL_STATE_INCOMING for both states. r=echou 2014-04-17 16:55:45 +08:00
Jocelyn Liu
9997af6979 Bug 993290 - Respond OK after receiving ATDxxx and improve readability on ProcessDialCall(). r=echou 2014-04-17 03:09:00 +02:00
Shawn Huang
362d61b71d Bug 994411 - [bluedroid] Ignore pending MO call index, while making MO call with bluetooth headset, r=echou 2014-04-17 17:38:28 +08:00
Jocelyn Liu
30a8f4051e Bug 993280: Respond OK to HF for AT+CLCC and AT+CHLD, r=echou 2014-04-17 17:18:57 +08:00
Thomas Zimmermann
a66cd36350 Bug 992922: Cleanup unused code for Bluedroid sockets 2014-04-15 15:35:00 +02:00
Thomas Zimmermann
d777760bcf Bug 992922: Move listen operation to |DroidSocketImpl|, r=echou, f=shuang
With this patch, the listen operation for Bluedroid sockets
runs on the I/O thread. The related interface is identical to
the one of |UnixSocketConsumer|.
2014-04-15 15:35:00 +02:00
Thomas Zimmermann
3dc34550ea Bug 992922: Move connect operation to |DroidSocketImpl|, r=echou, f=shuang
With this patch, the connect operation for Bluedroid sockets
runs on the I/O thread. The related interface is identical to
the one of |UnixSocketConsumer|.
2014-04-15 15:35:00 +02:00
Ben Tian
0a4cacfaa0 Bug 995061 - Patch 2/2: [bluedroid] apply macro to append named value in bluetooth service, r=echou 2014-04-11 11:52:58 +08:00
Ben Tian
b42332e388 Bug 995061 - Patch 1/2: [bluedroid] define and apply macro to append named value in profile managers, r=echou 2014-04-11 11:52:44 +08:00
Ben Tian
f9baee610f Bug 993278 - [bluedroid][HFP] Respond OK even if subscriber number information is empty, r=echou 2014-04-10 16:32:54 +08:00
Ben Tian
e4e1a45e59 Bug 993275 - [Bluedroid] Ensure icon for audio service devices, r=echou 2014-04-14 09:50:47 +08:00
Ben Tian
08943460b4 Bug 989845 - [bluedroid] Implement KeyPressedCallback to handle HSP commands, r=echou 2014-04-09 17:44:03 +08:00
Shawn Huang
c5b77ab127 Bug 977023 - [bluedroid][KK] AVRCP 1.3/1.4 Pass Through command for fastwd and rewind command. r=gyeh 2014-04-04 08:19:48 -04:00
Ben Tian
81be826851 Bug 984284 - [m-c] a2dp headset icon show on the notification bar, r=echou 2014-03-26 17:02:40 +08:00
Thomas Zimmermann
a910cb0a34 Bug 985949: Correctly forget pointer references in Bluedroid backend, r=echou
This patch fixes a regression from bug 967364. An nsRefPtr is now
correctly cleared by |forget| without causing a crash.
2014-03-24 10:44:29 +01:00
Shawn Huang
28433a4df0 Bug 986352 - [bluedroid] Fix hfp-fallback build break due to miss Reset() for BluetoothHfpManager, r=echou 2014-03-21 17:12:16 +08:00
Thomas Zimmermann
f76d832ae7 Bug 979370: Remove |BluetoothService::IsEnabledInternal|, r=echou
The method |IsEnabledInternal| of |BluetoothService| is not used
any longer. This patch removes it.
2014-03-14 10:50:29 +01:00
Thomas Zimmermann
06c550c2fb Bug 979370: Move Bluetooth thread into BlueZ backend, r=echou
The Bluetooth thread is only necessary for starting and stopping
Bluetooth with the BlueZ backend. Bluedroid implements its multi-
threading internally.

This patch moves the Bluetooth thread into the BlueZ backend. Two
runnables implement the starting and stopping code. The methods
|StartInternal| and |StopInternal| of |BluetoothDBusService| each
create an instance of the respective runnable and send it to the
internal BT thread. The code in |BluetoothService| runs completely
on the main thread.

For the Bluedroid back end, the patch changes a number of thread
assertions.
2014-03-14 10:49:33 +01:00
Shawn Huang
9c0179433d Bug 976485 - [bluedroid] Fix sometimes Avrcp 1.3 play status is out of sync. r=gyeh 2014-03-13 09:12:41 -04:00
Shawn Huang
e44679a57d Bug 979160 - Outgoing connection failure shall trigger OnConnect instead of OnDisconnect, r=echou 2014-03-10 10:33:32 +08:00
Thomas Zimmermann
99747bb5a9 Bug 978809: Remove sToggleBtMonitor from Bluedroid backend, r=echou
When enabling or disabling Bluetooth, the Bluedroid backend waits
on sToggleBtMonitor until a BT adapter has been activated. Once
the monitor gets notified, the backend sends a ToggleBtAck runnable
to the main thread.

This patch removes sToggleBtMonitor from the Bluetooth Bluedroid
backend. Instead of signalling the monitor's notification, the
Bluedroid handler function sends the ToggleBtAck directly.
2014-03-06 12:43:35 +01:00
Eric Chou
73b0511a00 Bug 976943 - Replace OnConnect/OnDisconnect with one function, f=btian, r=gyeh
In BluetoothProfileController, it's meaningless to separate OnConnect
and OnDisconnect since the following steps would be the same for both
cases. Therefore I introduced a function called NotifyCompletion() for
each profile manager to report the completion of connecting/disconnecting
operations.
2014-03-06 19:26:28 +08:00
Eric Chou
54e43ece14 Bug 976943 - Add error handing for connect/disconnect process, f=btian, r=gyeh 2014-03-06 19:26:22 +08:00
Shawn Huang
2406f1830e Bug 951634: Add TimerCallback in Profile Controller, r=gyeh 2014-01-29 19:13:10 +08:00
Thomas Zimmermann
a8ee0089df Bug 977146: Push ToggleBtAck into implementations of {Start|Stop}Internal, r=echou
The methods {Start|Stop}Internal for BlueZ and Bluedroid now send
ToggleBtAck to signal completeness of the operation.

The current patch allows for further cleanups in the BlueZ code. It
does not change the semantics or code flow.
2014-03-03 13:07:17 +01:00
Ben Tian
2a9faeacea Bug 939672 - Patch 2/2: Move NS_DECL_ISUPPORTS and NS_DECL_NSIOBSERVER into BluetoothProfileManagerBase.h 2014-02-20 18:15:47 +08:00
Ben Tian
ccbb3da8ce Bug 939672 - Patch 1/2: [bluedroid] Add fallback BluetoothHfpManager, r=gyeh
--HG--
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.cpp => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.cpp
rename : dom/bluetooth/bluedroid/BluetoothHfpManager.h => dom/bluetooth/bluedroid/hfp/BluetoothHfpManager.h
2014-02-25 11:37:37 +08:00
Ben Tian
dd16b6a00e Bug 972732 - Patch 1/2: Remove bluez/linux and bluedroid/gonk folders, r=echou
--HG--
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.cpp => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.cpp
rename : dom/bluetooth/bluedroid/gonk/BluetoothServiceBluedroid.h => dom/bluetooth/bluedroid/BluetoothServiceBluedroid.h
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.cpp => dom/bluetooth/bluez/BluetoothDBusService.cpp
rename : dom/bluetooth/bluez/linux/BluetoothDBusService.h => dom/bluetooth/bluez/BluetoothDBusService.h
2014-02-25 10:38:51 +08:00
Sam Joch
c47f9b1be2 Bug 968215 - SettingsService needs to have a callback when transaction are completed. r=bent 2014-02-07 12:19:58 +01:00
Eric Chou
b095e499cf Bug 962310 - Support in-process bt file transfer, f=bent, r=gyeh
Currently if an app which lives in chrome process calls SendFile()
to send a file via Bluetooth, it would crash.
2014-02-11 10:07:23 +08:00
Kyle Huey
b468137875 Bug 965498 - Don't lose an already_AddRefed<T> and leak blobs in bluetooth. r=qdot 2014-01-29 17:03:51 -05:00
Ben Tian
237dfc96b7 Bug 957949 - [HFP] Add B2G common bluedroid config file, r=echou 2014-01-15 11:50:27 +08:00
Ben Tian
7e13cdc02c Bug 921999 - Bluetooth Device connection status in Settings is incorrect if remote headset restores connection, r=gyeh 2014-01-23 10:46:45 +08:00
Ryan VanderMeulen
33dcbbf27e Merge m-c to inbound. 2014-01-16 15:07:22 -05:00
Ryan VanderMeulen
208917083a Merge inbound to m-c. 2014-01-16 15:06:12 -05:00
Terrence Cole
3e141bbf5e Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 3; r=sfink
--HG--
extra : rebase_source : ace7b0fa6ba93acbf0ec8ecaeb68ffa287a33665
2014-01-16 09:48:58 -08:00
Shawn Huang
9639f9ac86 Bug 953034 - Part 1: Reply RegisterNotification event EVENT_TRACK_CHANGED with correct parameter whether a track is selected or not. r=gyeh 2014-01-16 08:39:14 -05:00
Tom Schuster
5e3191afd2 Bug 939294 - Change xpidl jsval to handles. r=gabor,bz,khuey,bsmedberg,terrence 2014-01-09 18:39:36 +01:00
Ben Tian
b50cd00092 Bug 948337 - create BluetoothHfpManagerBase for audio manager access 2014-01-13 13:58:43 +08:00
Ben Tian
bca0e37677 Bug 956258 - [cleanup] Patch 2/2: reduce warnings and remove cancel_discovery() in SendFile(), r=echou 2014-01-03 17:25:04 +08:00
Shawn Huang
0f6916429a Bug 946240 - [Bluetooth][gonk-kk] Add flags to support different AVRCP profile version. r=echou 2014-01-08 09:32:19 -05:00
Birunthan Mohanathas
dfbad43639 Bug 784739 - Switch from NULL to nullptr in remaining directories; r=ehsan
--HG--
extra : rebase_source : 1ff19b2c8fd0e77fa8e822f5007a9fa3a6b6d474
2014-01-06 10:06:04 -05:00
Ehsan Akhgari
eaa7491d77 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ben Tian
b30d9c1665 Bug 947870 - Assertion in BluetoothOppManager::CreateFile (bluedroid), r=echou 2013-12-23 16:47:12 +08:00
Ben Tian
90fe54e775 Bug 939022 - BluetoothUtils for bluedroid. Patch 2/3: Modify files, r=echou 2013-12-23 11:24:11 +08:00
Ben Tian
0e8b08f307 Bug 939022 - BluetoothUtils for bluedroid. Patch 1/3: Move files, r=echou
--HG--
rename : dom/bluetooth/BluetoothUtils.cpp => dom/bluetooth/bluedroid/BluetoothUtils.cpp
rename : dom/bluetooth/BluetoothUtils.h => dom/bluetooth/bluedroid/BluetoothUtils.h
rename : dom/bluetooth/BluetoothUtils.cpp => dom/bluetooth/bluez/BluetoothUtils.cpp
rename : dom/bluetooth/BluetoothUtils.h => dom/bluetooth/bluez/BluetoothUtils.h
2013-12-16 19:00:54 +08:00
Ms2ger
3f3cc744ed Merge backout. 2013-12-20 11:36:27 +01:00
Ms2ger
2900763f15 Backout bug 942104 (changesets 4e5746a65a5e:62e32a84a9fb) for missing review. 2013-12-20 11:33:37 +01:00
Eric Chou
444938433c Bug 949772 - Fire PropertyChanged to registered BluetoothDevice objects, r=gyeh 2013-12-18 18:21:37 +08:00
Eric Chou
3af35c0e8b Bug 949772 - Make BluetoothAdpater be able to deal with multiple properties in one PropertyChanged event, f=btian, r=gyeh 2013-12-18 18:21:05 +08:00
Ben Tian
be0306f1a6 Bug 949843 - Don't use char* str = NS_ConvertUTF16toUTF8(aBdAddress).get();, r=echou 2013-12-18 09:53:11 +08:00
Eric Chou
f490f0563a Bug 942104 - Fire event 'ondiscoverystatechanged', r=gyeh
From b03fc76c1810cf3f91aa9f92732c3df4ffd471a3 Mon Sep 17 00:00:00 2001
2013-11-25 14:13:26 +08:00
Eric Chou
31b12ffadb Bug 942712 - Ensure event 'AdapterAdded' will be fired after 'Enabled' being fired, r=gyeh 2013-11-27 16:24:51 +08:00
Carsten "Tomcat" Book
bcf7e426ab Backed out changeset b064b9271e0e (bug 942712) Build bustage on a CLOSED TREE 2013-11-28 12:09:46 +01:00
Eric Chou
241e66d77a Bug 942712 - Ensure event 'AdapterAdded' will be fired after 'Enabled' being fired, r=gyeh 2013-11-28 17:49:04 +08:00
Ben Tian
1ad0367958 Bug 921991 - B2G BT: support multiple sim cards, r=echou, r=mrbkap 2013-11-26 14:11:06 +08:00
Shawn Huang
ced02707a8 Bug 939500 - [bluedroid] Avrcp 1.3 prototype, r=echou 2013-11-22 23:40:22 +08:00
Shawn Huang
c93895bf4e Bug 941574 - [bluedroid] Fix sometimes outgoing connection fails due to Reset() mis-placed, r=echou 2013-11-21 20:17:10 +08:00
Shawn Huang
8fea4aff20 Bug 941564 - [bluedroid] Update BD address while an incoming connection established, r=echou 2013-11-21 20:17:07 +08:00
Shawn Huang
af24ad3ad4 Bug 935882 - [bluedroid] Support GetConnectedDevice API, r=echou 2013-11-21 18:12:45 +08:00