2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 09:58:08 +00:00

17 Commits

Author SHA1 Message Date
Albert Vaca Cintora
fd51ec7c14
Fix linter warnings 2025-04-05 00:44:08 +02:00
ShellWen Chen
0d735eafc3 refactor: migrate Plugin abstract class to Kotlin 2024-04-03 19:22:29 +00:00
Erik Duisters
0bd326d403 Some Kotlin refactorings 2023-08-01 11:22:41 +00:00
Albert Vaca Cintora
8c1603f6e4 Add DeviceInfo class
`DeviceInfo` contains all the properties we need to instantiate a `Device`:
id, name, type, cert, capabilities and protocol version. Before, we had a mix
of passing those around as arguments or passing identity packets (ie: json).
This simplifies the `Device` class quite a bit.

Now, `BaseLink` subclasses need to implement the `getDeviceInfo()` interface
that returns a `DeviceInfo`, which is what we will pass around and eventually
use to instantiate a `Device`.

This means that identity packets are an implementation detail of the
`LanLinkProvider` and that other implementations could get the `DeviceInfo`
in a different way.

In a future, we can add a mechanism for links to notify when their `DeviceInfo` changed.
This will allow us to better support device renames (which now are implemented by 
reconnecting to the device and don't always work) or sending the capabilities fields
later in the case of MacOS/iOS where we can't send them in a UDP packet due to the
size limit of 1500 bytes.
2023-06-27 11:14:36 +00:00
Albert Vaca Cintora
a6ec1744b7 Use Jetpack Compose for the Device UI 2023-06-02 16:59:42 +00:00
Albert Vaca Cintora
6b450d558e Add NonNull annotations to Plugin and PluginFactory 2023-05-26 22:19:21 +02:00
Albert Vaca Cintora
554769e1ef Fix plugins without permissions showing a generic explanation
This was because we only overrote the explanation in onCreate, which wasn't
called for plugins without permissions.
2023-03-29 19:01:57 +02:00
Albert Vaca Cintora
63718d5a58 Flip isIncompatible -> isCompatible 2023-03-29 18:51:32 +02:00
Albert Vaca Cintora
0f4643e502 Project-wide optimize imports 2023-03-05 22:11:58 +01:00
Bacteria Dev
118d8784fa Hide 'Send Clipboard' from DeviceFragment when READ_LOGS permission is granted
On Android 10 and above, Clipboard needs to be manually sent. Recently the app was shipped with the patches so that users can use adb to grant the required permissions for automatic clipboard propagation.

In case the permissions were granted for automatic clipboard propagation, 'Send Clipboard' option was hidden from persistent notification but was not removed from the DeviceFragment. This MR addresses this.
2023-03-04 12:34:59 +00:00
Philip Cohn-Cort
e9215b1bd0 Disable BigscreenPlugin's microphone permission on non-TV links. 2020-08-24 06:33:22 +00:00
Nicolas Fella
b3b74f25f4 Convert license headers to SPDX 2020-08-17 16:17:20 +02:00
Isira Seneviratne
b2bf2dca0f Replace presenter PNGs with a vector drawable. 2020-07-09 14:35:10 +00:00
Aditya Mehra
ee5c75e10a Add support for Bigscreen STT using android's inbuilt speech engine 2020-06-06 21:39:41 +00:00
Nicolas Fella
8bcf699074 Show bigscreen plugin if other device is a TV 2020-04-24 16:18:41 +02:00
Albert Vaca Cintora
7331bd5392 Disable BigScreen by default 2020-04-17 21:59:42 +02:00
Sylvia van Os
e3ca5aca57 Initial Bigscreen remote support 2020-03-27 20:33:10 +00:00