Summary:
Each plugin gets a minSdk level assigned. If this level isn't available the plugin doesn't get loaded. This can simplifie the plugin code by removing reccuring Sdk version checks.
Should we let the user know that a plugin is not available due to that or should it fail silently?
Actual Plugin adaptions come in follow-up patches.
Reviewers: #kde_connect, mtijink
Reviewed By: mtijink
Subscribers: mtijink, #kde_connect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D9546
Summary: Bring law and order to the coding style
Reviewers: #kde_connect, mtijink
Reviewed By: mtijink
Subscribers: #kde_connect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D9619
Summary:
Arch linux recently updated libraries which dropped support for RC4, used for connections to Android before Android 3 Honeycomb. Other distributions may also be affected (or will be affected in the future).
This adds a new cipher, supported by Android API 9+.
Test Plan: With this change (and corresponding desktop change) the app can connect again.
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Differential Revision: https://phabricator.kde.org/D9449
Summary: Receives the title, artist and album information from MPRIS, instead of a single "artist - title". The desktop counterpart is in D8957.
Test Plan: Works for me, both with and without D8957.
Reviewers: #kde_connect, nicolasfella
Reviewed By: #kde_connect, nicolasfella
Subscribers: nicolasfella
Differential Revision: https://phabricator.kde.org/D9083
Summary:
Since Android Nougat, the previous way to open a file shared to android did not work anymore (using `file://` urls), as marked with a TODO.
This diff implements the new way of opening files: a content provider url (`content://`) allows opening files through the KDE Connect app. As an added benefit, apps without external files permission can now open files received by KDE Connect.
Test Plan: Works for me.
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: albertvaka, nicolasfella
Differential Revision: https://phabricator.kde.org/D9331
Summary:
Makes sure the MPRIS data is always up-to-date, so requesting updates
separately is never necessary. Also provides a way to remove callbacks.
Test Plan: All information still appears in the MPRIS activity and the controls still work.
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Differential Revision: https://phabricator.kde.org/D9084
Summary: The previous icons were old (pre-Material, maybe even pre-Holo). The recommended practice now is to add the icons directly to your app, so I added the material icons. Note that the vector version is used; these are automatically converted to bitmaps for older android versions.
Reviewers: #kde_connect
Subscribers: apol
Differential Revision: https://phabricator.kde.org/D8955
Summary:
This directly fixes a couple of bugs (where the UI was not updated in all cases) and will allow different code parts to use different players without clashing with each other.
This is required for sensible behaviour while using the media control notification (which I plan to work on).
Reviewers: #kde_connect, thomasp, albertvaka
Reviewed By: #kde_connect, thomasp, albertvaka
Subscribers: albertvaka, apol, thomasp
Differential Revision: https://phabricator.kde.org/D8942
Summary:
Support Android 6 direct share.
BUG:362266
BackgroundService is a SIngleton now. This should only be used if strictly necessary.
Test Plan: Pick a random app with a share button, look for device entries in Sharing options (might not be there because other sharing options have higher priority)
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: albertvaka, #kde_connect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D6743
Summary:
Some refactoring in the Shareplugin:
Extracted some parts into separate methods
Extracted notification into separate class
Some optical tweaks on notifications
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: albertvaka, #kde_connect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D6613
Summary: Some values in the mousepad plugin had no default values because some strings were translated but shouldn't.
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: #kde_connect
Tags: #kde_connect
Differential Revision: https://phabricator.kde.org/D6097
Summary: These changes allow replying to any notifications that offer quick reply text fields (like WhatsApp). Does work for WhatsApp. Does not work for Telegram.
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: albertvaka
Maniphest Tasks: T4674
Differential Revision: https://phabricator.kde.org/D5991
Summary:
The SMS protocol does not support sending a message longer than 160 characters. Android's SmsManager.sendTextMessage(..) fails to send in case the message is too long.
Instead of failing, check the message length. If it is longer than 160 characters, break it up and send it as several messages
On receive, collect the list of messages, then combine their bodies
Test Plan:
Send a long message via KDE Connect and verify that it is actually sent
Send a short message via KDE Connect and verify that it can also be sent
Ideally: Test sending a message which is the maximum length for an SMS (160 characters) and verify that it is sent as exactly one SMS (And billed properly)
Receive a long message and verify that it is delivered as a single long message, even though we all know that it was transmitted as a multi-part SMS
Receive a short message and verify that it is correctly delivered
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Subscribers: albertvaka
Differential Revision: https://phabricator.kde.org/D5848