Bug 367999 - It would be a "killer-app" with akonadi/kadressbook integration and full SMS chat support
Summary: It would be a "killer-app" with akonadi/kadressbook integration and full SMS ...
Status: RESOLVED FIXED
Alias: None
Product: kdeconnect
Classification: Applications
Component: common (show other bugs)
Version: unspecified
Platform: unspecified All
: NOR wishlist
Target Milestone: ---
Assignee: Simon Redman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-30 10:00 UTC by Martin Ottmar
Modified: 2018-12-13 20:37 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
attachment-31675-0.html (1.70 KB, text/html)
2018-01-13 04:17 UTC, Aniket Kadam
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Ottmar 2016-08-30 10:00:43 UTC
It would be a "killer-app" with akonadi/kadressbook integration and full SMS chat support

I believe KDE connect could help to KDE pim support.
I would like to have full PC/phone contacts synchronization with possibility of intelligent contacts merging (e.g. automatical searching for duplicate numbers and contacts graphical merging in kdiff3-like style - but this would be request for kaddressbook team).

Also having a possibility to answer a SMS is very fine, but:
When the notification popup disappears, there is not another possibility how to do that (maybe the message is in the kdeconnect widget history, but the possibility to answer is missing).
Besides, there is a known bug, when the "Reply" button is missing even in the popup notification window (if the popup notification window is enabled even for general notifications).


So my wish is to implement full PC chat support in phone-like style. I mean new tabbed window which contains contact(s) line (not editable when entering via "Reply" button), history groupbox, , message editbox (possibly with SMS message breaking support), and "Send"/"Close" buttons.
Having a smileys support there would be a nice bonus ;-)

I don't want to disturb my colleagues in our office. I have headphones in my working laptop, the phone sound is muted. I don't want to touch my phone when a new SMS is received (I mean to unlock the phone and to start a fight with small phone keyboard), I'm working with my laptop and writing a SMS via normal keyboard is much easier and faster for me.

All I want is a notification popup (with current possibility to reply) and visual notification in systray. And only the last unread message (for each contact) keep staying in the notification history with formatting like:
<contact name> [<number_of_unread_messages>]: <last_message> <Reply button>
LMB on the "Reply" button should open a new tab in the chat window or to move focus to the existing one.

But I want a "Send SMS" button too. For contact without history. This button could open a new tab in the chat window with contact full search support (with an advice popup like in kmail), but there could be a possibility to choose a contact in kaddressbook too.

So, this is my dream and I believe it is not only my.
I'm sorry for my bad English

Reproducible: Always
Comment 1 Cristiano Guadagnino 2017-11-05 20:16:19 UTC
+1
Comment 2 Aniket Kadam 2018-01-12 06:56:35 UTC
(In reply to Martin Ottmar from comment #0)
> It would be a "killer-app" with akonadi/kadressbook integration and full SMS
> chat support
> 
> I believe KDE connect could help to KDE pim support.
> I would like to have full PC/phone contacts synchronization with possibility
> of intelligent contacts merging (e.g. automatical searching for duplicate
> numbers and contacts graphical merging in kdiff3-like style - but this would
> be request for kaddressbook team).
> 
> Also having a possibility to answer a SMS is very fine, but:
> When the notification popup disappears, there is not another possibility how
> to do that (maybe the message is in the kdeconnect widget history, but the
> possibility to answer is missing).
> Besides, there is a known bug, when the "Reply" button is missing even in
> the popup notification window (if the popup notification window is enabled
> even for general notifications).
> 
> 
> So my wish is to implement full PC chat support in phone-like style. I mean
> new tabbed window which contains contact(s) line (not editable when entering
> via "Reply" button), history groupbox, , message editbox (possibly with SMS
> message breaking support), and "Send"/"Close" buttons.
> Having a smileys support there would be a nice bonus ;-)
> 
> I don't want to disturb my colleagues in our office. I have headphones in my
> working laptop, the phone sound is muted. I don't want to touch my phone
> when a new SMS is received (I mean to unlock the phone and to start a fight
> with small phone keyboard), I'm working with my laptop and writing a SMS via
> normal keyboard is much easier and faster for me.
> 
> All I want is a notification popup (with current possibility to reply) and
> visual notification in systray. And only the last unread message (for each
> contact) keep staying in the notification history with formatting like:
> <contact name> [<number_of_unread_messages>]: <last_message> <Reply button>
> LMB on the "Reply" button should open a new tab in the chat window or to
> move focus to the existing one.
> 
> But I want a "Send SMS" button too. For contact without history. This button
> could open a new tab in the chat window with contact full search support
> (with an advice popup like in kmail), but there could be a possibility to
> choose a contact in kaddressbook too.
> 
> So, this is my dream and I believe it is not only my.
> I'm sorry for my bad English
> 
> Reproducible: Always

While addressbook integration is possible, only apps that are designated the primary sms sending app, are allowed to send sms' in Android. To do this, people would have to keep switching between setting kdeconnect and whatever else they're using as the sms app. It's unlikely that this can be done.
Comment 3 Cristiano Guadagnino 2018-01-13 00:20:22 UTC
This is not what I see. I have been able to send SMS messages through KDE Connect by using the kdeconnect-cli tool.
Also I have been able to send SMS messages through KDE Connect and KAddressBook by using a trick I found on the net (don't remember where):
- open KAddressBook
- go to Settings -> Configure KAddressBook
- go to Contact Actions
- you'll see "Send SMS" at the bottom of the right pane
- change the value in the dropdown to "External Application"
- put this in the "Command" field:
      kdeconnect-cli -n 'devicename' --destination %N --send-sms %t
where devicename is the name of your phone that shows when you type "kdeconnect-cli -a".
- now you can send SMS through KDE Connect and KAddressBook
Comment 4 Aniket Kadam 2018-01-13 04:17:18 UTC
Created attachment 109829 [details]
attachment-31675-0.html

I just looked it up, turns out I had a misunderstanding of the method.
There's a slight difference since KitKat but yes anyone can still send
messages. Excellent!

On 13 Jan 2018 5:50 a.m., "Cristiano Guadagnino" <bugzilla_noreply@kde.org>
wrote:

> https://bugs.kde.org/show_bug.cgi?id=367999
>
> --- Comment #3 from Cristiano Guadagnino <criguada@gmail.com> ---
> This is not what I see. I have been able to send SMS messages through KDE
> Connect by using the kdeconnect-cli tool.
> Also I have been able to send SMS messages through KDE Connect and
> KAddressBook
> by using a trick I found on the net (don't remember where):
> - open KAddressBook
> - go to Settings -> Configure KAddressBook
> - go to Contact Actions
> - you'll see "Send SMS" at the bottom of the right pane
> - change the value in the dropdown to "External Application"
> - put this in the "Command" field:
>       kdeconnect-cli -n 'devicename' --destination %N --send-sms %t
> where devicename is the name of your phone that shows when you type
> "kdeconnect-cli -a".
> - now you can send SMS through KDE Connect and KAddressBook
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 5 Aleix Pol 2018-01-16 20:20:04 UTC
See https://phabricator.kde.org/D9691
Comment 6 Nicolas Fella 2018-04-23 20:31:02 UTC
Git commit 9c1d6e43ad99f51fbf0619e1ca7fca4283f122f0 by Nicolas Fella, on behalf of Simon Redman.
Committed on 23/04/2018 at 20:30.
Pushed by nicolasfella into branch 'master'.

Add contacts-reading plugin (KDE side)

Summary:
Add a plugin to KDE Connect which supports exporting the Android contacts databases to vcards on the desktop

When the devices are connected, the plugin sends a request for all timestamps and IDs

When a packet with timestamps and IDs is received, it verifies it has vcards for each ID and that the timestamps match and deletes any vcards for IDs which were not reported. It then sends a request for all vcards which were missing or need updating

When a packet with vcards is received they are unconditionally written to disk, possibly overwriting existing vcards

Provides one dbus method: contacts/synchronizeRemoteWithLocal which triggers the request for all timestamps and IDs

Test Plan:
Connect the device to the desktop and verify that vcards are created in QStandardPaths::GenericDataLocation / kpeoplevcard". On my system this is ~/.local/share/kpeoplevcard

Create a dummy contact on the device and verify it is synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Modify the dummy contact and verify the modifications are synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Delete the dummy contact and verify the deletion is synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: mtijink, #kde_connect, apol

Tags: #kde_connect

Maniphest Tasks: T8283

Differential Revision: https://phabricator.kde.org/D9691

M  +1    -0    plugins/CMakeLists.txt
A  +11   -0    plugins/contacts/CMakeLists.txt
A  +3    -0    plugins/contacts/README
A  +211  -0    plugins/contacts/contactsplugin.cpp     [License: GPL (v2/3)]
A  +164  -0    plugins/contacts/contactsplugin.h     [License: GPL (v2/3)]
A  +33   -0    plugins/contacts/kdeconnect_contacts.json

https://commits.kde.org/kdeconnect-kde/9c1d6e43ad99f51fbf0619e1ca7fca4283f122f0
Comment 7 Simon Redman 2018-06-08 03:06:45 UTC
Git commit 3b19b6ebe25fda28f8434cddeef8e8b3a54b17c3 by Simon Redman.
Committed on 08/06/2018 at 03:04.
Pushed by sredman into branch 'master'.

Add contacts-reading plugin (Android side)

Summary:
Add a plugin to the KDE Connect Android application which supports reading the Android contacts databases and sending the requested data as vcards
 - Android automatically has support for exporting vcards with all the fields you would expect (phone, email, photo, etc.)
  - I add two custom fields, one for the modification timestamp and another for the NAME_RAW_CONTACT_ID so that the contacts can be correlated back to the Android database

This does not (yet) support writing contacts back to the phone nor does it automatically listen to the phone's contacts database to change

Test Plan:
Connect the device to the desktop and verify that vcards are created in QStandardPaths::GenericDataLocation / kpeoplevcard". On my system this is ~/.local/share/kpeoplevcard

Create a dummy contact on the device and verify it is synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Modify the dummy contact and verify the modifications are synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Delete the dummy contact and verify the deletion is synchronized (Currently not automatic, have to disconnect and reconnect or use dbus)

Reviewers: #kde_connect, mtijink, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: MatMaul, philipc, kdeconnect, nicolasfella, andyholmes, mtijink

Tags: #kde_connect

Maniphest Tasks: T8283

Differential Revision: https://phabricator.kde.org/D9690

M  +3    -0    res/values/strings.xml
M  +362  -3    src/org/kde/kdeconnect/Helpers/ContactsHelper.java
A  +258  -0    src/org/kde/kdeconnect/Plugins/ContactsPlugin/ContactsPlugin.java
M  +2    -0    src/org/kde/kdeconnect/Plugins/PluginFactory.java

https://commits.kde.org/kdeconnect-android/3b19b6ebe25fda28f8434cddeef8e8b3a54b17c3