To reproduce: - Prepare some conversation with an MMS (send a picture to yourself, etc.) - Launch fresh kdeconnectd - Re-connect phone if needed - Launch kdeconnect-sms This does *not* happen if an MMS is received while a conversation is in progress: That message will simply be dropped. It is due to MMS not being handled (on both the Android and KDE side), but Android checks the combined sms/mms database to get the first message in every conversation when requested Solution: MMS support
The Android app currently has no support for forwarding MMS messages, regardless of whether they are all-text or if they involve multimedia
Git commit 51e957d82290bc5d07c01bcd55e03c17868ca14c by Simon Redman. Committed on 10/06/2019 at 05:48. Pushed by sredman into branch 'master'. [SMSApp] Support plain-text MMS ## Summary Not having support for MMS caused some minor problems, like in https://bugs.kde.org/show_bug.cgi?id=398889 . This patch adds basic MMS support for plain-text MMS, including multi-target messages. Android companion to https://invent.kde.org/kde/kdeconnect-kde/merge_requests/97 Currently there are several rough areas: - Multi-target messages do not have the full list of recipients (I am planning to work on this in another patch, because this one is already quite large enough) - Parsing MMS is significantly slower than parsing SMS. This makes sense, since we need to make significantly many more content:// calls for MMS. The only solution I can think of here is to add the ability to request a range of messages, which I need to do anyway, but which should not be part of this patch. - The desktop app is totally busted with regard to multi-target MMS, but that will also be fixed in another MR ## Test Plan ### Before: Open SMS app on desktop, scroll through conversations, notice: - Any single-target message which had the most-recent message as an MMS does not appear - Any multi-target MMS conversations do not appear ### After: Open SMS app on desktop, notice: - Conversations which have an MMS as their most-recent message appear - MMS which consisted of only text are rendered correctly - Multi-target conversations are shown (though pretty busted, as said before. Do not attempt to reply to one!) M +407 -59 src/org/kde/kdeconnect/Helpers/SMSHelper.java M +5 -11 src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java https://invent.kde.org/kde/kdeconnect-android/commit/51e957d82290bc5d07c01bcd55e03c17868ca14c
Technically, this also needs https://invent.kde.org/kde/kdeconnect-kde/merge_requests/97 in order to be fully resolved, but that patch will be merged soon enough
Git commit ee9547ed89b5eebaf6c996fe1509d878b564c758 by Simon Redman. Committed on 19/07/2019 at 15:29. Pushed by sredman into branch 'master'. [SMS App] Basic plain-text MMS support ## Summary Desktop companion to https://invent.kde.org/kde/kdeconnect-android/merge_requests/78 Give desktop SMS app a basic understanding of the MMSes coming from Android: - Show a fake body if we get an attachment we can't display (for now, any attachment) - Display a fake contact header for multi-target messages since Android does not yet export multi-target address information - Disable attempting to reply to multi-target messages ## Test Plan ### Before: MMS messages were silently dropped, meaning: - Group MMS conversations were not visible - Single-target conversations with the most-recent message an MMS were not visible ### After: - Install https://invent.kde.org/kde/kdeconnect-android/merge_requests/78 - Multi-target conversations are displayed (kind of ugly, since they have no contact information - Single-target conversations which end with an MMS are displayed - Plain-text MMS is displayed nicely - MMS attachments don't show - MMS which are only an attachment with no body are displayed with a dummy body M +2 -0 interfaces/conversationmessage.h M +1 -1 plugins/sms/smsplugin.cpp M +14 -1 smsapp/conversationlistmodel.cpp M +1 -0 smsapp/conversationlistmodel.h M +8 -1 smsapp/conversationmodel.cpp M +3 -2 smsapp/qml/ConversationDisplay.qml M +1 -0 smsapp/qml/ConversationList.qml https://invent.kde.org/kde/kdeconnect-kde/commit/ee9547ed89b5eebaf6c996fe1509d878b564c758