Review Request 122174: Add initial bluetooth backend implementation.

Saikrishna Arcot saiarcot895 at gmail.com
Mon Jan 26 02:55:11 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122174/
-----------------------------------------------------------

(Updated Jan. 26, 2015, 2:55 a.m.)


Review request for kdeconnect.


Repository: kdeconnect-kde


Description
-------

Add initial bluetooth backend implementation.

This is based on the frameworks branch.

The `getPairedDevices()` method in the link provider class uses D-Bus to get the list of paired devices, since Qt doesn't have a method giving that information. As a result, that part of the code only works on Linux.

Note that the Qt Connectivity package in Ubuntu 14.04 and 14.10 doesn't include support for BlueZ, as it wasn't compiled with the BlueZ headers. I recompiled the package for 14.10 and is available [here](https://launchpad.net/~saiarcot895/+archive/ubuntu/myppa).


Diffs (updated)
-----

  CMakeLists.txt 5b916d929dfa3f3304a8ac84e7ef6c19f9aa4663 
  core/CMakeLists.txt 17209b1a801b33d99e31a4b19eac45df2fa6fe02 
  core/backends/bluetooth/CMakeLists.txt PRE-CREATION 
  core/backends/bluetooth/bluetoothdevicelink.h PRE-CREATION 
  core/backends/bluetooth/bluetoothdevicelink.cpp PRE-CREATION 
  core/backends/bluetooth/bluetoothlinkprovider.h PRE-CREATION 
  core/backends/bluetooth/bluetoothlinkprovider.cpp PRE-CREATION 
  core/backends/devicelinereader.h PRE-CREATION 
  core/backends/devicelinereader.cpp PRE-CREATION 
  core/daemon.cpp 57548e5a671b7694125e733db06a58eebbadd264 

Diff: https://git.reviewboard.kde.org/r/122174/diff/


Testing
-------

KDE Connect runs, and the bluetooth service gets published in the SDP (service discovery protocol), which other devices use to determine what services are available.

Android as client and KDE as server: My Android (4.1.2) sees the KDE connect service and tries to connect to it, but fails most of the time. Sometimes, it succeeds and creates a connection. I haven't been able to find out why it's failing the rest of the time. Newer versions of Android (4.2 and higher) might have better luck, since the Bluetooth code was changed.

When it does connect, one time, I was able to pair the devices together (from my Android), and was able to send a ping, use the touchpad, and control my media player from my Android. The pairing data doesn't seem to be stored, as Android isn't remembering the KDE (or vice-versa), which may mean I'm missing something in the code.

For me, sending a pair request from KDE to Android results in KDE Connect crashing on Android. It seems it's because the VIBRATE permission is necessary, which I've added on the Android side.

Android as server and KDE as client: I was able to successfully connect to the Android and use it.


Thanks,

Saikrishna Arcot

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20150126/28da9748/attachment.html>


More information about the KDEConnect mailing list