Commit Graph

133 Commits

Author SHA1 Message Date
Thomas Zimmermann
866006ef98 Bug 983576: Fail if sDBusConnection is not set, r=echou
Until now, we had corner cases in Bluetooth where DBus messages might
have been received on connections that are shutting down. This can't
happen any longer and this patch replaces the respective tests with
assertions.
2014-03-27 11:43:49 +01:00
Thomas Zimmermann
92743c5ab4 Bug 983576: Refactor BlueZ start/stop code, r=echou
With this patch, the start code of Bluetooth's BlueZ back mostly
runs on the I/O thread. Only the loading of the BT firmware and
the blocking connection setup is done on the BT thread.

The stop code has been moved to the I/O thread, except for some
initial waiting and the final cleanup of the firmware. The code
doesn't wait for errors anymore when cleaning up the connection
to DBus. This makes it run completely non-blocking. The initial
waiting may later be replaced by something more sophisticated.
2014-03-27 11:43:48 +01:00
Thomas Zimmermann
a0cd2b4846 Bug 983576: Move DispatchToBtThread to mozilla::bluetooth namespace, r=echou
This patch moves DispatchToBtThread to mozilla::bluetooth, so that
it is available on the I/O thread.
2014-03-27 11:43:48 +01:00
Jocelyn Liu
9b2b4705a6 Bug 986375 - Use defined constants for HFP result code to avoid typo. r=echou 2014-03-26 19:08:00 +01:00
Thomas Zimmermann
4aaccae2b5 Bug 985949: Fix pointer handling in BlueZ backend, r=echou
This is caused by bug 967364. We need to hand over data structures
to DBus operations and forget about them if the operation returned
success. Until now, we could just tell their nsRefPtrs to |forget|
about them, but with bug 967364 applied we need to swap an empty
value into the pointer.
2014-03-24 10:44:28 +01:00
Thomas Zimmermann
8b1eb0343a 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
d5c4098cf9 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
Ben Tian
a1bfbbd31e Bug 981458 - Revise +CIEV string for battery charge indicator, r=gyeh 2014-03-12 17:21:07 +08:00
Thomas Zimmermann
358e315d3e Bug 978809: Send ToggleBtAck after finishing BlueZ connection setup, r=echou
With this patch, ToggleBtAck is sent by the BlueZ backend of
Bluetooth after the connection has been set up completely.
2014-03-06 12:45:16 +01:00
Eric Chou
e7759d8ae3 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
1fc9272c77 Bug 976943 - Add error handing for connect/disconnect process, f=btian, r=gyeh 2014-03-06 19:26:22 +08:00
Eric Chou
fbb9be6ba1 Bug 976883 - Handle unknown property sent from bt stack properly, f=btian, r=shuang 2014-03-05 15:50:54 +08:00
Shawn Huang
d55fedaad4 Bug 951634: Add TimerCallback in Profile Controller, r=gyeh 2014-01-29 19:13:10 +08:00
Thomas Zimmermann
f3401e1c87 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
7214cc65d3 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
b13bcbca73 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
Thomas Zimmermann
405bf0e97a Bug 972253: Remove GetDBusConnection, r=echou
All calls to GetDBusConnection have been replaced by direct references
to sDBusConnection.
2014-02-20 12:56:11 +01:00
Thomas Zimmermann
dc6988b2be Bug 972253: Cleanup Start/Stop methods in BlueZ backend, r=echou
This patch cleans up the code for starting and stopping DBus
connections in the BlueZ backend of Bluetooth. It also fixes
a bug were the initial 'adapteradded' reply might have been
missed.
2014-02-20 12:55:57 +01:00
Thomas Zimmermann
e55b242e41 Bug 972253: Merge the content of DBusThread.cpp into Bluetooth code, r=echou
DBusThread.{cpp,h} maintains state for Bluetooth. This patch moves
the content of these files to Bluetooth's Bluez backend.
2014-02-20 12:55:41 +01:00
Sam Joch
05d227e6b6 Bug 968215 - SettingsService needs to have a callback when transaction are completed. r=bent 2014-02-07 12:19:58 +01:00
Thomas Zimmermann
524ed620dd Bug 969314: Cleanup Gonk start/stop code in BluetoothDBusService, r=echou
This patch removes all unnecessary code when starting and stopping
Gonk in BluetoothDBusService. The change simplifies the respective
methods considerably.
2014-02-13 16:28:11 +01:00
Thomas Zimmermann
e2ca916054 Bug 969314: Cleanup handling of libbluedroid.so, r=echou
This patch cleans up the handling of libbluedroid.so and its
interfaces. Open and closing the library is now handled internally
and contained functions are wrapped in class methods.
2014-02-13 16:28:09 +01:00
Thomas Zimmermann
05248a2faa Bug 969314: Merge BluetoothGonkService into BluetoothDBusService, r=echou
This patch merges the code from BluetoothGonkService into
BluetoothDBusService. The merged code is protected by ifdef
statements.
2014-02-13 16:28:07 +01:00
Ben Tian
a4430f867c Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou, a=1.3+ 2014-02-13 12:08:41 +08:00
Ryan VanderMeulen
d2ec89c8d0 Backed out changeset eea91c2d859d (bug 969447) for Marionette-webapi bustage.
CLOSED TREE
2014-02-11 12:48:09 -05:00
Ben Tian
8c22c727a9 Bug 969447 - Unable to turn bluetooth on after turning it on and off several times, r=echou 2014-02-11 18:14:58 +08:00
Eric Chou
fff01c4303 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
Chris Peterson
c87e8bfa46 Bug 952785 - RawDBusConnection::SendWithReply() returns bool, not nsresult. r=echou 2014-02-09 12:44:05 -08:00
Thomas Zimmermann
1e6a5b445b Bug 964817: Invoke DBus send operations on I/O thread, r=echou
Currently, the DBus connection for Bluetooth is shared between the
main thread and the I/O thread. This causes race conditions when
starting or stopping Bluetooth.

This patch moves all occurences of main-thread-invoked DBus send
operations to the I/O thread. This is mostly refactoring. Internally,
send operations are already executed on the main thread, so there is
no change in the over all logic of these methods.
2014-02-06 13:44:46 +01:00
Thomas Zimmermann
257bd53794 Bug 843857: Don't listen if connect fails on BT server, r=echou
If the listen operation fails for Bluetooth servers, we should
not call listen again in the error handler. Otherwise, we run
into an endless loop of listen calls and error callbacks.
2014-02-05 14:17:22 +01:00
Birunthan Mohanathas
e81a8f702d Bug 828300 - Replace NS_ARRAY_LENGTH with mozilla::ArrayLength/MOZ_ARRAY_LENGTH. r=ehsan 2014-01-30 13:26:54 -05:00
Kyle Huey
f105033d5c 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
88b73b0670 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
Jamin Liu
a4869641e7 Bug 953045 - Fix a bug of bluetooth AVRCP to support media metadata updating correctly. f=shuang, r=echou 2014-01-17 18:15:37 +08:00
Ryan VanderMeulen
aabad2abb4 Merge m-c to inbound. 2014-01-16 15:07:22 -05:00
Ryan VanderMeulen
b05202b7e2 Merge inbound to m-c. 2014-01-16 15:06:12 -05:00
Terrence Cole
f017da90d9 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
1793a7b7be Bug 953034 - Part 2: Change MediaNumber type to uint64_t. r=gyeh 2014-01-16 08:39:34 -05:00
Shawn Huang
c231ddb423 Bug 950220 - Unable to change Bluetooth device name from Settings UI, r=echou 2014-01-16 14:36:35 +08:00
Tom Schuster
e64b35e141 Bug 939294 - Change xpidl jsval to handles. r=gabor,bz,khuey,bsmedberg,terrence 2014-01-09 18:39:36 +01:00
Ben Tian
0e05b3a258 Bug 948337 - create BluetoothHfpManagerBase for audio manager access 2014-01-13 13:58:43 +08:00
Jamin Liu
6c1b84b456 Bug 953036 - Set HSP flag when BluetoothHfpManager chooses to connect HSP. r=echou 2014-01-10 08:23:13 -05:00
Ben Tian
b09206d9f0 Bug 956258 - [cleanup] Patch 2/2: reduce warnings and remove cancel_discovery() in SendFile(), r=echou 2014-01-03 17:25:04 +08:00
Thomas Zimmermann
473a6d5afc Bug 950891: Don't run GetServiceChannel while turning Bluetooth on/off, r=echou
This patch adds a check to BluetoothDBusService::GetServiceChannel to
ensure that Bluetooth is ready. If the system is in a transition from
on to off, or vice versa, the method might operate on an undefined
state.
2014-01-07 13:46:20 +01:00
Ehsan Akhgari
ebd358dfd7 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
c232ce69db 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
4720fc16e5 Merge backout. 2013-12-20 11:36:27 +01:00
Ms2ger
09229ed637 Backout bug 942104 (changesets 4e5746a65a5e:62e32a84a9fb) for missing review. 2013-12-20 11:33:37 +01:00
Eric Chou
4fb67060de Bug 942104 - Fire event 'ondiscoverystatechanged' (bluez), r=gyeh 2013-11-30 20:20:18 +08:00
Eric Chou
e31fb582fb 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
0f2643ecd1 Backed out changeset b064b9271e0e (bug 942712) Build bustage on a CLOSED TREE 2013-11-28 12:09:46 +01:00
Eric Chou
48b5f1417e Bug 942712 - Ensure event 'AdapterAdded' will be fired after 'Enabled' being fired, r=gyeh 2013-11-28 17:49:04 +08:00
Ben Tian
9b8fb0cc7b Bug 921991 - B2G BT: support multiple sim cards, r=echou, r=mrbkap 2013-11-26 14:11:06 +08:00
Jamin Liu
5a91993cbf Bug 937074 - [Bluetooth] Make sure SLC established before we set up SCO. r=echou 2013-11-26 11:28:10 +08:00
Shawn Huang
757566e5b0 Bug 935578 - Patch 1: Separate BluetoothA2dpManager implementation for bluez/bluedroid stack, r=echou 2013-11-20 16:19:08 +08:00
Jamin Liu
100bf64d24 Bug 881194 - [Bluetooth] Send +CIEV callheld for conference call. r=echou 2013-12-16 08:37:33 -05:00
Jamin Liu
84ab62f5c1 Bug 881194 - [Bluetooth] Send +CIEV callheld properly to indicate call hold status. r=echou
- Send +CIEV callheld=1 when active calls become held calls
- Send +CIEV callheld=0 when all held calls become active calls.
2013-11-15 14:48:00 +08:00
Jamin Liu
adb2431ed7 Bug 881194 - [Bluetooth] Support AT+CHLD=3 in dom bluetooth. When "AT+CHLD=3" is received from a hands-free device, notify the Dialer app to "Add a held call to the conversation". r=echou 2013-11-28 14:05:05 +08:00
Thomas Zimmermann
ea7e350a24 Bug 932728: Open only one connection to DBus, r=echou,qdot
Bluetooth maintains two connections to the DBus server and the DBus
system itself maintains a third one. This implies some overhead and
makes the code more difficult to understand.

This patch changes the Bluetooth code to use the connection that is
established by the DBus system.
2013-12-12 12:56:00 +01:00
Shawn Huang
a3360114e1 Bug 941462 - Reply internal error code when getting I/O error from BlueZ, r=gyeh 2013-12-12 19:37:42 +08:00
Jamin Liu
0e31364f96 Bug 932490 - Fix the buffer overflows of OBEX packet. r=echou 2013-12-11 09:53:24 -05:00
Eric Chou
e98a57a98b Bug 947870 - Avoid assertion on receiving files via Bluetooth, r=gyeh 2013-12-11 13:17:34 +08:00
Ryan VanderMeulen
ca386608b9 Merge b2g-inbound to m-c. 2013-12-09 17:26:11 -05:00
Birunthan Mohanathas
bdda80d8b8 Bug 798033 - Remove 'using namespace' from dom/ headers. r=echou 2013-12-08 21:53:11 -05:00
Birunthan Mohanathas
759ab69b0a Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Ben Tian
f40c952ebe Bug 946555 - Remove unused functions in BluetoothService classes and some warnings, r=echou 2013-12-06 12:20:07 +08:00
Gina Yeh
dd6be722b6 Bug 932914 - Broadcast AdapterAdded after adapter name is updated, r=echou 2013-11-19 15:58:48 +08:00
Ben Tian
374135d9f7 Bug 936732 - Patch 1/3: relocate files, r=echou 2013-11-14 17:30:32 +08:00
Ben Tian
80ebb68b44 Bug 947096 - [Flatfish] Build break results from variable access that requires MOZ_B2G_RIL flag, r=echou 2013-12-06 15:17:24 +08:00
Eric Chou
89562bccd5 Bug 932496 - Add length check to prevent from memory pollusion, r=gyeh 2013-12-06 16:23:35 +08:00
Ben Tian
7439710810 Bug 946048 - Reset mPhoneType in BluetoothHFPManager constructor, r=echou 2013-12-04 13:51:57 +08:00
Ben Tian
b74b9e350d Bug 945193 - Print function name in bluetooth logs, r=echou 2013-12-02 18:50:23 +08:00
Ben Tian
935fb4ff2b Bug 945640 - [HFP] Pop up volume UI when bluetooth headset adjusts volume during call, r=echou 2013-12-04 10:06:10 +08:00
Ben Tian
d23170ff6e Bug 944574 - Add ConnectSco/DisconnectSco into BluetoothServiceBluedroid, r=echou 2013-12-03 09:56:27 +08:00
Gina Yeh
9c708e1df9 Bug 945149 - No event AdapterAdded is received after turning on Bluetooth, r=echou 2013-12-04 10:18:33 +08:00
Ben Tian
eba81c2c79 Bug 944592 - Re-implement BluetoothOppManager::Disconnect(), r=echou 2013-11-29 14:13:40 +08:00
Jamin Liu
0d3e8868b7 Bug 943753 - Fix the incorrect condition for synchronous connection to support HSP. r=echou
We don't need to check SLC status for HSP.
2013-12-02 16:38:51 +08:00
Ben Tian
003c7cef3f Bug 915533 - Patch 2/2: [bludroid OPP] BluetoothSocket, r=echou 2013-12-02 10:39:58 +08:00
Ben Tian
453bd5eb7d Bug 915533 - Patch 1/2: [bludroid OPP] Move files, r=echou 2013-11-29 14:18:04 +08:00
Carsten "Tomcat" Book
2499f18bd4 Backed out changeset 2faed81ad05f (bug 915533) for Build Bustage 2013-12-02 08:53:30 +01:00
Carsten "Tomcat" Book
f9a05b8a71 Backed out changeset 22ad4bbd595d (bug 915533) for Build Bustage 2013-12-02 08:53:16 +01:00
Ben Tian
ce0919f2ec Bug 915533 - Patch 2/2: [bludroid OPP] BluetoothSocket, r=echou 2013-12-02 10:39:58 +08:00
Ben Tian
74198c7595 Bug 915533 - Patch 1/2: [bludroid OPP] Move files, r=echou 2013-11-29 14:18:04 +08:00