<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/122174/">https://git.reviewboard.kde.org/r/122174/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 1st, 2015, 8:20 p.m. UTC, <b>Albert Vaca Cintora</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm writting this using the virtual keyboard on my phone, connected using bluetooth :)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It took about 10 seconds for the device to appear in the device list in system settings (and I had to press refresh a couple times), but after that it works perfectly :D Reconnection works fine as well after restarting the computer, and I didn't have the problem with the pairing status not being saved that you say. Maybe this was a bug in the frameworks branch and it has been fixed already. (I have finally installed Plasma 5, so now I will be actively maintaining the frameworks branch and I hope we will catch all these bugs :)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Some of the latest changes in the code required me to change a bit the code for your patch to compile. I have commited it with my changes to the branch "bluetooth" for both Android and KDE, so we can keep improving it from here.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What needs to be implemented now? This is almost done! :D Payloads are missing, what else?</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Thanks, Albert.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Regarding the pairing status, the configuration file was, for some reason, owned by root, so the changes were never saved. This has been fixed.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Browsing the filesystem doesn't work, as the plugin tries to open up a network port, but there might not be a direct connection through the wifi network. One possible solution might be to listen on that SSH port and transmit what is sent through the bluetooth channel and send it out through another port on the other side, but I don't know if that would be possible. If so, network connection sharing might also work. That being said, though, Dolphin seems to have an option to browse the remote filesystem over SSH, so this might not be a major issue.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Another change that might need to be made is to adjust the timeouts on the Android side. If we see that all paired devices are connected, then instead of sleeping for just 15 seconds, sleeping for 30 or even 60 seconds might be a better idea in terms of battery life. I don't see this being too much of a problem on the laptop/desktop side, as bluetooth activity is likely to represent a smaller percentage of battery use.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Finally, we might want to add some way to select what devices to attempt connecting to (for both KDE and Android). For example, if there is a bluetooth headset device also connected, then the current code will try connecting to that as well, which will cause unnecessary bluetooth traffic and might slow down the existing connection.</p></pre>
<br />










<p>- Saikrishna</p>


<br />
<p>On March 1st, 2015, 8:18 p.m. UTC, Saikrishna Arcot wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for kdeconnect.</div>
<div>By Saikrishna Arcot.</div>


<p style="color: grey;"><i>Updated March 1, 2015, 8:18 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdeconnect-kde
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Add initial bluetooth backend implementation.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is based on the frameworks branch.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">getPairedDevices()</code> 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.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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. In addition, the pairing data doesn't seem to be stored on the KDE side. Not sure if I'm missing something or not.</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Android as client and KDE as server</h1>
<h2 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">BlueZ 4 and Qt 5.3</h2>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<h2 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">BlueZ 4 and Qt 5.4</h2>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not tested.</p>
<h2 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">BlueZ 5 and Qt 5.4</h2>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">My Android sees and at least tries to connect to the KDE connect service. Sometimes, it's successful, sometimes, it fails.</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Android as server and KDE as client (all versions)</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I was able to successfully connect to the Android and use it.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeLists.txt <span style="color: grey">(5b916d929dfa3f3304a8ac84e7ef6c19f9aa4663)</span></li>

 <li>core/CMakeLists.txt <span style="color: grey">(17209b1a801b33d99e31a4b19eac45df2fa6fe02)</span></li>

 <li>core/backends/bluetooth/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/bluetooth/bluetoothdevicelink.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/bluetooth/bluetoothdevicelink.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/bluetooth/bluetoothlinkprovider.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/bluetooth/bluetoothlinkprovider.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/devicelinereader.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/backends/devicelinereader.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>core/daemon.cpp <span style="color: grey">(57548e5a671b7694125e733db06a58eebbadd264)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/122174/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>