GSoC/2020/StatusReports/AniketKumar
Mentors
Summary
KDE Connect has recently launched an SMS Messaging app for the desktop which uses KDE Connect to synchronize all the existing conversations from the remote device. In its current state, it can:-
- Show a list of existing conversations and the corresponding conversation history.
- Send and display SMS.
- Send SMS to only existing contacts and conversations on the remote device.
- Display (not send) group messages.
However, It is very limited to MMS and can only support showing text. It cannot send and display pictures, audio, video and other kinds of attachments, also it cannot reply to multi-target conversations. Considering the importance of sharing multimedia files and group messages, the SMS client becomes very limited in use. This project aims to improve MMS support with the integration of sending multi-target MMS by re-working the current implementation of sending SMS and UI support using Qt Multimedia library.
By the end of this project, SMS client will be capable of sending and receiving MMS, will be able to send multi-target MMS with the capability to view pictures, video/audio in SMS app and the capability to download them..
GSoC 2020 Proposal for Improving MMS Support to the KDE Connect SMS app
Repositories worked on
Building KDE Connect
Please follow the community guide page on how to build KDE Connect.
Milestones
1) Support to send plain text MMS.
2) Support to send Group SMS and MMS.
3) Adding SMS/MMS notifications support in android app
4) Transferring MMS attachments as thumbnails from android to desktop and displaying in UI.
5) Downloading original attachment from remote.
6) Integrating media Player into KDE Connect SMS App.
7) Adding Support to select and send files as attachments from desktop SMS client.
8) Synchronizig even notifier between android and desktop.
Work Report
Milestone 1 : Support to send send plain text MMS.
- Status - Complete
- Patch 1 - Adding MMS support in android app.
- Blog link - Adding support to send plain text MMS in KDE Connect
- Demo Video:- <embedvideo service="youtube">https://youtu.be/ECMpt7idLnc</embedvideo>
Milestone 2 : Support to send send group SMS and MMS.
- Status - Complete
- Patch 2 - Enabling multi-target support in KDE Connect desktop client.
- Demo:-
Milestone 3 : Adding SMS/MMS notifications support in android app
- Status - Complete
- Patch 3 - Adding SMS notifications support in android app.
- Blog link - Adding support to send plain text MMS in KDE Connect
- Demo:-
Milestone 4 : Transferring MMS attachments as thumbnails from android to desktop and displaying in UI.
- Status - complete
- Patch 4 - Adding support to read images and video files from MMS database and extracting thumbnails to push to desktop.
- Patch 5 - Patch to extract optional attachment fields and displaying the thumbnails in UI.
- Demo:-
Milestone 5 : Requesting and forwarding original attachment from android to desktop.
- Status - complete
- Blog link - Downloading original attachments from android device.
- Patch 6 - Desktop side patch to request and download the original attachment.
- Patch 7 - Android side patch to receive the request and send the attachment to the desktop.
- Demo Video:- <embedvideo service="youtube">https://youtu.be/5XG7DftmXos</embedvideo>
Milestone 6 : Integrating media Player into KDE Connect SMS App.
- Status - complete
- Blog link - Integrating media Player into KDE Connect SMS App.
- Patch 6 - Desktop side patch to integrate media player into SMS app.
- Demo -
- Demo Video:- <embedvideo service="youtube">https://youtu.be/WUuAx8jEdyk</embedvideo>
Milestone 7 : Adding Support to select files, record audio and send as attachments from desktop SMS client.
- Status - complete
- Blog link - Sending Multimedia messages
- Patch 8 - Selecting and sending attachments to remote device
- Patch 9 - Added support to extract attachments from network packet and send it as MMS.
- Patch 10 - Added support to record audio and send as MMS.
- Demo -
<embedvideo service="youtube">https://youtu.be/EeikTsca0Vs</embedvideo>
Milestone 8 : Synchronizig even notifier between android and desktop.
- Status - complete
- Patch 11 - Implemented support to notify the desktop app of the various events like settings update, error messages etc.
- Patch 12 - Added support to receive event notification packet and notify the UI.
List of patches
- Patch 1 - Adding MMS support in android app.
- Patch 2 - Enabling multi-target support in KDE Connect desktop client.
- Patch 3 - Adding notifications support in android app.
- Patch 4 - Adding support to read images and video files from MMS database and extracting thumbnails to push to desktop.
- Patch 5 - Patch to extract optional attachment fields and displaying the thumbnails in UI.
- Patch 6 - Desktop side patch to request and download the original attachment with multimedia integration.
- Patch 7 - Android side patch to receive the request and send the attachment to the desktop.
- Patch 8 - Selecting and sending attachments to remote device.
- Patch 9 - Support to extract attachments from network packet and send it as MMS.
- Patch 10 - Added support to record audio and send as MMS.
- Patch 11 - Implemented support to notify the desktop app of the various events like settings update, error messages etc.
- Patch 12 - Added support to receive event notification packet and notify the UI.
Other small patches
- Patch 13 - Fix Apn Settings for non supported devices.
- Patch 14 - Fixed error message by replacing TextArea.wrap to TextEdit.Wrap.
- Patch 15 - Fixed MmsSentReceiver Class not being invoked.
- Patch 16 - Updated kdeconnect-cli send-sms interface.
- Patch 17 - Updated kdeconnect-cli send-sms interface (release-20.08 branch).
- Patch 18 - Receiving settings packet.
- Patch 19 - Constructing and sending settings packet.
Weekly meeting notes
Future Work
- During the post-GSoC period, I will continue to add more features into the KDE Connect SMS app. I have many new features in mind, for example, one is to enable KDE Connect SMS plugin to send MMS over the wifi. Another one is to add various new UI controls to better the UX and many more other small tasks.