2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-31 14:15:14 +00:00

Compare commits

..

470 Commits

Author SHA1 Message Date
l10n daemon script
1d833841f5 GIT_SILENT made messages (after extraction) 2025-08-30 02:04:43 +00:00
l10n daemon script
90f7b190dd GIT_SILENT made messages (after extraction) 2025-08-22 02:01:24 +00:00
l10n daemon script
f08b0f0f1c GIT_SILENT Sync po/docbooks with svn 2025-08-21 02:34:28 +00:00
l10n daemon script
0fbbf1d6ed GIT_SILENT made messages (after extraction) 2025-08-16 02:03:09 +00:00
l10n daemon script
66db45b39e GIT_SILENT Sync po/docbooks with svn 2025-08-15 02:45:26 +00:00
l10n daemon script
c9bdcbbf9b GIT_SILENT made messages (after extraction) 2025-08-15 02:17:56 +00:00
l10n daemon script
ccaccee653 GIT_SILENT made messages (after extraction) 2025-08-13 02:01:55 +00:00
l10n daemon script
2ced849bd0 GIT_SILENT Sync po/docbooks with svn 2025-08-12 02:29:00 +00:00
l10n daemon script
f0b879e830 GIT_SILENT made messages (after extraction) 2025-08-11 02:03:04 +00:00
l10n daemon script
e84568ffb5 GIT_SILENT made messages (after extraction) 2025-08-06 02:10:15 +00:00
l10n daemon script
6cc41ab890 GIT_SILENT Sync po/docbooks with svn 2025-08-05 02:51:31 +00:00
l10n daemon script
038c96fe35 GIT_SILENT made messages (after extraction) 2025-08-05 02:23:48 +00:00
l10n daemon script
56e4b20d1f GIT_SILENT made messages (after extraction) 2025-07-29 02:01:57 +00:00
l10n daemon script
689ccff843 GIT_SILENT Sync po/docbooks with svn 2025-07-16 03:01:09 +00:00
Mohammed Aquib Azad
4e83693dc7 Bug 494056 - Smooth volume changes on media control plugin 2025-07-12 14:57:19 -07:00
Philip Cohn-Cort
a0a6accc66 Fix Regex syntax in DeviceHost.kt 2025-07-07 17:43:26 -04:00
David Barouh
f6f7d1e970 Edit DeviceHost.kt
Add the `:` character in the regex recognizing the IP address, to recognize IPv6 too.
2025-07-04 17:50:43 +00:00
l10n daemon script
ddda58e896 GIT_SILENT made messages (after extraction) 2025-07-03 08:11:42 +00:00
Albert Vaca Cintora
4f796446d6 Bump deps 2025-07-02 21:14:07 +02:00
Albert Vaca Cintora
04f5863f6a Add TODO 2025-07-02 08:55:18 +02:00
Albert Vaca Cintora
c0c5ba1024 Fix devices not being clickable in share activity 2025-07-02 08:34:29 +02:00
Zan Xey
a733433551 Fix Dynamic Colors not being applied in some places 2025-06-14 00:09:25 +00:00
l10n daemon script
c362f16837 GIT_SILENT Sync po/docbooks with svn 2025-06-09 02:27:58 +00:00
Michael Centeno
90ff6df189 Changed command widget minimum width to 120dp to allow for smaller widget. 2025-06-04 14:14:26 +02:00
Albert Vaca Cintora
388b6f5a20 Fix not being able to input spaces when renaming the device 2025-06-04 14:11:45 +02:00
Albert Vaca Cintora
b463adda73 Bump deps 2025-06-04 14:06:07 +02:00
l10n daemon script
6687a09d2e GIT_SILENT made messages (after extraction) 2025-06-03 02:02:44 +00:00
l10n daemon script
63776ac57a GIT_SILENT made messages (after extraction) 2025-06-02 01:57:56 +00:00
l10n daemon script
925f428873 GIT_SILENT Sync po/docbooks with svn 2025-06-01 02:31:52 +00:00
l10n daemon script
9e4c53aa1c GIT_SILENT made messages (after extraction) 2025-06-01 02:05:45 +00:00
l10n daemon script
f5ff06a4d0 GIT_SILENT Sync po/docbooks with svn 2025-05-31 02:29:22 +00:00
l10n daemon script
07064a5766 GIT_SILENT Add new file (after extraction) 2025-05-31 02:02:01 +00:00
l10n daemon script
a77ac7ac47 GIT_SILENT made messages (after extraction) 2025-05-31 02:01:56 +00:00
l10n daemon script
7cd06cf581 GIT_SILENT made messages (after extraction) 2025-05-30 02:01:55 +00:00
l10n daemon script
30fbc14a80 GIT_SILENT made messages (after extraction) 2025-05-29 02:04:13 +00:00
l10n daemon script
431d087b88 GIT_SILENT made messages (after extraction) 2025-05-28 02:01:50 +00:00
Albert Vaca Cintora
5678100352 Fix ripple effect 2025-05-26 18:57:24 +02:00
Albert Vaca Cintora
c6b3d1b100 Scrollbar on the outside 2025-05-26 18:57:24 +02:00
Albert Vaca Cintora
c0a41034fa Port device list items to Kotlin 2025-05-26 18:57:24 +02:00
Albert Vaca Cintora
5bc41367ed Homegenize devices look in device lists 2025-05-26 18:57:24 +02:00
Albert Vaca Cintora
17010e533f Fix NPE if displayArt changes while getArtAsArray is running 2025-05-26 18:56:06 +02:00
Philip Cohn-Cort
d5c47a1c4c Migrate 2 Fragments to Kotlin
This is a rebased version of !522, with the same key changes.

* `PairingFragment` and `SystemVolumeFragment` are now written in Kotlin
* A new `BaseFragment` defines a common 'binding' property for `AboutFragment`,
`DeviceFragment`, `PairingFragment`, and `SystemVolumeFragment`
* Calls in and out of `Intent`s and `Bundle`s for `Parcelable` values now go through `IntentCompat` and `BundleCompat`
2025-05-24 15:52:41 +00:00
l10n daemon script
08b1a9dce4 GIT_SILENT made messages (after extraction) 2025-05-21 02:02:38 +00:00
l10n daemon script
74146b83e2 GIT_SILENT made messages (after extraction) 2025-05-16 02:03:20 +00:00
Swapnil Devesh
938df620fa Check for different format of logcat line for Android 15 and up when detecting a failed clipboard access in logs
After upgrading to Android 15 I noticed the automatic clipboard push from Android stopped working,
debugging it, figured out that it looks like the format of lines in the logcat has changed,
this patch got it working again.
2025-05-13 21:14:34 -04:00
Albert Astals Cid
d4b8a07ee7 Remove "he", android uses "iw" now 2025-05-08 20:54:56 +00:00
l10n daemon script
44aa7824f7 GIT_SILENT made messages (after extraction) 2025-05-06 01:58:06 +00:00
Albert Vaca Cintora
feae6b54a9 Ignore ForegroundServiceStartNotAllowedException 2025-05-05 22:08:51 +02:00
l10n daemon script
dbbce2aee1 GIT_SILENT made messages (after extraction) 2025-05-04 02:05:02 +00:00
Albert Vaca Cintora
ed1dcdab52 Release 1.33.4 2025-05-02 17:24:53 +02:00
Albert Vaca Cintora
e3ccfb1b25 Bump deps 2025-05-02 17:12:15 +02:00
Albert Vaca Cintora
4ae04ae060 Refactor shared code out, apply ratelimit also to TCP 2025-05-02 17:05:55 +02:00
Albert Vaca Cintora
801367458e Improve rate-limit to also limit by IP 2025-05-02 17:05:55 +02:00
Albert Vaca Cintora
26c72fae89 Do not filter logs by PID
So we can see crashes in previous sessions of the app. Also, Android only
lets apps see their own logs anyway (at least in recent versions), so there
should be no privacy concerns from someone sharing those logs.
2025-05-02 17:02:40 +02:00
l10n daemon script
b981f9234b GIT_SILENT made messages (after extraction) 2025-04-29 01:55:52 +00:00
l10n daemon script
7f07e4658f GIT_SILENT made messages (after extraction) 2025-04-28 01:58:08 +00:00
l10n daemon script
f182d27ebe GIT_SILENT made messages (after extraction) 2025-04-27 01:57:46 +00:00
l10n daemon script
3b9d6ac61e GIT_SILENT made messages (after extraction) 2025-04-22 01:56:54 +00:00
l10n daemon script
6f24ac8d25 GIT_SILENT made messages (after extraction) 2025-04-20 01:54:52 +00:00
l10n daemon script
2891ec2092 GIT_SILENT made messages (after extraction) 2025-04-19 01:56:31 +00:00
Albert Vaca Cintora
fc1424c67c Better pairing fragment layout 2025-04-18 19:51:51 +02:00
Albert Vaca Cintora
83efd6b355 Add a warning if multiple devices have the same name 2025-04-18 17:42:08 +00:00
Albert Vaca Cintora
05e14bb81c Remove setting to disable UDP broadcast 2025-04-18 10:30:22 +02:00
l10n daemon script
1236cbe4e3 GIT_SILENT made messages (after extraction) 2025-04-17 01:54:46 +00:00
l10n daemon script
5f9159a13f GIT_SILENT made messages (after extraction) 2025-04-16 01:55:03 +00:00
l10n daemon script
fbd9f8f216 GIT_SILENT made messages (after extraction) 2025-04-15 01:56:01 +00:00
l10n daemon script
e32b6b67e0 GIT_SILENT made messages (after extraction) 2025-04-14 01:55:17 +00:00
Vala Zadeh
63a849b80a Extend offline URL sharing behavior
## Summary

Previously, URLs shared to offline targets via the ShareActivity were
delivered to them once they became online. This change extends this
behavior to direct share targets.

## Test Plan

Test 1

* Make sure a PC device is already paired with the phone. Let's say the name of this device is "PC".
* Make PC unreachable, e.g., close the KDE app on it.
* On the phone, open Chrome and share a couple of webpages to KDE's PC's direct share target.
* Open the KDE app on the PC.
* Observe that the webpages are opened on PC.

Test 2

* Make sure a PC device is already paired with the phone. Let's say the name of this device is "PC".
* Make PC unreachable, e.g., close the KDE app on it.
* On the phone, share a file to KDE's PC's direct share target.
* Open the KDE app on the PC.
* Observe that the file is sent to PC.

Test 3

* Make sure two PC devices are already paired with the phone. Let's say the name of these devices are "PC1" and "PC2".
* Make PC1 and PC2 unreachable, e.g., close the KDE app on them.
* On the phone, open Chrome and share a couple of webpages to KDE's PC1's direct share target.
* Open the KDE app on the PC2.
* Observe that the webpages are NOT opened on PC2.
* Open the KDE app on the PC1.
* Observe that the webpages are opened on PC1.

Test 4

* Make sure a PC device is already paired with the phone. Let's say the name of this device is "PC".
* Make PC reachable, e.g., have the KDE app open on it.
* Try to share a URL from the phone to the KDE's PC's direct share target.
* Observe that the URL opens instantly on the PC.
2025-04-13 00:20:04 +00:00
l10n daemon script
170bb5e717 GIT_SILENT made messages (after extraction) 2025-04-12 01:51:20 +00:00
l10n daemon script
f121e4982e GIT_SILENT made messages (after extraction) 2025-04-10 01:54:33 +00:00
l10n daemon script
937289730d GIT_SILENT made messages (after extraction) 2025-04-09 01:54:22 +00:00
l10n daemon script
624a9302fd GIT_SILENT made messages (after extraction) 2025-04-08 02:00:37 +00:00
l10n daemon script
e6f4b69464 GIT_SILENT made messages (after extraction) 2025-04-07 02:06:50 +00:00
Albert Vaca Cintora
2190c9cdaa Missed updated changelog 2025-04-06 10:32:38 +02:00
Albert Vaca Cintora
864d44cb5b Release 1.33.3 2025-04-06 10:30:22 +02:00
Albert Vaca Cintora
72e958a891 Allow exporting the logs form the app 2025-04-06 10:24:28 +02:00
Albert Vaca Cintora
d4ab2ca6cf Bump deps 2025-04-06 10:24:14 +02:00
Albert Vaca Cintora
fd51ec7c14 Fix linter warnings 2025-04-05 00:44:08 +02:00
Albert Vaca Cintora
28070954a6 Regenerate device ID if the stored ID is not valid 2025-04-05 00:05:56 +02:00
Albert Vaca Cintora
e10f2496de Simplify running git in gradle 2025-04-04 14:06:20 +02:00
Albert Vaca Cintora
95b4c08605 Bump deps 2025-04-04 12:15:11 +02:00
l10n daemon script
51d4de34c4 GIT_SILENT made messages (after extraction) 2025-04-04 02:01:41 +00:00
l10n daemon script
de2001bbe1 GIT_SILENT made messages (after extraction) 2025-03-31 01:55:34 +00:00
Albert Vaca Cintora
9c80cb9a40 Remove old code that used Android IDs as device IDs 2025-03-30 21:01:32 +02:00
Albert Vaca Cintora
0b03a66c37 Generate IDs with only alphanumeric values
As per https://invent.kde.org/network/kdeconnect-meta/-/merge_requests/13
2025-03-30 20:59:38 +02:00
l10n daemon script
6d66d69820 GIT_SILENT made messages (after extraction) 2025-03-27 01:58:41 +00:00
Albert Vaca Cintora
c0fc19baaa Bump version of classindexksp 2025-03-18 12:56:45 +01:00
Albert Vaca Cintora
03ea5eae4c Fix NPE 2025-03-17 14:03:15 +01:00
l10n daemon script
b373c28cdd GIT_SILENT made messages (after extraction) 2025-03-16 01:58:31 +00:00
Albert Vaca Cintora
6c8d22b1ed Release 1.33.2 2025-03-11 17:17:44 +01:00
Albert Vaca Cintora
69adfbfbc2 Do the kdeconnect handshake in a new thread
Some Android versions seem to hang if calling sslSocket.getOutputStream()
from within the HandshakeCompleted callback (maybe because calling it in
on a socket that hasn't finished the SSL handshake is supposed to trigger
the SSL handshake).

BUG: 501241
2025-03-11 17:14:36 +01:00
Albert Vaca Cintora
f80e29538a Do not use BufferedReader to read from socket
Reading the docs, BufferedReader maybe could read and cache more than one
line from the socket, and since we discarded the BufferedReader and
created a new one (up to three times), data could be lost.
2025-03-11 12:44:33 +01:00
l10n daemon script
56dda889d1 GIT_SILENT made messages (after extraction) 2025-03-08 02:05:24 +00:00
Albert Vaca Cintora
0c48f388f4 Release 1.33.1 2025-03-05 15:53:13 +01:00
Albert Vaca Cintora
3eda9d4ef9 Allow hyphens in device ids 2025-03-05 15:47:14 +01:00
Albert Vaca Cintora
5aa6fae03b Bump gradle 2025-03-05 15:47:02 +01:00
Albert Vaca Cintora
228a504b90 Bump deps 2025-03-03 14:42:43 +01:00
Albert Vaca Cintora
34c2c311e2 Fix NPE 2025-03-03 14:41:30 +01:00
l10n daemon script
08fcfc863a GIT_SILENT made messages (after extraction) 2025-03-03 01:58:29 +00:00
l10n daemon script
c550ef4445 GIT_SILENT made messages (after extraction) 2025-03-01 02:08:19 +00:00
l10n daemon script
ec40994d4c GIT_SILENT made messages (after extraction) 2025-02-27 01:53:23 +00:00
Albert Vaca Cintora
43d4f38765 Fix deprecation warning 2025-02-26 21:32:39 +01:00
Albert Vaca Cintora
fbff23a8c0 Release 1.30.0 2025-02-26 21:22:17 +01:00
Albert Vaca Cintora
52ff931c4e Fix build 2025-02-26 21:22:04 +01:00
José Rebelo
0f628d4927 Allow filtering notifications from work profile
BUG: 412188
BUG: 422445
2025-02-26 20:08:50 +00:00
Albert Vaca Cintora
737c333a91 Bump deps 2025-02-26 18:21:58 +01:00
Albert Vaca Cintora
e9e406de88 Deprecate packet id field 2025-02-26 11:10:06 +00:00
l10n daemon script
9b2e4bcf56 GIT_SILENT made messages (after extraction) 2025-02-26 01:56:17 +00:00
l10n daemon script
d3daf20c27 GIT_SILENT made messages (after extraction) 2025-02-25 01:55:19 +00:00
l10n daemon script
7de2817274 GIT_SILENT made messages (after extraction) 2025-02-24 10:45:50 +00:00
Albert Vaca Cintora
6121fa04bc Do not disconnect when there's a version mismatch
Just trust the encrypted packet.
2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
bec807fa63 Catch JSONException when unserializing 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
fe97750e9a Enforce the protocol doesn't change after the handshake 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
f8a2d2da03 Fix protocol version comparison 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
68a0b73e9c Do not unpair automatically on error, just ignore the connection 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
7a4fb8b584 Make the verification key change every time in protocol v8 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
b4ee6e30b1 Also compare protocol version to consider device info needs saving 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
0560071cfb Show protocol version in encryption info 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
4343ad7e01 Do not allow protocol downgrades 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
0738710747 Remove support for protocol version < 7 2025-02-23 15:50:11 +00:00
Albert Vaca Cintora
9af8fe791b Protocol version 8: send identity packets encrypted 2025-02-23 15:50:11 +00:00
TPJ Schikhof
a9a99ea7bd Add PeerTube support to formatUriWithSeek function 2025-02-16 21:43:14 +00:00
l10n daemon script
03c2121d57 GIT_SILENT made messages (after extraction) 2025-02-15 02:15:26 +00:00
l10n daemon script
c0c38aab9a GIT_SILENT Sync po/docbooks with svn 2025-02-10 02:18:43 +00:00
l10n daemon script
ab4a6a300b GIT_SILENT Add new file (after extraction) 2025-02-10 01:51:47 +00:00
l10n daemon script
82c434273d GIT_SILENT made messages (after extraction) 2025-02-01 01:54:30 +00:00
Albert Vaca Cintora
0e1842964f Use anonymous functions instead of the callback interface 2025-01-28 00:59:47 +01:00
Albert Vaca Cintora
0a82d303e4 More fixing NPEs and improving nullability handling 2025-01-28 00:51:48 +01:00
Albert Vaca Cintora
c275e26e00 Fix NPEs and improve handling of nullability 2025-01-28 00:22:43 +01:00
Albert Vaca Cintora
d951e3faad Fix NPE 2025-01-25 10:58:56 +01:00
l10n daemon script
144d292948 GIT_SILENT made messages (after extraction) 2025-01-25 01:57:33 +00:00
Albert Vaca Cintora
32d293eb8d Fix "View not attached to window" crash 2025-01-23 12:46:29 +01:00
Albert Vaca Cintora
3e2c077674 Fix NPE crash 2025-01-23 11:58:08 +01:00
Albert Vaca Cintora
49d36d57a6 Update comments 2025-01-19 00:44:07 +01:00
Albert Vaca Cintora
8b6d789c02 Suppress linter issues 2025-01-19 00:38:44 +01:00
Albert Vaca Cintora
de73362624 Remove outdated comment 2025-01-19 00:38:44 +01:00
Albert Vaca Cintora
7bc90fbe85 Simplify regex 2025-01-18 20:42:27 +00:00
Albert Vaca Cintora
818b99774d Add test 2025-01-18 20:42:27 +00:00
Albert Vaca Cintora
13b09ffae8 Enforce format of device IDs 2025-01-18 20:42:27 +00:00
Albert Vaca Cintora
56c96b686d Last round of comment format fixes 2025-01-18 14:58:56 +01:00
Albert Vaca Cintora
3b4f5f83b2 More comment format fixes 2025-01-18 14:55:51 +01:00
TPJ Schikhof
fc18d8a10f Improve SMSPlugin doc comment formatting 2025-01-18 13:51:26 +00:00
Albert Vaca Cintora
d73236ab96 Gitignore files created during tests because of a bug
https://bugs.openjdk.org/browse/JDK-8214300
2025-01-18 14:46:12 +01:00
Albert Vaca Cintora
ecd4bec109 Release 1.32.11 2025-01-18 11:42:02 +01:00
l10n daemon script
bb152c4900 GIT_SILENT made messages (after extraction) 2025-01-15 01:53:11 +00:00
TPJ Schikhof
49a9cd5ea7 Refactoring 2025-01-13 22:35:29 +00:00
TPJ Schikhof
e363a5875a Migrate SMSPlugin to Kotlin 2025-01-13 22:35:29 +00:00
TPJ Schikhof
55d3fd630c Rename .java to .kt 2025-01-13 22:35:29 +00:00
l10n daemon script
a85e6f8057 GIT_SILENT made messages (after extraction) 2025-01-13 01:57:08 +00:00
Albert Vaca Cintora
125c9d54b3 Release 1.32.10 2025-01-12 21:42:05 +01:00
Albert Vaca Cintora
5b937313ff Bump dependencies 2025-01-12 21:34:52 +01:00
l10n daemon script
2ad9f8eeb1 GIT_SILENT made messages (after extraction) 2025-01-12 02:01:35 +00:00
l10n daemon script
b3d84f31f4 GIT_SILENT made messages (after extraction) 2025-01-05 01:55:07 +00:00
l10n daemon script
5ca96fc378 GIT_SILENT made messages (after extraction) 2025-01-04 01:51:55 +00:00
l10n daemon script
05f1cbe136 GIT_SILENT made messages (after extraction) 2025-01-02 01:52:10 +00:00
l10n daemon script
d02e5aabb5 GIT_SILENT made messages (after extraction) 2025-01-01 01:52:54 +00:00
Mash Kyrielight
ae24cd6ca8 Fix insets for android 15
Apps are edge-to-edge by default on devices running Android 15
https://developer.android.com/develop/ui/views/layout/edge-to-edge

Fix: https://bugs.kde.org/show_bug.cgi?id=495999
2024-12-31 18:00:39 +00:00
Albert Vaca Cintora
16414401c0 Honor trusted network for MDNS discovery 2024-12-31 12:58:37 +00:00
Albert Vaca Cintora
3f120fbea8 Move version to build.gradle.kts 2024-12-31 09:24:17 +01:00
l10n daemon script
97806cf6b0 GIT_SILENT made messages (after extraction) 2024-12-31 01:54:17 +00:00
l10n daemon script
a923deee58 GIT_SILENT made messages (after extraction) 2024-12-30 02:01:30 +00:00
Albert Vaca Cintora
0923c8ecda Show number of custom devices in settings fragment 2024-12-29 15:19:22 +00:00
TPJ Schikhof
172822239c Migrate VolumeKeyListener to Kotlin 2024-12-29 10:54:01 +00:00
Albert Vaca Cintora
6a58cc444e Remove old proguard rule 2024-12-29 02:50:57 +01:00
Albert Vaca Cintora
26667e4b78 Simplify proguard-rules 2024-12-29 02:44:12 +01:00
Albert Vaca Cintora
086d366a1c Fix authority not matching manifest in debug builds 2024-12-29 02:34:10 +01:00
Albert Vaca Cintora
84d380aee5 Simplify build.gradle 2024-12-29 02:26:10 +01:00
Albert Vaca Cintora
1ea956f5fb Add en-GB strings for debug (my phone is in GB English) 2024-12-29 02:25:34 +01:00
Albert Vaca Cintora
cfc7242db5 Move "debug" before the name so it's visible in the launcher 2024-12-29 02:25:11 +01:00
l10n daemon script
93b257d46c GIT_SILENT made messages (after extraction) 2024-12-28 02:06:03 +00:00
TPJ Schikhof
fa22722498 Allow for debugging on the same device
This change builds separate debugging app with a different
ID which can be installed alongside the release version.
2024-12-27 18:20:08 +00:00
l10n daemon script
b0c9e46a31 GIT_SILENT made messages (after extraction) 2024-12-27 01:57:15 +00:00
l10n daemon script
53b49163d5 GIT_SILENT made messages (after extraction) 2024-12-25 02:20:51 +00:00
Albert Vaca Cintora
444f5725af Bump deps 2024-12-24 17:35:37 +01:00
TPJ Schikhof
1104baca8f Remove unused SmallEntryItem.kt 2024-12-24 13:00:13 +00:00
Albert Vaca Cintora
c3af9b03f6 Replace classindex with my own implementation that uses KSP instead of KAPT 2024-12-24 12:40:51 +00:00
l10n daemon script
ecb38f2518 GIT_SILENT made messages (after extraction) 2024-12-24 01:52:21 +00:00
TPJ Schikhof
75ddac0bf0 Reworked custom device list
- Solved serialization issue when commas were used
- Validate hosts and show toast message if host is invalid
- Show whether device can be reached over the network
- Show toast message when host already exists
- Code TODO's (including sorting device list)
2024-12-22 19:41:58 +00:00
Mash Kyrielight
553bae4a33 Fix icon color on dark theme 2024-12-16 21:46:31 +00:00
l10n daemon script
7d5f40a3a1 GIT_SILENT made messages (after extraction) 2024-12-10 01:56:00 +00:00
Albert Vaca Cintora
e8c74ec689 Fix format of commented code 2024-12-04 22:47:25 +01:00
Albert Vaca Cintora
c7223a17dc Bump AGP version 2024-12-04 22:47:25 +01:00
Albert Vaca Cintora
2fddd7e24a Gitignore .kotlin 2024-12-04 22:47:25 +01:00
TPJ Schikhof
7920a1a250 Migrate PluginPreference to Kotlin 2024-12-03 08:55:08 +00:00
TPJ Schikhof
a1ce310f65 Rename .java to .kt 2024-12-03 08:55:08 +00:00
TPJ Schikhof
8fea00a843 Migrate list fragments to Kotlin 2024-12-02 22:28:08 +00:00
TPJ Schikhof
7210fd8425 Rename .java to .kt 2024-12-02 22:28:08 +00:00
l10n daemon script
dcb817a805 GIT_SILENT Sync po/docbooks with svn 2024-12-02 03:09:05 +00:00
l10n daemon script
b916d2c972 GIT_SILENT made messages (after extraction) 2024-12-02 02:27:42 +00:00
Albert Vaca Cintora
6b15348677 Bump deps 2024-11-30 16:42:46 +01:00
l10n daemon script
a899f06885 GIT_SILENT made messages (after extraction) 2024-11-24 01:52:13 +00:00
l10n daemon script
4a1a086e0f GIT_SILENT made messages (after extraction) 2024-11-14 01:51:25 +00:00
l10n daemon script
8853f1807f GIT_SILENT Sync po/docbooks with svn 2024-11-13 02:19:46 +00:00
l10n daemon script
0a8bd2bf56 GIT_SILENT made messages (after extraction) 2024-11-13 01:49:45 +00:00
l10n daemon script
c5d1d4a9fa GIT_SILENT made messages (after extraction) 2024-11-10 01:59:34 +00:00
Rocket Aaron
741e24c984 Fix invalid device name condition 2024-11-06 22:51:25 +08:00
l10n daemon script
8b9b99275d GIT_SILENT made messages (after extraction) 2024-11-02 01:49:08 +00:00
l10n daemon script
cfe789fb7e GIT_SILENT made messages (after extraction) 2024-10-31 01:49:58 +00:00
l10n daemon script
7170bdb687 GIT_SILENT made messages (after extraction) 2024-10-28 01:54:26 +00:00
l10n daemon script
53f746cb6a GIT_SILENT made messages (after extraction) 2024-10-27 01:56:57 +00:00
l10n daemon script
35777b4b15 GIT_SILENT made messages (after extraction) 2024-10-26 01:51:18 +00:00
l10n daemon script
a1d0689d50 GIT_SILENT made messages (after extraction) 2024-10-25 01:49:31 +00:00
l10n daemon script
883eca5cf3 GIT_SILENT made messages (after extraction) 2024-10-24 01:47:57 +00:00
l10n daemon script
d91107329a GIT_SILENT made messages (after extraction) 2024-10-23 01:49:27 +00:00
Albert Vaca Cintora
b7f3a7d868 Release 1.32.9 2024-10-21 17:16:54 +02:00
Albert Vaca Cintora
e613e7e09d Change wording to try to make Google happy 2024-10-21 16:48:51 +02:00
Albert Vaca Cintora
cb44c70d17 Bump deps 2024-10-21 16:48:51 +02:00
Albert Vaca Cintora
056b569951 Revert "Replace ClassIndex (unmaintained) with KlassIndex"
Fixes the R8 minifier error "Type fyi.fax.klassindex.AnnotationIndex is defined multiple times"

This reverts commit 526c3a9c4d.
2024-10-21 16:48:51 +02:00
l10n daemon script
2d421e3eb6 GIT_SILENT made messages (after extraction) 2024-10-21 01:50:35 +00:00
l10n daemon script
5674ddd3e9 GIT_SILENT Sync po/docbooks with svn 2024-10-20 02:20:20 +00:00
l10n daemon script
5bb996a6ac GIT_SILENT made messages (after extraction) 2024-10-20 01:49:51 +00:00
l10n daemon script
d89ab2bb20 GIT_SILENT made messages (after extraction) 2024-10-19 01:52:02 +00:00
l10n daemon script
e5661225a1 GIT_SILENT made messages (after extraction) 2024-10-17 01:49:15 +00:00
l10n daemon script
cc38149834 GIT_SILENT made messages (after extraction) 2024-10-16 01:51:14 +00:00
l10n daemon script
4805ea91b8 GIT_SILENT made messages (after extraction) 2024-10-15 01:47:53 +00:00
l10n daemon script
2553a7cebb GIT_SILENT made messages (after extraction) 2024-10-14 01:46:06 +00:00
Albert Vaca Cintora
526c3a9c4d Replace ClassIndex (unmaintained) with KlassIndex 2024-10-13 23:51:35 +02:00
Albert Vaca Cintora
333ad876aa Add recommended "uses-feature" based on the permissions 2024-10-13 23:14:51 +02:00
Albert Vaca Cintora
588cc8dfcf compileSdk should not be lower than targetSdk 2024-10-13 22:18:56 +02:00
Albert Vaca Cintora
48dd405201 Request bluetooth permissions with an explanation
The Play Store requires an explanation before requesting any permissions
2024-10-13 22:17:48 +02:00
Albert Vaca Cintora
1fad01e306 Bump dependencies 2024-10-13 21:49:00 +02:00
l10n daemon script
c78dd6f40d GIT_SILENT made messages (after extraction) 2024-10-12 01:48:30 +00:00
l10n daemon script
3084513778 GIT_SILENT made messages (after extraction) 2024-10-11 01:56:46 +00:00
l10n daemon script
e592b45a61 GIT_SILENT made messages (after extraction) 2024-10-10 01:47:37 +00:00
Albert Vaca Cintora
deee9cc2e2 Release 1.32.7 2024-10-08 22:41:20 +02:00
Albert Vaca Cintora
a107796ec2 Change Iterator argument to List 2024-10-08 22:38:01 +02:00
Albert Vaca Cintora
c32e00bb47 Fix plugin list not recomposing 2024-10-08 22:37:46 +02:00
Albert Vaca Cintora
ba98e21d40 Make every pending intent immutable except the one for the widget
The widget runs as part of the launcher (so, a different app) which needs
to modify the intent to tell us what command the user selected.
2024-10-08 22:18:58 +02:00
Luca Carlon
551b089d9a Do not use FLAG_MUTABLE when targeting Android >= 34
BUG: 494158
2024-10-08 15:48:23 +00:00
l10n daemon script
b9e9d66fa5 GIT_SILENT made messages (after extraction) 2024-10-08 01:48:18 +00:00
l10n daemon script
107611f8d2 GIT_SILENT made messages (after extraction) 2024-10-07 01:46:54 +00:00
l10n daemon script
d0fc68054f GIT_SILENT Sync po/docbooks with svn 2024-10-06 02:20:27 +00:00
l10n daemon script
9f15d4b3aa GIT_SILENT made messages (after extraction) 2024-10-06 01:48:36 +00:00
TPJ Schikhof
a149100d74 Add unit tests for TelephonyHelper 2024-10-05 05:55:22 +00:00
l10n daemon script
7332b355a4 GIT_SILENT made messages (after extraction) 2024-10-05 01:48:12 +00:00
ShellWen Chen
9cc8051d00 refactor(remotekeyboard): simplify checkRequiredPermissions using streams
This commit simplifies the `checkRequiredPermissions` method in the `RemoteKeyboardPlugin` by using Java
 streams.

The previous implementation used a for loop to iterate over the list of enabled input methods and check if the package name matched the current context. This has been replaced with a more concise stream-based approach using `anyMatch`.
2024-10-04 02:42:19 +00:00
ShellWen Chen
78050a158a refactor(remotekeyboard): use package name from context instead of hard-coded 2024-10-04 02:42:19 +00:00
TPJ Schikhof
a5057df1c8 Migrate EntryItem to Kotlin 2024-10-04 02:40:42 +00:00
TPJ Schikhof
b856bdbb0b Migrate LifecycleHelper to Kotlin 2024-10-03 03:14:21 +00:00
TPJ Schikhof
8cb9a1809d Migrate SettingsFragment to Kotlin 2024-10-03 03:07:41 +00:00
Albert Vaca Cintora
0ffd9cd9dc Release 1.32.5 2024-10-02 08:03:10 +02:00
Albert Vaca Cintora
725b3f1d6a Release 1.32.5 for the Play Store 2024-10-02 07:57:32 +02:00
Albert Vaca Cintora
63d1d15c4f Fix crash on Android 14+
ENABLED_INPUT_METHODS can't be read anymore
2024-10-02 07:56:35 +02:00
TPJ Schikhof
592b8a74a7 Unit testing for the SslHelper methods
(excluding methods involving RsaHelper)
2024-10-02 04:47:48 +00:00
Luca Carlon
38e713f489 Fix access to the Downloads directory on Android 10
On Android 10 the share files feature fails when the default
directory is selected. When selecting a custom directory, the
permission is explicitly asked to the user, which makes the
feature work. When the location is switched back to the default
location, the feature is again broken.

The requestLegacyExternalStorage flag brings back the old
behavior and allows to write in the directory. It should be however
ignored for Android >= 11 according to the docs:

https://developer.android.com/training/data-storage/use-cases#opt-out-in-production-app

From Android 11, the Downlods directory should not need specific permissions.
2024-10-02 04:41:39 +00:00
TPJ Schikhof
bb8649d869 Refactor storage helper and added unit tests 2024-10-02 04:26:23 +00:00
Philip Cohn-Cort
2e82673bbf Regenerate Gradle wrapper files 2024-10-02 03:52:19 +00:00
TPJ Schikhof
7ee33de646 Migrate BackgroundService to Kotlin 2024-10-02 03:51:59 +00:00
Albert Vaca Cintora
65a71696d5 Release 1.32.4 for Play Store without EXTERNAL STORAGE permission 2024-09-28 18:30:40 +02:00
Albert Vaca Cintora
e2aa79a252 Release 1.32.3 2024-09-28 18:26:16 +02:00
Albert Vaca Cintora
1ffcaf076e Bump deps 2024-09-28 18:21:06 +02:00
TPJ Schikhof
854b2a1c9f Migrate PluginFactory to Kotlin 2024-09-28 04:59:56 +00:00
l10n daemon script
8fb545d620 GIT_SILENT made messages (after extraction) 2024-09-27 01:53:54 +00:00
Marko Zajc
db615b82df Fix trusted networks
## Summary
1) Fix the code responsible for loading the trusted network list.
2) The old `#_#` delimiter has been replaced with a less likely NUL character. This requires re-adding trusted networks, so I can revert it if necessary.
3) Ignore incoming identity packets on untrusted devices if they come from an untrusted device.

BUG: 492302

## Test Plan

### Before:
1) Trusted networks were completely broken, an would show variations of `#` and `_` on the list due to a bug in the splitting code.
2) Any network with `#_#` in the SSID - although unlikely - would not be possible to use as a trusted network.
3) The device was still discoverable on an untrusted network by manually refreshing the devices list.

### After:
1) Trusted networks now load the SSID list correctly.
2) Networks with `#_#` in the SSID can be added as trusted networks.
3) The device is no longer discoverable on an untrusted network.
2024-09-21 22:24:46 +00:00
TPJ Schikhof
ee7d4a1f05 Migrate FindRemoteDevicePlugin to Kotlin 2024-09-16 10:24:04 +00:00
TPJ Schikhof
409ef6b579 Migrate PingPlugin to Kotlin 2024-09-16 10:20:43 +00:00
TPJ Schikhof
2c0a9d262e Migrate MockSharedPreference to Kotlin 2024-09-16 10:18:16 +00:00
TPJ Schikhof
2f10f1d0f2 Migrate NsdResolveQueue to Kotlin 2024-09-15 08:07:31 +00:00
l10n daemon script
9f788da478 GIT_SILENT made messages (after extraction) 2024-09-12 01:45:57 +00:00
TPJ Schikhof
ec952b49d9 Migrate LoopbackBackend to Kotlin 2024-09-10 21:22:59 +00:00
TPJ Schikhof
45da75f331 Migrate BackgroundJob(Handler) to Kotlin 2024-09-10 08:35:09 +00:00
Albert Vaca Cintora
283956c107 Bump targetSdk from 33 to 35 2024-09-08 14:35:36 +02:00
l10n daemon script
d605977b91 GIT_SILENT Sync po/docbooks with svn 2024-09-06 02:42:47 +00:00
Albert Vaca Cintora
80cf238354 Add changelog 2024-09-03 12:10:28 +02:00
Albert Vaca Cintora
8ee135b018 Release 1.32.2 2024-09-03 12:05:55 +02:00
Albert Vaca Cintora
2343dbf144 Release 1.32.2 for Play Store without EXTERNAL STORAGE permission 2024-09-03 12:04:38 +02:00
Albert Vaca Cintora
3f53180b1d Unify the check for NativeFileSystem support 2024-09-03 12:03:03 +02:00
Albert Vaca Cintora
0f7af315f5 Bump deps 2024-09-03 12:03:03 +02:00
TPJ Schikhof
7ebac70d47 Migrate DeviceTest to Kotlin 2024-09-02 10:29:16 +00:00
TPJ Schikhof
9037647281 Migrate SafeTextCheckerTest to Kotlin 2024-09-02 10:27:24 +00:00
l10n daemon script
9373587268 GIT_SILENT made messages (after extraction) 2024-09-02 01:46:49 +00:00
TPJ Schikhof
0771415d8f Migrate RsaHelper to Kotlin 2024-08-31 17:38:59 +00:00
TPJ Schikhof
fb0e2cc01d Migrate files helper to Kotlin + add unit tests 2024-08-30 18:02:12 +00:00
TPJ Schikhof
584fb78bb7 Relieve getStorageList() out of it's misery since it's not being used anymore
I was about to migrate this to Kotlin but reasoned it would save some work to remove this first since it's not being used anyway.
2024-08-30 14:29:17 +00:00
l10n daemon script
ae12e3e6fc GIT_SILENT Sync po/docbooks with svn 2024-08-29 02:19:17 +00:00
l10n daemon script
8be80cae3e GIT_SILENT made messages (after extraction) 2024-08-29 01:47:24 +00:00
l10n daemon script
d41ed4d911 GIT_SILENT made messages (after extraction) 2024-08-28 01:57:12 +00:00
l10n daemon script
6f783b54a5 GIT_SILENT made messages (after extraction) 2024-08-27 01:50:35 +00:00
l10n daemon script
1f6d1ea544 GIT_SILENT Sync po/docbooks with svn 2024-08-26 02:33:49 +00:00
l10n daemon script
27737c46f2 GIT_SILENT made messages (after extraction) 2024-08-26 02:00:08 +00:00
l10n daemon script
6b99fe7e7c GIT_SILENT made messages (after extraction) 2024-08-25 01:47:57 +00:00
Adam Liscak
6e59a6241a Certificate Expiry Hadling After 10 Years
Auto reconfiguration of own certificate:

currently:
if kdeconncect loads its certificate and its expired or not effective yet
it generates a new certificate and deletes all remembered devices
(since these will stay unreachable anyways)

previously:
if kdeconncect loads its certificate and its expired or not effective yet
it continues having the same certificate
This brings forth an issue: Other devices would refuse to connect to a device with
an expired or non-effective certificate.

Auto-delete of orphan certificates:

currently:
Devices in kdeconnect's devicelist that have illegal ssl certificates
(expired, not effective yet, empty) get automatically deleted from the
devicelist
previously:
they would just exist forever until the user deletes them
2024-08-24 10:24:34 +00:00
l10n daemon script
7506d32cef GIT_SILENT made messages (after extraction) 2024-08-24 01:47:48 +00:00
l10n daemon script
c35dc4928c GIT_SILENT made messages (after extraction) 2024-08-23 01:47:03 +00:00
l10n daemon script
6070276489 GIT_SILENT Sync po/docbooks with svn 2024-08-22 02:30:41 +00:00
l10n daemon script
9685f7e69a GIT_SILENT made messages (after extraction) 2024-08-22 01:55:16 +00:00
TPJ Schikhof
69495136da Migrate RandomHelper to Kotlin 2024-08-21 18:55:00 +00:00
Mhammad Alloush
5f18cb571d Update MousePadActivity to support doubletap drag
This MR is a continuation of !439 , which changes the default 
behavior of the remote mouse plugin's drag and drop trigger
to be a double-tap to drag, and adds a new SwitchPreference
that toggles between the old (hold to drag) and new behavior.
2024-08-21 18:52:24 +00:00
TPJ Schikhof
ab1b1f7ecc Migrate MediaStoreHelper to Kotlin 2024-08-21 15:06:55 +00:00
l10n daemon script
3f8170eae8 GIT_SILENT made messages (after extraction) 2024-08-20 02:02:39 +00:00
Albert Vaca Cintora
eb6784b626 Release 1.32.1 2024-08-19 01:08:16 +02:00
Albert Vaca Cintora
1beb8d4581 Bump deps 2024-08-18 23:59:04 +02:00
Albert Vaca Cintora
16067d7523 Fix crash 2024-08-18 23:59:04 +02:00
TPJ Schikhof
dea0bb4e1f Migrate trusted network helper to Kotlin 2024-08-18 21:58:07 +00:00
TPJ Schikhof
c9fb81363d Migrate video urls helper to Kotlin
- Migrated code to Kotlin
- Fixed crash
- Added unit tests
2024-08-18 21:54:42 +00:00
l10n daemon script
35e8ea0c4c GIT_SILENT made messages (after extraction) 2024-08-17 01:44:44 +00:00
l10n daemon script
7c5c7933c9 GIT_SILENT made messages (after extraction) 2024-08-16 01:47:25 +00:00
l10n daemon script
0dfa44aeac GIT_SILENT made messages (after extraction) 2024-08-15 01:51:43 +00:00
l10n daemon script
dd527f661c GIT_SILENT made messages (after extraction) 2024-08-14 01:47:34 +00:00
Qaz Cetelic
ed89fb43ed Migrate safe text checker to Kotlin
Functionality is identical and it passes all unit tests
2024-08-12 12:23:12 +00:00
Albert Vaca Cintora
aed2b64416 Release 1.32.0 2024-08-10 14:07:49 +02:00
Albert Vaca Cintora
4bdbb8f74a Bump deps 2024-08-10 14:05:00 +02:00
l10n daemon script
155ebf4fb2 GIT_SILENT made messages (after extraction) 2024-08-08 01:49:26 +00:00
Albert Vaca Cintora
46ad0c62ba Fix typo that caused certs to last 9 years instead of 10 2024-08-06 01:20:02 +02:00
ShellWen Chen
df0f2d651c feat(sftp): notify MediaStore on file changes
This commit adds functionality to notify the MediaStore when files are modified via SFTP. This ensures that
 changes made through SFTP are reflected in the Android media library.

Specifically, the MediaStore is notified after file creation, deletion, copying, renaming, and link creation. Additionally, it is notified after closing a file that was opened for writing. This ensures that the MediaStore is kept up-to-date
 with any changes made to files through SFTP.
2024-08-05 18:44:49 +08:00
l10n daemon script
167e2c7176 GIT_SILENT made messages (after extraction) 2024-08-04 01:50:29 +00:00
Albert Vaca Cintora
906326f837 Fix crashes 2024-08-04 00:16:48 +02:00
l10n daemon script
3c9c49fa87 GIT_SILENT made messages (after extraction) 2024-08-03 01:51:09 +00:00
l10n daemon script
24a6beb600 GIT_SILENT made messages (after extraction) 2024-08-02 01:52:00 +00:00
Albert Vaca Cintora
0775a45316 Release 1.32.0 Beta
Only meant for the Play Store (because of the automatic crash reports),
so no fastlane update and no tag.
2024-07-31 12:43:45 +02:00
ShellWen Chen
90dbdee282 chore: disable SSHD logging due to performance degradation and being very noisy even in development 2024-07-31 10:40:00 +00:00
ShellWen Chen
7d28c52c35 fix: now call stop() of sftp server will do nothing when sshd hasn't been initialized 2024-07-31 10:40:00 +00:00
ShellWen Chen
7686e012c3 feat: add custom author description for ShellWen Chen 2024-07-31 10:40:00 +00:00
ShellWen Chen
2cb9666678 fix: remove "set last modified" codes because it will always failed as SAF doesn't allow it. 2024-07-31 10:40:00 +00:00
ShellWen Chen
0ab4e0d1d2 revert: restore codes that have been changed by mistake 2024-07-31 10:40:00 +00:00
ShellWen Chen
30cc95713f chore: add some comments about FixPosixFilePermissionClassVisitorFactory 2024-07-31 10:40:00 +00:00
ShellWen Chen
ae49aa6456 fix: fix logics in newFileChannel() 2024-07-31 10:40:00 +00:00
ShellWen Chen
89454fcba9 fix: add calls to MediaStoreHelper.indexFile() 2024-07-31 10:40:00 +00:00
ShellWen Chen
5a6453729c refactor: rewrite newFileChannel logics 2024-07-31 10:40:00 +00:00
ShellWen Chen
0706ec1a0b refactor: clean up codes 2024-07-31 10:40:00 +00:00
ShellWen Chen
405e828683 refactor: make changes to SimpleSftpServer 2024-07-31 10:40:00 +00:00
ShellWen Chen
34a78e635e pref: reduce reflection calls 2024-07-31 10:40:00 +00:00
ShellWen Chen
c327c15825 chore: remove outdated comment 2024-07-31 10:40:00 +00:00
ShellWen Chen
6d027ae810 chore: add comments to explain why call PathUtils.setUserHomeFolderResolver() 2024-07-31 10:40:00 +00:00
ShellWen Chen
104013c916 fix: make SafFileSystem not closable 2024-07-31 10:40:00 +00:00
ShellWen Chen
8df1f04141 fix: make IDEA happy 2024-07-31 10:40:00 +00:00
ShellWen Chen
beab3599bf chore: remove dead codes 2024-07-31 10:40:00 +00:00
ShellWen Chen
819d3ea158 chore: fix a mistake in comment 2024-07-31 10:40:00 +00:00
ShellWen Chen
83fd2440ce chore: remove outdated comment 2024-07-31 10:40:00 +00:00
ShellWen Chen
e13451061f pref: Use Java NIO2 impl on Android >= 8.0 2024-07-31 10:40:00 +00:00
ShellWen Chen
e82c0fea84 fix: fix SAF issues before Android 7.0 (SDK Level < 24) 2024-07-31 10:40:00 +00:00
ShellWen Chen
e391750e0e chore: bump sshd core to 2.13.1 2024-07-31 10:40:00 +00:00
ShellWen Chen
6513bb1320 chore: use default signing and key exchange algorithms 2024-07-31 10:40:00 +00:00
ShellWen Chen
0fb6e25682 feat: add SAF support 2024-07-31 10:40:00 +00:00
ShellWen Chen
7fbfc9df90 fix: remove sshd instance when start second time due to sshd can't be start after stop 2024-07-31 10:40:00 +00:00
ShellWen Chen
cd8237d773 fix: use Apache MINA as IO Service of SSHD Core to fix issues when Android SDK < 26 (Android 8.0)
NIO2 is the default IO Service of SSHD Core. But when Android SDK < 26, NIO2 doesn't exists. So we have to use Apache MINA as IO Service to fix this issue.
2024-07-31 10:40:00 +00:00
ShellWen Chen
aaa750bbc6 chore: replace calls to Collections with backport impls instead when Android SDK < 26 (Android 8.0) 2024-07-31 10:40:00 +00:00
ShellWen Chen
3d54da75cc chore: bump mina core to 2.2.3 2024-07-31 10:40:00 +00:00
ShellWen Chen
358584ba6f chore: bump sshd core to 2.12.1
chore: bump sshd core to `2.10.0`

chore: bump sshd core to `2.8.0`

chore: bump sshd core to `2.6.0`

chore: bump sshd core to `2.4.0`

chore: bump sshd core to `2.3.0`

chore: bump sshd core to `2.2.0`

chore: bump sshd core to `2.1.0`

chore: bump sshd core to `2.0.0`

chore: bump sshd core to `1.7.0`
2024-07-31 10:40:00 +00:00
ShellWen Chen
adfab5f0f3 fix: fix a class type cast error by modify bytecode 2024-07-31 10:40:00 +00:00
ShellWen Chen
e37a519e3a refactor: migrate SSHD Core to 1.0.0. SAF is unavailable now. 2024-07-31 10:40:00 +00:00
ShellWen Chen
6783f0a167 refactor: migrate classes to Kotlin
refactor: migrate `AndroidSshFile` to Kotlin
refactor: migrate `DHG14_256` to Kotlin
refactor: migrate `RootFile` to Kotlin
refactor: migrate `SftpPlugin` to Kotlin
refactor: migrate `SignatureRSASHA256` to Kotlin
refactor: migrate `SimpleSftpServer` to Kotlin
refactor: migrate `StoragePreference` to Kotlin
refactor: migrate `StoragePreferenceDialogFragment` to Kotlin
2024-07-31 10:40:00 +00:00
l10n daemon script
6d78fe749a GIT_SILENT Sync po/docbooks with svn 2024-07-30 02:23:25 +00:00
l10n daemon script
2120c7967e GIT_SILENT Sync po/docbooks with svn 2024-07-29 02:22:45 +00:00
l10n daemon script
de861ce781 GIT_SILENT Add new file (after extraction) 2024-07-29 01:50:25 +00:00
l10n daemon script
e222937736 GIT_SILENT made messages (after extraction) 2024-07-26 01:44:21 +00:00
Krut Patel
e289811097 mpris-receiver: Send album art
Implementation of sending album art from phone to PC.

Complementary MR for the PC-side: https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/541

Fixes https://bugs.kde.org/show_bug.cgi?id=422136
2024-07-22 20:51:08 +00:00
l10n daemon script
067a000b2b GIT_SILENT made messages (after extraction) 2024-07-14 01:42:40 +00:00
l10n daemon script
f9d05824a7 GIT_SILENT Sync po/docbooks with svn 2024-07-11 02:17:19 +00:00
l10n daemon script
d753f1eea4 GIT_SILENT Add new file (after extraction) 2024-07-11 01:43:55 +00:00
l10n daemon script
3c81b527eb GIT_SILENT made messages (after extraction) 2024-07-08 01:44:35 +00:00
l10n daemon script
96147bf6df GIT_SILENT made messages (after extraction) 2024-07-07 01:45:40 +00:00
l10n daemon script
8b33ce64a4 GIT_SILENT made messages (after extraction) 2024-07-06 01:47:59 +00:00
l10n daemon script
73fdd4b47e GIT_SILENT Sync po/docbooks with svn 2024-06-27 02:22:33 +00:00
l10n daemon script
680e404d05 GIT_SILENT made messages (after extraction) 2024-06-22 01:53:10 +00:00
l10n daemon script
aae6f1a7e9 GIT_SILENT made messages (after extraction) 2024-06-20 01:49:27 +00:00
Albert Vaca Cintora
5cda1ceb0c Catch a NPE that I'm not sure how to avoid 2024-06-13 12:50:09 +02:00
Albert Vaca Cintora
7ed4efedc3 Fix SecurityException if the notifications permission was revoked 2024-06-13 12:07:06 +02:00
Midori Kochiya
96ecd620cf Add support for Direct Share targets
As described in https://developer.android.com/training/sharing/direct-share-targets.

This makes connected devices with `SharePlugin` enabled show
up in Android's Sharesheet and can be directly shared to.
2024-06-11 14:01:03 +00:00
Albert Vaca Cintora
f344586fb6 Release 1.31.1 2024-06-10 15:07:25 +02:00
Albert Vaca Cintora
d9755f8438 Remove support for Android TV launchers
This requires us to publish the app as an App Bundle, however we publish it
as an APK.
2024-06-10 15:04:34 +02:00
Albert Vaca Cintora
659ed25213 Release 1.31.0 2024-06-10 14:55:11 +02:00
Albert Vaca Cintora
ca6ea5cb1a Simplify for loop 2024-06-10 13:57:20 +02:00
l10n daemon script
4e1e2931e2 GIT_SILENT made messages (after extraction) 2024-06-08 01:49:38 +00:00
Albert Vaca Cintora
711eef97e7 Handle identity packets received because of existing device renames 2024-06-06 08:16:03 +02:00
Albert Vaca Cintora
962dc50617 Added a fixme and stop removing devices 2024-06-06 07:55:04 +02:00
Albert Vaca Cintora
1ecd6b67c2 Bump deps 2024-06-06 07:55:04 +02:00
l10n daemon script
72ad997b53 GIT_SILENT made messages (after extraction) 2024-06-05 02:06:14 +00:00
Albert Vaca Cintora
8352091ffd Add javadoc for Device fields 2024-06-04 20:30:48 +02:00
Albert Vaca Cintora
1195cf5c4e Make NetworkPacketWithCallback a data class as per code review 2024-06-04 20:21:20 +02:00
Albert Vaca Cintora
f03c86c4ae Make null check and (de)initialization atomic 2024-06-04 20:05:58 +02:00
Albert Vaca Cintora
4ae6e50020 Remove DevicePacketQueue, use a IO coroutine to send packets 2024-06-04 19:57:59 +02:00
Albert Vaca Cintora
66ea01ad29 Remove unnecessary testOptions 2024-06-04 19:57:06 +02:00
l10n daemon script
9a8a99a5a7 GIT_SILENT made messages (after extraction) 2024-05-31 01:57:48 +00:00
l10n daemon script
5578f9172b GIT_SILENT Sync po/docbooks with svn 2024-05-29 02:52:15 +00:00
l10n daemon script
860504fbbf GIT_SILENT made messages (after extraction) 2024-05-29 02:07:46 +00:00
l10n daemon script
6affee7f8d GIT_SILENT made messages (after extraction) 2024-05-28 01:43:46 +00:00
l10n daemon script
2cf0c354cd GIT_SILENT made messages (after extraction) 2024-05-27 01:46:45 +00:00
l10n daemon script
9689191847 GIT_SILENT made messages (after extraction) 2024-05-26 01:42:43 +00:00
l10n daemon script
ebe3cb4c4e GIT_SILENT Sync po/docbooks with svn 2024-05-25 02:24:40 +00:00
l10n daemon script
afa832843f GIT_SILENT made messages (after extraction) 2024-05-25 01:47:56 +00:00
l10n daemon script
d92a8afdf4 GIT_SILENT made messages (after extraction) 2024-05-24 01:48:58 +00:00
l10n daemon script
56577bcc88 GIT_SILENT made messages (after extraction) 2024-05-23 01:45:20 +00:00
l10n daemon script
8283b8267f GIT_SILENT made messages (after extraction) 2024-05-22 01:48:29 +00:00
Albert Vaca Cintora
ca4a6eb06a Update Jetpack Compose compiler to 2.0
This is the new way of including the Jetpack Compose compiler [1] starting from Kotlin 2.0


[1] https://android-developers.googleblog.com/2024/04/jetpack-compose-compiler-moving-to-kotlin-repository.html
2024-05-21 09:46:23 +00:00
l10n daemon script
8892750809 GIT_SILENT made messages (after extraction) 2024-05-21 01:52:23 +00:00
Albert Vaca Cintora
3378c5d428 I think this can be removed now 2024-05-20 19:45:26 +02:00
Albert Vaca Cintora
2cfb506626 Do not minify on debug 2024-05-20 19:45:26 +02:00
Albert Vaca Cintora
5e1b47db63 Do not mark device as open, it's actually not needed 2024-05-20 19:45:26 +02:00
Albert Vaca Cintora
f29f056ef7 Remove the public "pairingCallback" variable
It was used by mistake in DeviceFragment inside a device.apply block
because it was shadowing the pairingCallback defined there.

Bug introduced in 23701bc4ae
2024-05-20 19:45:20 +02:00
Albert Vaca Cintora
0d0672e59f Same in LanLinkProvider 2024-05-19 15:34:02 +02:00
Albert Vaca Cintora
efda9b95ab Check packet type inside of isValidIdentityPacket 2024-05-19 15:32:28 +02:00
Albert Vaca Cintora
186236b93a Do not store connectivityType 2024-05-19 13:38:56 +02:00
Albert Vaca Cintora
f7ea30dd7d Use the plugin context and not the device context 2024-05-19 13:37:26 +02:00
Albert Vaca Cintora
1bd5b12619 Use applicationContext as context for Device
Co-authored-by: ShellWen Chen <me@shellwen.com>
2024-05-19 13:32:58 +02:00
Albert Vaca Cintora
23701bc4ae Migrate Device to Kotlin
Co-authored-by: ShellWen Chen <me@shellwen.com>
2024-05-19 13:31:19 +02:00
ShellWen Chen
5151ed3d96 refactor: mark getIcon() as notnull, add @DrawableRes to toDrawableId() 2024-05-19 13:29:18 +02:00
Albert Vaca Cintora
4c0acbb71c Always display the verification key when pairing 2024-05-19 10:03:04 +00:00
Albert Vaca Cintora
440f1d4fa3 Filter device name
Following the spec: https://invent.kde.org/network/kdeconnect-meta/-/blob/master/protocol.md?ref_type=heads#kdeconnectidentity
2024-05-19 10:02:28 +00:00
l10n daemon script
e8f7e86b35 GIT_SILENT made messages (after extraction) 2024-05-19 01:47:18 +00:00
Albert Vaca Cintora
343270c793 Shorten pairing key to 8 chars
The previous key was 64 freakin characters long which made it more prone
to being ignored, and thus less secure.
2024-05-18 20:40:54 +00:00
Albert Vaca Cintora
27075e89be Remove unneeded null check 2024-05-17 10:49:19 +02:00
l10n daemon script
768b02c173 GIT_SILENT made messages (after extraction) 2024-05-16 02:07:51 +00:00
Albert Vaca Cintora
ef760a3628 Revert "refactor: migrate DevicePacketQueue to Kotlin Coroutine"
This reverts merge request !431
2024-05-13 21:53:15 +00:00
Albert Vaca Cintora
3e96d5ecd3 Remove leftover mock line 2024-05-13 12:34:19 +02:00
Albert Vaca Cintora
c6dbadce21 Upgrade to Mockito 5, remove PowerMock and update test
PowerMock is no longer maintained and is only compatible with Mockito 3.
However, modern Mockito supports mocking static methods, so PowerMock is
no longer needed (after adjusting the tests a bit).
2024-05-13 12:31:59 +02:00
l10n daemon script
b985aeb18e GIT_SILENT made messages (after extraction) 2024-05-13 01:48:25 +00:00
Albert Vaca Cintora
dc2c2e71df Fix test by removing unused mocks 2024-05-12 22:27:32 +02:00
Albert Vaca Cintora
e1a7b476d1 Migrate DeviceHelper to Kotlin 2024-05-12 22:27:32 +02:00
Albert Vaca Cintora
5dad852ece Bump deps 2024-05-12 22:26:54 +02:00
Albert Vaca Cintora
9ca1495dd3 Fix banner icon 2024-05-12 21:28:31 +02:00
Philip Cohn-Cort
eeeb5678c1 tv: Greatly improve focus behavior on device list 2024-05-12 21:28:06 +02:00
Philip Cohn-Cort
769f054355 tv: Allow launching on TV devices 2024-05-12 21:28:06 +02:00
Philip Cohn-Cort
235c67fd82 tv: Add new banner image for the launcher 2024-05-12 21:28:06 +02:00
Albert Vaca Cintora
862bd43c63 Fix warning 2024-05-12 16:06:38 +02:00
Albert Vaca Cintora
a82b6bbae0 Remove some depreacated calls in EasterEggActivity 2024-05-12 16:03:27 +02:00
Albert Vaca Cintora
2803024046 Bump Gradle version 2024-05-12 15:50:19 +02:00
l10n daemon script
01bc5490f2 GIT_SILENT Sync po/docbooks with svn 2024-05-12 02:38:29 +00:00
l10n daemon script
994a71f7cd GIT_SILENT made messages (after extraction) 2024-05-12 01:56:34 +00:00
l10n daemon script
0eb79e0053 GIT_SILENT made messages (after extraction) 2024-05-09 01:51:50 +00:00
l10n daemon script
00387ca01d GIT_SILENT made messages (after extraction) 2024-05-08 01:52:04 +00:00
l10n daemon script
7dba06cbb6 GIT_SILENT made messages (after extraction) 2024-05-07 01:44:25 +00:00
l10n daemon script
ae60cbbf74 GIT_SILENT Sync po/docbooks with svn 2024-05-06 02:30:22 +00:00
l10n daemon script
0d4951f152 GIT_SILENT made messages (after extraction) 2024-05-05 01:44:14 +00:00
l10n daemon script
5fb87d598e GIT_SILENT Sync po/docbooks with svn 2024-05-04 02:38:12 +00:00
l10n daemon script
b65c1aae8f GIT_SILENT made messages (after extraction) 2024-05-04 01:56:54 +00:00
Albert Vaca Cintora
3d166e6d4b Offer to "continue playing" media on this device after pausing
Based on the MR !249

Co-authored-by: Alex Gravenor <blazingkin@gmail.com>
2024-05-02 16:18:33 +02:00
Albert Vaca Cintora
411bcc3960 Added a comment 2024-05-02 12:19:08 +02:00
Albert Vaca Cintora
eb5719d9a2 Improve security of SFTP server against timing attacks
Use a constant time string comparison for password auth.
2024-05-02 10:13:19 +00:00
Albert Vaca Cintora
37246f8575 Fix not loading any plugins when pairing with MacOS 2024-05-02 10:12:13 +00:00
l10n daemon script
6728ca472c GIT_SILENT made messages (after extraction) 2024-05-01 01:41:30 +00:00
l10n daemon script
d19595fc3b GIT_SILENT made messages (after extraction) 2024-04-24 01:55:57 +00:00
l10n daemon script
f3c23c5b8e GIT_SILENT Sync po/docbooks with svn 2024-04-22 02:41:36 +00:00
l10n daemon script
ce4f6ca9ef GIT_SILENT made messages (after extraction) 2024-04-22 01:54:24 +00:00
Rob Emery
f21fe2eb1b Removing accidental newline
Signed-off-by: Rob Emery <git@mintsoft.net>
2024-04-21 21:18:00 +00:00
Rob Emery
105a733028 When we are denied bluetooth, we can switch it off as well so it doesn't try again
Signed-off-by: Rob Emery <git@mintsoft.net>
2024-04-21 21:18:00 +00:00
Rob Emery
9df15bf9ca If the user revokes the "nearby devices" permission from KDEConnect, previously this
would throw a SecurityException and cause the app to crash. It will now ignore this
condition and keep using the other connection methods (i.e. LANProvider). Toggling the
Enable Bluetooth option in the settings will fix the permissions

Signed-off-by: Rob Emery <git@mintsoft.net>
2024-04-21 21:18:00 +00:00
l10n daemon script
d53fcdd546 GIT_SILENT Sync po/docbooks with svn 2024-04-21 02:27:21 +00:00
l10n daemon script
fa125ed0ac GIT_SILENT made messages (after extraction) 2024-04-21 01:43:30 +00:00
l10n daemon script
28ebd94517 GIT_SILENT Sync po/docbooks with svn 2024-04-20 02:29:18 +00:00
l10n daemon script
d0efb70bcf GIT_SILENT made messages (after extraction) 2024-04-20 01:44:45 +00:00
l10n daemon script
5441b0b5d6 GIT_SILENT made messages (after extraction) 2024-04-19 01:46:55 +00:00
l10n daemon script
0a354695cc GIT_SILENT made messages (after extraction) 2024-04-18 01:36:27 +00:00
l10n daemon script
4bbe6c2e55 GIT_SILENT Sync po/docbooks with svn 2024-04-17 02:30:54 +00:00
Vala Zadeh
80106ccb81 Add option to cache URLs shared to unreachable devices 2024-04-16 07:10:42 +00:00
Albert Vaca Cintora
fb327ae35e Fixes from code review 2024-04-15 18:22:26 +02:00
Albert Vaca Cintora
ffa0049c09 Remove colors from theme
We had a mix of specific colors and theme-based Material You colors.
This aims to remove any hardcoded color so the app only uses the colors
from the current theme.
2024-04-15 18:01:54 +02:00
l10n daemon script
afb45416b1 GIT_SILENT Sync po/docbooks with svn 2024-04-15 02:21:17 +00:00
ShellWen Chen
295dc7b42a refactor: migrate DevicePacketQueue to Kotlin Coroutine 2024-04-14 23:04:55 +00:00
l10n daemon script
0de545773d GIT_SILENT Sync po/docbooks with svn 2024-04-14 02:22:27 +00:00
l10n daemon script
7a0e38445b GIT_SILENT Sync po/docbooks with svn 2024-04-13 02:28:20 +00:00
Albert Vaca Cintora
40b1cdabc8 Safer gitignore 2024-04-12 09:25:44 +02:00
Albert Vaca Cintora
28b1e7d96a Gitignore release dir 2024-04-12 09:25:44 +02:00
Albert Vaca Cintora
2f922f282a Bump deps 2024-04-12 09:25:44 +02:00
Albert Vaca Cintora
6d431c5797 Add packet type information when an OOM happens 2024-04-12 09:25:44 +02:00
l10n daemon script
175ee9b011 GIT_SILENT Sync po/docbooks with svn 2024-04-12 02:26:43 +00:00
l10n daemon script
8a9ac32882 GIT_SILENT made messages (after extraction) 2024-04-12 01:42:12 +00:00
Albert Vaca Cintora
9065867c4a Release 1.30.1 2024-04-11 23:45:56 +02:00
Albert Vaca Cintora
47e0cca3c6 Migrate SMSHelper to Kotlin 2024-04-11 21:17:02 +00:00
Albert Vaca Cintora
db33b13343 Fix crash due to passing null as a non-null arg 2024-04-11 22:55:37 +02:00
Albert Vaca Cintora
45dfbae63f Do not make unnecessary stuff public in NetworkPacket 2024-04-11 22:48:23 +02:00
l10n daemon script
8268358b5a GIT_SILENT Sync po/docbooks with svn 2024-04-11 02:27:34 +00:00
l10n daemon script
3aa7d249b3 GIT_SILENT Sync po/docbooks with svn 2024-04-10 02:29:45 +00:00
l10n daemon script
b3f96b136c GIT_SILENT Sync po/docbooks with svn 2024-04-09 02:28:48 +00:00
Albert Vaca Cintora
e2196b35fe Fix remote mouse: you can drag but not drop in Plasma Wayland 2024-04-08 21:00:06 +00:00
l10n daemon script
6c7700f6c8 GIT_SILENT Sync po/docbooks with svn 2024-04-08 02:28:11 +00:00
ShellWen Chen
7f67a80bda refactor: migrate PairingHandler to Kotlin 2024-04-07 18:16:39 +00:00
ShellWen Chen
5ce0c1ccf8 refactor: migrate AppsHelper to Kotlin
Remove `appIconLookup()` as not used
2024-04-07 13:52:03 +00:00
l10n daemon script
c2e1a93f68 GIT_SILENT Sync po/docbooks with svn 2024-04-07 02:28:33 +00:00
ShellWen Chen
3e6329c64e refactor: migrate ThemeUtil to Kotlin
Migrate `ThemeUtil` into Kotlin. It was already tested.
2024-04-06 22:17:54 +00:00
374 changed files with 14770 additions and 11819 deletions

19
.gitignore vendored
View File

@@ -1,14 +1,17 @@
.attach_pid*
local.properties
.gradle/
.idea/
out/
gen/
bin/
build/
target/
classes/
/.gradle/
/.idea/
/out/
/gen/
/bin/
/build/
/target/
/classes/
*.iml
*.keystore
!debug.keystore
.directory
GPUCache/
/release/
/.kotlin/

View File

@@ -7,13 +7,26 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="13000"
android:versionName="1.30.0">
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.location.gps"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
@@ -56,13 +69,16 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/kde_connect"
android:banner="@mipmap/ic_launcher_banner"
android:supportsRtl="true"
android:allowBackup="false"
android:dataExtractionRules="@xml/data_extraction_rules"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/KdeConnectTheme.NoActionBar"
android:name="org.kde.kdeconnect.KdeConnect"
android:enableOnBackInvokedCallback="true">
android:enableOnBackInvokedCallback="true"
android:requestLegacyExternalStorage="true"> <!-- requestLegacyExternalStorage is only used in Android 10: https://developer.android.com/training/data-storage/use-cases#opt-out-in-production-app -->
<receiver
android:name="com.android.mms.transaction.PushReceiver"
@@ -110,6 +126,12 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
<activity
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
@@ -276,6 +298,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:name="android.support.PARENT_ACTIVITY"
android:value="org.kde.kdeconnect.Plugins.MousePadPlugin.MousePadActivity" />
</activity>
<!-- TODO: Remove? This is only used by https://github.com/andOTP/andOTP, which is unmaintained since 2021. Do people use forks or can we remove this? -->
<activity
android:name="org.kde.kdeconnect.Plugins.MousePadPlugin.SendKeystrokesToHostActivity"
android:label="@string/pref_plugin_mousepad_send_keystrokes"
@@ -335,7 +358,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.kde.kdeconnect_tp.fileprovider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data

View File

@@ -1,8 +1,15 @@
import com.android.build.api.instrumentation.AsmClassVisitorFactory
import com.android.build.api.instrumentation.ClassContext
import com.android.build.api.instrumentation.ClassData
import com.android.build.api.instrumentation.InstrumentationParameters
import com.android.build.api.instrumentation.InstrumentationScope
import com.github.jk1.license.LicenseReportExtension
import com.github.jk1.license.render.ReportRenderer
import com.github.jk1.license.render.TextReportRenderer
import java.io.FileNotFoundException
import java.util.Properties
import org.objectweb.asm.ClassVisitor
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes.CHECKCAST
import org.objectweb.asm.Opcodes.INVOKESTATIC
buildscript {
dependencies {
@@ -11,40 +18,30 @@ buildscript {
}
}
@Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once https://youtrack.jetbrains.com/issue/KTIJ-19369 is fixed
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.ksp)
alias(libs.plugins.dependencyLicenseReport)
alias(libs.plugins.compose.compiler)
}
val licenseResDir = File("$projectDir/build/dependency-license-res")
fun String.runCommand(
workingDir: File = File("."),
timeoutAmount: Long = 60,
timeoutUnit: TimeUnit = TimeUnit.SECONDS
): String = ProcessBuilder(split("\\s(?=(?:[^'\"`]*(['\"`])[^'\"`]*\\1)*[^'\"`]*$)".toRegex()))
.directory(workingDir)
.redirectOutput(ProcessBuilder.Redirect.PIPE)
.redirectError(ProcessBuilder.Redirect.PIPE)
.start()
.apply { waitFor(timeoutAmount, timeoutUnit) }
.run {
val error = errorStream.bufferedReader().readText().trim()
if (error.isNotEmpty()) {
throw Exception(error)
}
inputStream.bufferedReader().readText().trim()
}
val hashProvider = project.providers.exec {
workingDir = rootDir
commandLine("git", "rev-parse", "--short", "HEAD")
}.standardOutput.asText.map { it.trim() }
android {
namespace = "org.kde.kdeconnect_tp"
compileSdk = 34
compileSdk = 35
defaultConfig {
applicationId = "org.kde.kdeconnect_tp"
minSdk = 21
targetSdk = 33
targetSdk = 35
versionCode = 13304
versionName = "1.33.4"
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
buildFeatures {
@@ -53,10 +50,6 @@ android {
buildConfig = true
}
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_9
targetCompatibility = JavaVersion.VERSION_1_9
@@ -71,16 +64,18 @@ android {
androidResources {
generateLocaleConfig = true
}
sourceSets {
getByName("main") {
manifest.srcFile("AndroidManifest.xml")
java.setSrcDirs(listOf("src"))
resources.setSrcDirs(listOf("resources"))
res.setSrcDirs(listOf(licenseResDir, "res"))
assets.setSrcDirs(listOf("assets"))
setRoot(".") // By default AGP expects all directories under src/main/...
java.srcDir("src") // by default is "java"
res.setSrcDirs(listOf(licenseResDir, "res")) // add licenseResDir
}
getByName("debug") {
res.srcDir("dbg-res")
}
getByName("test") {
java.setSrcDirs(listOf("tests"))
java.srcDir("tests")
}
}
@@ -99,22 +94,12 @@ android {
}
buildTypes {
getByName("debug") {
// We minify by default even on debug builds. This has helped us catch issues where minification would remove files that were actually used (eg: via reflection).
// If you want to locally disable this behavior to speed-up the build, add a line `disableMinifyDebug=true` to your `local.properties` file.
val reader = try {
rootProject.file("local.properties").reader()
} catch (e: FileNotFoundException) {
null
}
val properties = reader?.use { Properties().apply { load(it) } }
val disableMinifyDebug = properties?.getProperty("disableMinifyDebug")?.toBoolean() ?: false
isMinifyEnabled = !disableMinifyDebug
isShrinkResources = !disableMinifyDebug
isMinifyEnabled = false
isShrinkResources = false
signingConfig = signingConfigs.getByName("debug")
applicationIdSuffix = ".debug"
versionNameSuffix = "-debug"
}
// keep minifyEnabled false above for faster builds; set to 'true'
// when testing to make sure ProGuard/R8 is not deleting important stuff
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
@@ -125,19 +110,6 @@ android {
checkReleaseBuilds = false
}
testOptions {
unitTests.all {
it.jvmArgs = it.jvmArgs.orEmpty() + listOf(
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.security=ALL-UNNAMED",
"--add-opens=java.base/sun.security.rsa=ALL-UNNAMED",
"--add-opens=java.base/sun.security.x509=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED",
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
)
}
}
applicationVariants.all {
val variant = this
logger.quiet("Found a variant called ${variant.name}")
@@ -149,9 +121,8 @@ android {
// Default output filename is "${project.name}-${v.name}.apk". We want
// the Git commit short-hash to be added onto that default filename.
try {
val hash = "git rev-parse --short HEAD".runCommand(workingDir = rootDir)
val newName = "${project.name}-${variant.name}-${hash}.apk"
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to ${newName}")
val newName = "${project.name}-${variant.name}-${hashProvider.get()}.apk"
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to $newName")
output.outputFileName = newName
} catch (ignored: Exception) {
logger.warn("Could not make use of the 'git' command-line tool. Output filenames will not be customized.")
@@ -162,8 +133,143 @@ android {
}
}
/**
* Fix PosixFilePermission class type check issue.
*
* It fixed the class cast exception when lib desugar enabled and minSdk < 26.
*/
abstract class FixPosixFilePermissionClassVisitorFactory :
AsmClassVisitorFactory<FixPosixFilePermissionClassVisitorFactory.Params> {
override fun createClassVisitor(
classContext: ClassContext,
nextClassVisitor: ClassVisitor
): ClassVisitor {
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
override fun visitMethod(
access: Int,
name: String?,
descriptor: String?,
signature: String?,
exceptions: Array<out String>?
): MethodVisitor {
if (name == "attributesToPermissions") { // org.apache.sshd.sftp.common.SftpHelper.attributesToPermissions
return object : MethodVisitor(
instrumentationContext.apiVersion.get(),
super.visitMethod(access, name, descriptor, signature, exceptions)
) {
override fun visitTypeInsn(opcode: Int, type: String?) {
// We need to prevent Android Desugar modifying the `PosixFilePermission` classname.
//
// Android Desugar will replace `CHECKCAST java/nio/file/attribute/PosixFilePermission`
// to `CHECKCAST j$/nio/file/attribute/PosixFilePermission`.
// We need to replace it with `CHECKCAST java/lang/Enum` to prevent Android Desugar from modifying it.
if (opcode == CHECKCAST && type == "java/nio/file/attribute/PosixFilePermission") {
println("Bypass PosixFilePermission type check success.")
// `Enum` is the superclass of `PosixFilePermission`.
// Due to `Object` is not the superclass of `Enum`, we need to use `Enum` instead of `Object`.
super.visitTypeInsn(opcode, "java/lang/Enum")
} else {
super.visitTypeInsn(opcode, type)
}
}
}
}
return super.visitMethod(access, name, descriptor, signature, exceptions)
}
}
}
override fun isInstrumentable(classData: ClassData): Boolean {
return (classData.className == "org.apache.sshd.sftp.common.SftpHelper").also {
if (it) println("SftpHelper Found! Instrumenting...")
}
}
interface Params : InstrumentationParameters
}
/**
* Collections.unmodifiableXXX is not exist when Android API level is lower than 26.
* So we replace the call to Collections.unmodifiableXXX with the original collection by removing the call.
*/
abstract class FixCollectionsClassVisitorFactory :
AsmClassVisitorFactory<FixCollectionsClassVisitorFactory.Params> {
override fun createClassVisitor(
classContext: ClassContext,
nextClassVisitor: ClassVisitor
): ClassVisitor {
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
override fun visitMethod(
access: Int,
name: String?,
descriptor: String?,
signature: String?,
exceptions: Array<out String>?
): MethodVisitor {
return object : MethodVisitor(
instrumentationContext.apiVersion.get(),
super.visitMethod(access, name, descriptor, signature, exceptions)
) {
override fun visitMethodInsn(
opcode: Int,
type: String?,
name: String?,
descriptor: String?,
isInterface: Boolean
) {
val backportClass = "org/kde/kdeconnect/Helpers/CollectionsBackport"
if (opcode == INVOKESTATIC && type == "java/util/Collections") {
val replaceRules = mapOf(
"unmodifiableNavigableSet" to "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;",
"unmodifiableSet" to "(Ljava/util/Set;)Ljava/util/Set;",
"unmodifiableNavigableMap" to "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;",
"emptyNavigableMap" to "()Ljava/util/NavigableMap;")
if (name in replaceRules && descriptor == replaceRules[name]) {
super.visitMethodInsn(opcode, backportClass, name, descriptor, isInterface)
val calleeClass = classContext.currentClassData.className
println("Replace Collections.$name call with CollectionsBackport.$name from $calleeClass success.")
return
}
}
super.visitMethodInsn(opcode, type, name, descriptor, isInterface)
}
}
}
}
}
override fun isInstrumentable(classData: ClassData): Boolean {
return classData.className.startsWith("org.apache.sshd") // We only need to fix the Apache SSHD library
}
interface Params : InstrumentationParameters
}
ksp {
arg("com.albertvaka.classindexksp.annotations", "org.kde.kdeconnect.Plugins.PluginFactory.LoadablePlugin")
}
androidComponents {
onVariants { variant ->
variant.instrumentation.transformClassesWith(
FixPosixFilePermissionClassVisitorFactory::class.java,
InstrumentationScope.ALL
) { }
variant.instrumentation.transformClassesWith(
FixCollectionsClassVisitorFactory::class.java,
InstrumentationScope.ALL
) { }
}
}
dependencies {
coreLibraryDesugaring(libs.android.desugarJdkLibs)
// It has a bug that causes a crash when using PosixFilePermission and minSdk < 26.
// It has been used in SSHD Core.
// We have taken a workaround to fix it.
// See `FixPosixFilePermissionClassVisitorFactory` for more details.
coreLibraryDesugaring(libs.android.desugarJdkLibsNio)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.ui.tooling.preview)
@@ -190,13 +296,14 @@ dependencies {
implementation(libs.slf4j.handroid)
implementation(libs.apache.sshd.core)
implementation(libs.apache.mina.core) //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8 (api 26)
implementation(libs.apache.sshd.sftp)
implementation(libs.apache.sshd.scp)
implementation(libs.apache.sshd.mina)
implementation(libs.apache.mina.core)
//implementation("com.github.bright:slf4android:0.1.6") { transitive = true } // For org.apache.sshd debugging
implementation(libs.bcpkix.jdk15on) //For SSL certificate generation
implementation(libs.classindex)
kapt(libs.classindex)
ksp(libs.classindexksp)
// The android-smsmms library is the only way I know to handle MMS in Android
// (Shouldn't a phone OS make phone things easy?)
@@ -219,10 +326,7 @@ dependencies {
// Testing
testImplementation(libs.junit)
testImplementation(libs.powermock.core)
testImplementation(libs.powermock.module.junit4)
testImplementation(libs.powermock.api.mockito2)
testImplementation(libs.mockito.core) // powermock isn't compatible with mockito 4
testImplementation(libs.mockito.core)
testImplementation(libs.jsonassert)
// For device controls

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<!-- <background android:drawable="@drawable/ic_launcher_banner_background"/>-->
<foreground android:drawable="@drawable/ic_launcher_banner_foreground"/>
</adaptive-icon>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="kde_connect">Debug KDE Connect</string>
</resources>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="kde_connect">Debug KDE Connect</string>
</resources>

View File

@@ -0,0 +1,21 @@
يوفر جسر كِيدِي مجموعة من الميزات لدمج سير عملك عبر الأجهزة:
- نقل الملفات بين أجهزتك.
- الوصول إلى الملفات الموجودة على هاتفك من حاسوبك، دون أسلاك.
- الحافظة المشتركة: النسخ واللصق بين أجهزتك.
- الحصول على إشعارات للمكالمات والرسائل الواردة على حاسوبك.
- لوحة اللمس افتراضية: استخدم شاشة هاتفك كلوحة لمس لحاسوبك.
- مزامنة الإشعارات: الوصول إلى إشعارات هاتفك من حاسوبك والرد على الرسائل.
- التحكم عن بعد في الوسائط المتعددة: استخدم هاتفك كجهاز تحكم عن بعد لمشغلات الوسائط لينكس.
- اتصال واي فاي: لا حاجة إلى سلك يو اس بي أو بلوتوث.
- تعمية TLS من البداية إلى النهاية: معلوماتك آمنة.
يرجى ملاحظة أنك ستحتاج إلى تثبيت جسر كِيدِي على حاسوبك حتى يعمل هذا التطبيق، والحفاظ على تحديث إصدار سطح المكتب بإصدار أندوريد حتى تعمل أحدث الميزات.
معلومات الأذونات الحساسة:
* إذن إمكانية الوصول: مطلوب لتلقي إدخال من جهاز آخر للتحكم في هاتف أندرويد خاص بك، إذا كنت تستخدم ميزة الإدخال عن بُعد.
* إذن تحديد الموقع في الخلفية: مطلوب لمعرفة شبكة واي فاي التي تتصل بها، إذا كنت تستخدم ميزة الشبكات الموثوقة.
لا يرسل جسر كِيدِي أي معلومات إلى كيدي أو إلى أي طرف ثالث. يرسل جسر كِيدِي البيانات من جهاز إلى آخر مباشرةً باستخدام الشبكة المحلية، وليس عبر الإنترنت، وباستخدام التعمية من البداية إلى النهاية.
هذا التطبيق جزء من مشروع مفتوح المصدر وهو موجود بفضل جميع الأشخاص الذين ساهموا فيه. زر الموقع الإلكتروني للحصول على الشفرة المصدرية.

View File

@@ -0,0 +1 @@
يدمج جسر كِيدِي هاتفك الذكي مع حاسوبك

View File

@@ -0,0 +1 @@
KDE Connect

View File

@@ -0,0 +1,21 @@
KDE Connect предоставя набор от функции за интегриране на вашия работен процес на различни устройства:
- Прехвърляйте файлове между вашите устройства.
- Осъществявайте достъп до файлове на телефона си от компютъра си, без кабели.
- Споделен клипборд: копирайте и поставяйте между вашите устройства.
- Получавайте известия за входящи обаждания и съобщения на вашия компютър.
- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на компютъра.
- Синхронизиране на известия: Достъп до известията на телефона ви от вашия компютър и отговаряне на съобщения.
- Мултимедийно дистанционно управление: Използвайте телефона си като дистанционно за Linux медийни плейъри.
- WiFi връзка: не е необходим USB кабел или bluetooth.
- TLS криптиране от край до край: информацията ви е в безопасност.
Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия компютър, за да работи това приложение, и поддържайте версията за настолен компютър актуална с версията за Android, за да работят най-новите функции.
Поверителна информация за разрешения:
* Разрешение за достъпност: Изисква се за получаване на вход от друго устройство за управление на вашия телефон с Android, ако използвате функцията за отдалечено въвеждане.
* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.
KDE Connect никога не изпраща никаква информация на KDE или на трета страна. KDE Connect изпраща данни от едно устройство на друго директно чрез локалната мрежа, никога през интернет, и чрез криптиране от край до край.
Това приложение е част от проект с отворен код и съществува благодарение на всички хора, които са допринесли за него. Посетете уебсайта, за да вземете изходния код.

View File

@@ -0,0 +1 @@
KDE Connect интегрира вашия смартфон и компютър

View File

@@ -0,0 +1 @@
KDE Connect

View File

@@ -1,21 +1,21 @@
KDE Connect provides a set of features to integrate your workflow across devices:
KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über verschiedene Geräte zu vereinigen:
- Transfer files between your devices.
- Access files on your phone from your computer, without wires.
- Shared clipboard: copy and paste between your devices.
- Get notifications for incoming calls and messages on your computer.
- Virtual touchpad: Use your phone screen as your computer's touchpad.
- Notifications sync: Access your phone notifications from your computer and reply to messages.
- Multimedia remote control: Use your phone as a remote for Linux media players.
- WiFi connection: no USB wire or bluetooth needed.
- End-to-end TLS encryption: your information is safe.
- Daten zwischen Ihren Geräten übertragen.
- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.
- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.
- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf Ihren Computer.
- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als Touchpad für Ihren Computer.
- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.
- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für Linux-Medienspieler.
- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.
- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen nutzen zu können.
Sensitive permissions information:
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
Informationen zu sensiblen Berechtigungen:
* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die Ferneingabefunktion verwenden.
* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die Funktion „Vertrauenswürdige Netzwerke” verwenden.
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum anderen, niemals über das Internet.
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.
Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich den Quelltext zu holen.

View File

@@ -0,0 +1,16 @@
1.30.1
* Fixes recently introduced crashes
1.30
* Added Bluetooth support (beta)
* Improved device controls
* Added scroll sensitivity option to remote input
* Accessibility improvements
1.29
* Added MDNS device discovery
* Fixed crash opening the Run Command widget settings
* Added more fine-grained notification channels
* Added a confirmation before copying contacts
* Long-tapping the "Send clipboard" quick settings tile now opens the app
* Removed the photo plugin

View File

@@ -0,0 +1,11 @@
1.31
* Allow sharing URLs to disconnected devices, to be opened when they become available later
* Show a notification to continue playing media on this device after stopping it on another device
* Display a shortened version of the pairing verification key
* Tweaks to the app theme
1.30
* Added Bluetooth support (beta)
* Improved device controls
* Added scroll sensitivity option to remote input
* Accessibility improvements

View File

@@ -0,0 +1,10 @@
1.32
* Rewrite the remote file browsing
* Add Direct Share targets
* Send album art from phone to PC
1.31
* Allow sharing URLs to disconnected devices, to be opened when they become available later
* Show a notification to continue playing media on this device after stopping it on another device
* Display a shortened version of the pairing verification key
* Tweaks to the app theme

View File

@@ -0,0 +1,13 @@
1.32.1
* Fixed a crash when opening the presentation remote
1.32
* Rewrite the remote file browsing
* Add Direct Share targets
* Send album art from phone to PC
1.31
* Allow sharing URLs to disconnected devices, to be opened when they become available later
* Show a notification to continue playing media on this device after stopping it on another device
* Display a shortened version of the pairing verification key
* Tweaks to the app theme

View File

@@ -0,0 +1,11 @@
1.32.2
* Handle expired certificates
* Support doubletap drag in remote mouse
1.32.1
* Fixed a crash when opening the presentation remote
1.32
* Rewrite the remote file browsing
* Add Direct Share targets
* Send album art from phone to PC

View File

@@ -0,0 +1,14 @@
1.32.3
* Fix trusted devices list
1.32.2
* Handle expired certificates
* Support doubletap drag in remote mouse
1.32.1
* Fixed a crash when opening the presentation remote
1.32
* Rewrite the remote file browsing
* Add Direct Share targets
* Send album art from phone to PC

View File

@@ -0,0 +1,17 @@
1.32.5
* Fixed crash in Android 14+
1.32.3
* Fix trusted devices list
1.32.2
* Handle expired certificates
* Support doubletap drag in remote mouse
1.32.1
* Fixed a crash when opening the presentation remote
1.32
* Rewrite the remote file browsing
* Add Direct Share targets
* Send album art from phone to PC

View File

@@ -0,0 +1,16 @@
1.32.7
* Fixed file transfers showing as failed when they succeeded
* Fixed plugin list not updating after granting permissions
1.32.5
* Fixed crash in Android 14+
1.32.3
* Fix trusted devices list
1.32.2
* Handle expired certificates
* Support doubletap drag in remote mouse
1.32.1
* Fixed a crash when opening the presentation remote

View File

@@ -0,0 +1,14 @@
1.32.10
* Fixed app showing behind the notifications bar in Android 15
* Fixed file transfers showing as failed when they succeeded
* Fixed plugin list not updating after granting permissions
1.32.3
* Fix trusted devices list
1.32.2
* Handle expired certificates
* Support doubletap drag in remote mouse
1.32.1
* Fixed a crash when opening the presentation remote

View File

@@ -0,0 +1,6 @@
1.33.0
* Add support for PeerTube links
* Allow filtering notifications from work profile
* Fix bug where devices would unpair without user interaction
* Verification key now changes every second (only if both devices support it)
* Fix crashes

View File

@@ -0,0 +1,9 @@
1.33.1
* Fix compatibility with GSConnect
1.33.0
* Add support for PeerTube links
* Allow filtering notifications from work profile
* Fix bug where devices would unpair without user interaction
* Verification key now changes every second (only if both devices support it)
* Fix crashes

View File

@@ -0,0 +1,12 @@
1.33.2
* Fix connection issues on some devices
1.33.1
* Fix compatibility with GSConnect
1.33.0
* Add support for PeerTube links
* Allow filtering notifications from work profile
* Fix bug where devices would unpair without user interaction
* Verification key now changes every second (only if both devices support it)
* Fix crashes

View File

@@ -0,0 +1,16 @@
1.33.3
* Fix more connection issues. Pairing again might be needed in some setups.
* Add a setting to export the application logs.
1.33.2
* Fix connection issues on some devices.
1.33.1
* Fix compatibility with GSConnect.
1.33.0
* Add support for PeerTube links.
* Allow filtering notifications from work profile.
* Fix bug where devices would unpair without user interaction.
* Verification key now changes every second (only if both devices support it).
* Fix crashes.

View File

@@ -0,0 +1,16 @@
1.33.4
* Extend offline URL sharing behavior to direct share targets.
* Improve paring screen.
1.33.3
* Fix connection issues. Pairing again might be needed in some cases.
* Add a setting to export the application logs.
1.33.1
* Fix compatibility with GSConnect.
1.33.0
* Add support for PeerTube links.
* Allow filtering notifications from work profile.
* Fix bug where devices would unpair without user interaction.
* Verification key now changes every second (if both devices support it).

View File

@@ -1,14 +1,21 @@
KDE Connect provides a set of features to integrate your workflow across devices:
- Transfer files between your devices.
- Access files on your phone from your computer, without wires.
- Shared clipboard: copy and paste between your devices.
- Share files and URLs to your computer from any app.
- Get notifications for incoming calls and SMS messages on your PC.
- Get notifications for incoming calls and messages on your computer.
- Virtual touchpad: Use your phone screen as your computer's touchpad.
- Notifications sync: Read your Android notifications from the desktop.
- Notifications sync: Access your phone notifications from your computer and reply to messages.
- Multimedia remote control: Use your phone as a remote for Linux media players.
- WiFi connection: no USB wire or bluetooth needed.
- End-to-end TLS encryption: your information is safe.
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
Sensitive permissions information:
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.

View File

@@ -6,7 +6,7 @@ KDEConnect fournit un ensemble de fonctionnalités pour intégrer votre flux de
- Apparition de notifications pour les appels et les messages entrants sur votre ordinateur.
- Pavé tactile virtuel : utilisation de l'écran de votre téléphone comme pavé tactile pour votre ordinateur.
- Synchronisation de vos notifications : accès à vos notifications téléphoniques depuis votre ordinateur et réponses aux messages.
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de médias sous Linux.
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de média sous Linux.
- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.
- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.
@@ -18,4 +18,4 @@ Informations sur les permissions sensibles :
KDEConnect n'envoie jamais d'informations à KDE ni à aucun tiers. KDEConnect envoie des données d'un périphérique à un autre à l'aide du réseau local, mais jamais par Internet et en utilisant le chiffrement de bout en bout.
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué.Visitez le site Internet pour accéder au code source.
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué. Veuillez visiter le site Internet pour accéder au code source.

View File

@@ -1 +1 @@
KDE Connect intègre votre téléphone et votre ordinateur.
KDEConnect intègre votre téléphone et votre ordinateur.

View File

@@ -0,0 +1,21 @@
KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers av einingar:
Overfør filer mellom einingane
Få trådlaus tilgang til filer på telefonen frå datamaskina
Del utklippsbilete: kopier og lim inn mellom einingane
Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar
Virtuell styreplate: bruk telefon­skjermen som styreplate for datamaskina
Synkronisering av varslingar: få tilgang til telefon­varslingar frå datamaskina og svar på meldingar
Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte mediespelarar
Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling
Ende-til-ende-kryptering: informasjonen din er trygg
Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til dei nyaste funksjonane.
Informasjon om sensitive løyve:
Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra Android-eininga om du brukar funksjonen «Fjernstyring»
Bakgrunns­løyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»
KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. Programmet sender data direkte mellom dei to einingane via lokalnettet, aldri via Internett og alltid med ende-til-ende-kryptering.
Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.

View File

@@ -0,0 +1 @@
KDE Connect koplar telefonen din saman med datamaskina

View File

@@ -0,0 +1 @@
KDE Connect

View File

@@ -1,20 +1,21 @@
O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de trabalho entre dispositivos:
- Transfira arquivos entre seus dispositivos.
- Acesse arquivos do seu computador no seu telefone, sem fios.
- Área de transferência compartilhada: copie e cole entre seus dispositivos.
- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.
- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.
- Touchpad virtual: use a tela do telefone como touchpad do computador.
- Sincronização de notificações: leia as notificações do seu Android na área de trabalho.
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia Linux.
- Sincronização de notificações: acesse as notificações do seu telefone no seu computador e responda as mensagens.
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia no Linux.
- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.
- Criptografia TLS de ponta a ponta: suas informações estão seguras.
Observe que você precisará instalar o KDE Connect no seu computador para que este aplicativo funcione e mantenha a versão para desktop atualizada com a versão do Android para que os recursos mais recentes funcionem.
Informações a respeito de permissões especiais :
Informações sobre permissões sensíveis:
* Permissão de acessibilidade: necessária para receber entrada de outro dispositivo para controlar seu telefone Android, se você usar o recurso de entrada remota.
* Permissão de localização em segundo plano: necessária para saber a qual rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.
O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
Este aplicativo faz parte de um projeto de código aberto e existe graças a todas as pessoas que contribuíram para ele. Visite o site para obter o código-fonte.

View File

@@ -0,0 +1,20 @@
KDE Connect предоставляет набор функций для интеграции рабочего процесса между устройствами:
- Передача файлов между устройствами.
- Доступ к файлам на телефоне с компьютера без проводов.
- Общий буфер обмена: копирование и вставка между устройствами.
- Уведомления о входящих вызовах и сообщениях на компьютере.
- Виртуальный тачпад: использование экрана телефона в качестве тачпада для компьютера.
- Синхронизация уведомлений: доступ к уведомлениям телефона с компьютера и возможность отвечать на сообщения.
- Дистанционное управление мультимедиа: использование телефона как пульта для медиаплееров в Linux.
- Подключение по Wi-Fi: без проводов USB или Bluetooth.
- Сквозное шифрование TLS: безопасность передаваемой информации.
Обратите внимание, что для работы приложения требуется установка KDE Connect на компьютере. Для поддержки всех функций, версия на компьютере должна быть актуальной и соответствовать версии на Android .
Информация о чувствительных разрешениях:
- Разрешение «Специальные возможности»: необходимо для получения ввода с другого устройства при использовании функции дистанционного ввода.
- Разрешение «Фоновое определение местоположения»: необходимо для определения текущей Wi-Fi-сети при использовании функции «Доверенные сети».
KDE Connect никогда не отправляет данные ни в KDE, ни третьим лицам. Передача данных осуществляется напрямую между устройствами через локальную сеть, без использования интернета, с применением сквозного шифрования.
Приложение является частью проекта с открытым исходным кодом и существует благодаря сообществу участников. Исходный код доступен на официальном сайте.

View File

@@ -0,0 +1 @@
KDE Connect позволяет соединить смартфон и компьютер

View File

@@ -0,0 +1 @@
KDE Connect

View File

@@ -1,4 +1,4 @@
KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:
- 在您的裝置之間傳輸檔案。
- 從您的電腦無線存取您的手機上的檔案。
@@ -10,12 +10,12 @@ KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
- WiFi 連線:不需要 USB 線或是藍牙連線。
- 點對點 TLS 加密:您的資訊是安全的。
請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
敏感權限資訊:
* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控制您的 Android 裝置。
* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網路。
KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得原始碼。

View File

@@ -1 +1 @@
KDE 連線整合了您的智慧型手機與電腦
KDE Connect 整合了您的智慧型手機與電腦

View File

@@ -1,3 +1,7 @@
android.enableJetifier=false
android.useAndroidX=true
org.gradle.jvmargs=-Xmx4096m
org.gradle.caching=true
org.gradle.parallel=true
# License report doesn't allow us to enable configuration caching
#org.gradle.configuration-cache=true

View File

@@ -1,47 +1,45 @@
[versions]
activityCompose = "1.8.2"
androidDesugarJdkLibs = "2.0.4"
androidGradlePlugin = "8.3.1"
activityCompose = "1.10.1"
androidDesugarJdkLibs = "2.1.5"
androidGradlePlugin = "8.11.0"
androidSmsmms = "kdeconnect-1-21-0"
appcompat = "1.6.1"
appcompat = "1.7.1"
bcpkixJdk15on = "1.70"
classindex = "3.13"
commonsCollections4 = "4.4"
commonsIo = "2.16.0"
commonsLang3 = "3.14.0"
constraintlayoutCompose = "1.0.1"
compose-compiler = "1.5.11"
coreKtx = "1.12.0"
classindexksp = "1.2"
commonsCollections4 = "4.5.0"
commonsIo = "2.19.0"
commonsLang3 = "3.17.0"
constraintlayoutCompose = "1.1.1"
coreKtx = "1.16.0"
dependencyLicenseReport = "2.9"
disklrucache = "2.0.2"
documentfile = "1.0.1"
gradle = "8.3.1"
gridlayout = "1.0.0"
jsonassert = "1.5.1"
documentfile = "1.1.0"
gridlayout = "1.1.0"
jsonassert = "1.5.3"
junit = "4.13.2"
dependencyLicenseReport = "1.16"
kotlin = "1.9.23"
kotlinxCoroutinesCore = "1.8.0"
kotlin = "2.2.0"
kspPlugin = "2.2.0-2.0.2"
kotlinxCoroutinesCore = "1.10.2"
lifecycleExtensions = "2.2.0"
lifecycleRuntimeKtx = "2.7.0"
lifecycleRuntimeKtx = "2.9.1"
logger = "1.0.3"
material = "1.11.0"
material3 = "1.2.1"
material = "1.12.0"
material3 = "1.3.2"
media = "1.7.0"
minaCore = "2.0.19"
mockitoCore = "3.12.4"
powermockModuleJunit4 = "2.0.9"
minaCore = "2.2.4"
mockitoCore = "5.18.0"
preferenceKtx = "1.2.1"
reactiveStreams = "1.0.4"
recyclerview = "1.3.2"
recyclerview = "1.4.0"
rxjava = "2.2.21"
sshdCore = "0.14.0"
sl4j = "2.0.13"
sshdCore = "2.15.0"
swiperefreshlayout = "1.1.0"
uiToolingPreview = "1.6.5"
uiToolingPreview = "1.8.3"
univocityParsers = "2.9.1"
sl4j = "2.0.4"
[libraries]
android-desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "androidDesugarJdkLibs" }
android-desugarJdkLibsNio = { module = "com.android.tools:desugar_jdk_libs_nio", version.ref = "androidDesugarJdkLibs" }
android-smsmms = { module = "org.kde.invent.sredman:android-smsmms", version.ref = "androidSmsmms" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
@@ -61,14 +59,14 @@ androidx-preference-ktx = { module = "androidx.preference:preference-ktx", versi
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
bcpkix-jdk15on = { module = "org.bouncycastle:bcpkix-jdk15on", version.ref = "bcpkixJdk15on" }
classindex = { module = "org.atteo.classindex:classindex", version.ref = "classindex" }
classindexksp = { module = "com.github.albertvaka:classindexksp", version.ref = "classindexksp" }
commons-collections4 = { module = "org.apache.commons:commons-collections4", version.ref = "commonsCollections4" }
commons-io = { module = "commons-io:commons-io", version.ref = "commonsIo" }
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commonsLang3" }
disklrucache = { module = "com.jakewharton:disklrucache", version.ref = "disklrucache" }
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
jsonassert = { module = "org.skyscreamer:jsonassert", version.ref = "jsonassert" }
junit = { module = "junit:junit", version.ref = "junit" }
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesCore" }
@@ -77,10 +75,10 @@ logger = { module = "com.klinkerapps:logger", version.ref = "logger" }
material = { module = "com.google.android.material:material", version.ref = "material" }
apache-mina-core = { module = "org.apache.mina:mina-core", version.ref = "minaCore" }
apache-sshd-core = { module = "org.apache.sshd:sshd-core", version.ref = "sshdCore" }
apache-sshd-sftp = { module = "org.apache.sshd:sshd-sftp", version.ref = "sshdCore" }
apache-sshd-scp = { module = "org.apache.sshd:sshd-scp", version.ref = "sshdCore" }
apache-sshd-mina = { module = "org.apache.sshd:sshd-mina", version.ref = "sshdCore" }
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
powermock-api-mockito2 = { module = "org.powermock:powermock-api-mockito2", version.ref = "powermockModuleJunit4" }
powermock-core = { module = "org.powermock:powermock-core", version.ref = "powermockModuleJunit4" }
powermock-module-junit4 = { module = "org.powermock:powermock-module-junit4", version.ref = "powermockModuleJunit4" }
reactive-streams = { module = "org.reactivestreams:reactive-streams", version.ref = "reactiveStreams" }
rxjava = { module = "io.reactivex.rxjava2:rxjava", version.ref = "rxjava" }
univocity-parsers = { module = "com.univocity:univocity-parsers", version.ref = "univocityParsers" }
@@ -88,6 +86,7 @@ slf4j-handroid = { group = "com.gitlab.mvysny.slf4j", name = "slf4j-handroid", v
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
kotlin-android = { id ="org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" }
dependencyLicenseReport = { id = "com.github.jk1.dependency-license-report", version.ref = "dependencyLicenseReport" }

Binary file not shown.

View File

@@ -1,6 +1,8 @@
#Sat Mar 02 00:26:28 CET 2024
#Sat Sep 28 01:39:16 AM EDT 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

294
gradlew vendored
View File

@@ -1,7 +1,7 @@
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright 2015 the original author or authors.
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,78 +17,111 @@
#
##############################################################################
##
## Gradle start up script for UN*X
##
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
MAX_FD=maximum
warn () {
echo "$*"
}
} >&2
die () {
echo
echo "$*"
echo
exit 1
}
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD="$JAVA_HOME/bin/java"
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -97,87 +130,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

55
gradlew.bat vendored
View File

@@ -14,7 +14,7 @@
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,7 +25,8 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@@ -40,13 +41,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
@@ -54,48 +55,36 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal

View File

@@ -0,0 +1,79 @@
# SPDX-FileCopyrightText: 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2025-08-20 21:20+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Lokalize 23.08.5\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
"\n"
"- Transfer files between your devices.\n"
"- Access files on your phone from your computer, without wires.\n"
"- Shared clipboard: copy and paste between your devices.\n"
"- Get notifications for incoming calls and messages on your computer.\n"
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
"- Notifications sync: Access your phone notifications from your computer and "
"reply to messages.\n"
"- Multimedia remote control: Use your phone as a remote for Linux media "
"players.\n"
"- WiFi connection: no USB wire or bluetooth needed.\n"
"- End-to-end TLS encryption: your information is safe.\n"
"\n"
"Please note you will need to install KDE Connect on your computer for this "
"app to work, and keep the desktop version up-to-date with the Android "
"version for the latest features to work.\n"
"\n"
"Sensitive permissions information:\n"
"* Accessibility permission: Required to receive input from another device to "
"control your Android phone, if you use the Remote Input feature.\n"
"* Background location permission: Required to know to which WiFi network you "
"are connected to, if you use the Trusted Networks feature.\n"
"\n"
"KDE Connect never sends any information to KDE nor to any third party. KDE "
"Connect sends data from one device to the other directly using the local "
"network, never through the internet, and using end to end encryption.\n"
"\n"
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"يوفر جسر كِيدِي مجموعة من الميزات لدمج سير عملك عبر الأجهزة:\n"
"\n"
"- نقل الملفات بين أجهزتك.\n"
"- الوصول إلى الملفات الموجودة على هاتفك من حاسوبك، دون أسلاك.\n"
"- الحافظة المشتركة: النسخ واللصق بين أجهزتك.\n"
"- الحصول على إشعارات للمكالمات والرسائل الواردة على حاسوبك.\n"
"- لوحة اللمس افتراضية: استخدم شاشة هاتفك كلوحة لمس لحاسوبك.\n"
"- مزامنة الإشعارات: الوصول إلى إشعارات هاتفك من حاسوبك والرد على الرسائل.\n"
"- التحكم عن بعد في الوسائط المتعددة: استخدم هاتفك كجهاز تحكم عن بعد لمشغلات "
"الوسائط لينكس.\n"
"- اتصال واي فاي: لا حاجة إلى سلك يو اس بي أو بلوتوث.\n"
"- تعمية TLS من البداية إلى النهاية: معلوماتك آمنة.\n"
"\n"
"يرجى ملاحظة أنك ستحتاج إلى تثبيت جسر كِيدِي على حاسوبك حتى يعمل هذا التطبيق، "
"والحفاظ على تحديث إصدار سطح المكتب بإصدار أندوريد حتى تعمل أحدث الميزات.\n"
"\n"
"معلومات الأذونات الحساسة:\n"
"* إذن إمكانية الوصول: مطلوب لتلقي إدخال من جهاز آخر للتحكم في هاتف أندرويد "
"خاص بك، إذا كنت تستخدم ميزة الإدخال عن بُعد.\n"
"* إذن تحديد الموقع في الخلفية: مطلوب لمعرفة شبكة واي فاي التي تتصل بها، إذا "
"كنت تستخدم ميزة الشبكات الموثوقة.\n"
"\n"
"لا يرسل جسر كِيدِي أي معلومات إلى كيدي أو إلى أي طرف ثالث. يرسل جسر كِيدِي "
"البيانات من جهاز إلى آخر مباشرةً باستخدام الشبكة المحلية، وليس عبر الإنترنت، "
"وباستخدام التعمية من البداية إلى النهاية.\n"
"\n"
"هذا التطبيق جزء من مشروع مفتوح المصدر وهو موجود بفضل جميع الأشخاص الذين "
"ساهموا فيه. زر الموقع الإلكتروني للحصول على الشفرة المصدرية.\n"

View File

@@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2025-05-31 17:30+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Lokalize 23.08.5\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "يدمج جسر كِيدِي هاتفك الذكي مع حاسوبك"

View File

@@ -0,0 +1,85 @@
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2024-07-28 18:31+0200\n"
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 24.07.70\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
"\n"
"- Transfer files between your devices.\n"
"- Access files on your phone from your computer, without wires.\n"
"- Shared clipboard: copy and paste between your devices.\n"
"- Get notifications for incoming calls and messages on your computer.\n"
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
"- Notifications sync: Access your phone notifications from your computer and "
"reply to messages.\n"
"- Multimedia remote control: Use your phone as a remote for Linux media "
"players.\n"
"- WiFi connection: no USB wire or bluetooth needed.\n"
"- End-to-end TLS encryption: your information is safe.\n"
"\n"
"Please note you will need to install KDE Connect on your computer for this "
"app to work, and keep the desktop version up-to-date with the Android "
"version for the latest features to work.\n"
"\n"
"Sensitive permissions information:\n"
"* Accessibility permission: Required to receive input from another device to "
"control your Android phone, if you use the Remote Input feature.\n"
"* Background location permission: Required to know to which WiFi network you "
"are connected to, if you use the Trusted Networks feature.\n"
"\n"
"KDE Connect never sends any information to KDE nor to any third party. KDE "
"Connect sends data from one device to the other directly using the local "
"network, never through the internet, and using end to end encryption.\n"
"\n"
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"KDE Connect предоставя набор от функции за интегриране на вашия работен "
"процес на различни устройства:\n"
"\n"
"- Прехвърляйте файлове между вашите устройства.\n"
"- Осъществявайте достъп до файлове на телефона си от компютъра си, без "
"кабели.\n"
"- Споделен клипборд: копирайте и поставяйте между вашите устройства.\n"
"- Получавайте известия за входящи обаждания и съобщения на вашия компютър.\n"
"- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на "
"компютъра.\n"
"- Синхронизиране на известия: Достъп до известията на телефона ви от вашия "
"компютър и отговаряне на съобщения.\n"
"- Мултимедийно дистанционно управление: Използвайте телефона си като "
"дистанционно за Linux медийни плейъри.\n"
"- WiFi връзка: не е необходим USB кабел или bluetooth.\n"
"- TLS криптиране от край до край: информацията ви е в безопасност.\n"
"\n"
"Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия "
"компютър, за да работи това приложение, и поддържайте версията за настолен "
"компютър актуална с версията за Android, за да работят най-новите функции.\n"
"\n"
"Поверителна информация за разрешения:\n"
"* Разрешение за достъпност: Изисква се за получаване на вход от друго "
"устройство за управление на вашия телефон с Android, ако използвате "
"функцията за отдалечено въвеждане.\n"
"* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към "
"коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.\n"
"\n"
"KDE Connect никога не изпраща никаква информация на KDE или на трета страна. "
"KDE Connect изпраща данни от едно устройство на друго директно чрез "
"локалната мрежа, никога през интернет, и чрез криптиране от край до край.\n"
"\n"
"Това приложение е част от проект с отворен код и съществува благодарение на "
"всички хора, които са допринесли за него. Посетете уебсайта, за да вземете "
"изходния код.\n"

View File

@@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2024-07-28 18:32+0200\n"
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 24.07.70\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect интегрира вашия смартфон и компютър"

View File

@@ -63,7 +63,7 @@ msgstr ""
"- Obteniu les notificacions de tocades entrants i missatges a l'ordinador.\n"
"- Ratolí tàctil virtual: utilitzeu la pantalla del telèfon com a ratolí "
"tàctil de l'ordinador.\n"
"- Sincronització de notificacions: accediu a les notificacions del telèfon "
"- Sincronitzeu les notificacions: accediu a les notificacions del telèfon "
"des de l'ordinador i contesteu els missatges.\n"
"- Control remot multimèdia: utilitzeu el telèfon com a control remot dels "
"reproductors multimèdia Linux.\n"

View File

@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vpelcak@suse.cz>
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vit@pelcak.org>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""

View File

@@ -1,19 +1,20 @@
# Frederik Schwarzer <schwarzer@kde.org>, 2023.
# SPDX-FileCopyrightText: 2023 Frederik Schwarzer <schwarzer@kde.org>
# SPDX-FileCopyrightText: 2024 tobi <onewayme001@posteo.de>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: kdeconnect-android-store-full\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-06-07 19:50+0200\n"
"Last-Translator: Frederik Schwarzer <schwarzer@kde.org>\n"
"PO-Revision-Date: 2024-10-02 20:37+0200\n"
"Last-Translator: tobi <onewayme001@posteo.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.07.70\n"
"X-Generator: Lokalize 21.12.3\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
@@ -48,3 +49,41 @@ msgid ""
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über "
"verschiedene Geräte zu vereinigen:\n"
"\n"
"- Daten zwischen Ihren Geräten übertragen.\n"
"- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.\n"
"- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.\n"
"- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf "
"Ihren Computer.\n"
"- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als "
"Touchpad für Ihren Computer.\n"
"- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre "
"Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.\n"
"- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für "
"Linux-Medienspieler.\n"
"- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.\n"
"- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.\n"
"\n"
"Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren "
"müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit "
"der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen "
"nutzen zu können.\n"
"\n"
"Informationen zu sensiblen Berechtigungen:\n"
"* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres "
"Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die "
"Ferneingabefunktion verwenden. \n"
"* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um "
"festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die "
"Funktion „Vertrauenswürdige Netzwerke” verwenden.\n"
"\n"
"KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. "
"KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-"
"Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum "
"anderen, niemals über das Internet.\n"
"\n"
"Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der "
"Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich "
"den Quelltext zu holen.\n"

View File

@@ -1,8 +1,8 @@
# Frederik Schwarzer <schwarzer@kde.org>, 2023.
# SPDX-FileCopyrightText: 2023 Frederik Schwarzer <schwarzer@kde.org>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: kdeconnect-android-store-short\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-06-07 19:50+0200\n"

View File

@@ -1,42 +1,20 @@
# Steve Allewell <steve.allewell@gmail.com>, 2023.
# SPDX-FileCopyrightText: 2023, 2024 Steve Allewell <steve.allewell@gmail.com>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-06-17 12:11+0100\n"
"PO-Revision-Date: 2024-05-24 19:25+0100\n"
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
"Language-Team: British English\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 23.03.70\n"
"X-Generator: Lokalize 24.02.2\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#, fuzzy
#| msgid ""
#| "KDE Connect provides a set of features to integrate your workflow across "
#| "devices:\n"
#| "\n"
#| "- Shared clipboard: copy and paste between your devices.\n"
#| "- Share files and URLs to your computer from any app.\n"
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
#| "players.\n"
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
#| "- End-to-end TLS encryption: your information is safe.\n"
#| "\n"
#| "Please note you will need to install KDE Connect on your computer for "
#| "this app to work, and keep the desktop version up-to-date with the "
#| "Android version for the latest features to work.\n"
#| "\n"
#| "This app is part of an open source project and it exists thanks to all "
#| "the people who contributed to it. Visit the website to grab the source "
#| "code."
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
@@ -73,11 +51,13 @@ msgstr ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
"\n"
"- Transfer files between your devices.\n"
"- Access files on your phone from your computer, without wires.\n"
"- Shared clipboard: copy and paste between your devices.\n"
"- Share files and URLs to your computer from any app.\n"
"- Get notifications for incoming calls and SMS messages on your PC.\n"
"- Get notifications for incoming calls and messages on your computer.\n"
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
"- Notifications sync: Read your Android notifications from the desktop.\n"
"- Notifications sync: Access your phone notifications from your computer and "
"reply to messages.\n"
"- Multimedia remote control: Use your phone as a remote for Linux media "
"players.\n"
"- WiFi connection: no USB wire or bluetooth needed.\n"
@@ -87,5 +67,15 @@ msgstr ""
"app to work, and keep the desktop version up-to-date with the Android "
"version for the latest features to work.\n"
"\n"
"Sensitive permissions information:\n"
"* Accessibility permission: Required to receive input from another device to "
"control your Android phone, if you use the Remote Input feature.\n"
"* Background location permission: Required to know to which WiFi network you "
"are connected to, if you use the Trusted Networks feature.\n"
"\n"
"KDE Connect never sends any information to KDE nor to any third party. KDE "
"Connect sends data from one device to the other directly using the local "
"network, never through the internet, and using end to end encryption.\n"
"\n"
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code."
"people who contributed to it. Visit the website to grab the source code.\n"

View File

@@ -1,11 +1,15 @@
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
# Spanish translations for kdeconnect-android-store-full.po package.
# Copyright (C) 2023-2025 This file is copyright:
# This file is distributed under the same license as the kdeconnect-android package.
#
# SPDX-FileCopyrightText: 2023, 2025 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: kdeconnect-android-store-full\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-09-30 18:49+0200\n"
"PO-Revision-Date: 2025-06-09 02:36+0100\n"
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
"Language: es\n"

View File

@@ -1,11 +1,15 @@
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
# Spanish translations for kdeconnect-android-store-short.po package.
# Copyright (C) 2023-2025 This file is copyright:
# This file is distributed under the same license as the kdeconnect-android package.
#
# SPDX-FileCopyrightText: 2023, 2025 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Project-Id-Version: kdeconnect-android-store-short\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-06-10 17:26+0200\n"
"PO-Revision-Date: 2025-06-09 02:36+0100\n"
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
"Language: es\n"

View File

@@ -13,7 +13,6 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.12.3\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "

View File

@@ -13,7 +13,6 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.12.3\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect eheyttää älypuhelimen ja tietokoneen"

View File

@@ -1,20 +1,20 @@
#
# SPDX-FileCopyrightText: 2023 Xavier Besnard <xavier.besnard@kde.org>
# SPDX-FileCopyrightText: 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: kdeconnect-android-store-full\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-09-28 18:06+0200\n"
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\n"
"Language-Team: French <kde-francophone@kde.org>\n"
"PO-Revision-Date: 2024-08-09 22:07+0200\n"
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
"Language-Team: French <French <kde-francophone@kde.org>>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.08.1\n"
"X-Generator: Lokalize 23.08.5\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
@@ -62,7 +62,7 @@ msgstr ""
"- Synchronisation de vos notifications : accès à vos notifications "
"téléphoniques depuis votre ordinateur et réponses aux messages.\n"
"- Télé-commande multimédia : utilisation de votre téléphone comme "
"télécommande pour les lecteurs de médias sous Linux.\n"
"télécommande pour les lecteurs de média sous Linux.\n"
"- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.\n"
"- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.\n"
"\n"
@@ -83,5 +83,5 @@ msgstr ""
"mais jamais par Internet et en utilisant le chiffrement de bout en bout.\n"
"\n"
"Cette application fait partie d'un projet « Open source ». Il existe grâce à "
"toutes les personnes qui y ont contribué.Visitez le site Internet pour "
"accéder au code source.\n"
"toutes les personnes qui y ont contribué. Veuillez visiter le site Internet "
"pour accéder au code source.\n"

View File

@@ -1,19 +1,19 @@
# Xavier Besnard <xavier.besnard@kde.org>, 2023.
# SPDX-FileCopyrightText: 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: kdeconnect-android-store-short\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-06-27 08:54+0200\n"
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\n"
"Language-Team: French <kde-francophone@kde.org>\n"
"PO-Revision-Date: 2024-04-25 14:41+0200\n"
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
"Language-Team: French <French <kde-francophone@kde.org>>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.04.2\n"
"X-Generator: Lokalize 23.08.5\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect intègre votre téléphone et votre ordinateur."
msgstr "KDEConnect intègre votre téléphone et votre ordinateur."

View File

@@ -0,0 +1,85 @@
# Translation of kdeconnect-android-store-full to Norwegian Nynorsk
#
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2024-07-10 20:18+0200\n"
"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 24.05.1\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
"\n"
"- Transfer files between your devices.\n"
"- Access files on your phone from your computer, without wires.\n"
"- Shared clipboard: copy and paste between your devices.\n"
"- Get notifications for incoming calls and messages on your computer.\n"
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
"- Notifications sync: Access your phone notifications from your computer and "
"reply to messages.\n"
"- Multimedia remote control: Use your phone as a remote for Linux media "
"players.\n"
"- WiFi connection: no USB wire or bluetooth needed.\n"
"- End-to-end TLS encryption: your information is safe.\n"
"\n"
"Please note you will need to install KDE Connect on your computer for this "
"app to work, and keep the desktop version up-to-date with the Android "
"version for the latest features to work.\n"
"\n"
"Sensitive permissions information:\n"
"* Accessibility permission: Required to receive input from another device to "
"control your Android phone, if you use the Remote Input feature.\n"
"* Background location permission: Required to know to which WiFi network you "
"are connected to, if you use the Trusted Networks feature.\n"
"\n"
"KDE Connect never sends any information to KDE nor to any third party. KDE "
"Connect sends data from one device to the other directly using the local "
"network, never through the internet, and using end to end encryption.\n"
"\n"
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers "
"av einingar:\n"
"\n"
" Overfør filer mellom einingane\n"
" Få trådlaus tilgang til filer på telefonen frå datamaskina\n"
" Del utklippsbilete: kopier og lim inn mellom einingane\n"
" Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar\n"
" Virtuell styreplate: bruk telefon­skjermen som styreplate for datamaskina\n"
" Synkronisering av varslingar: få tilgang til telefon­varslingar frå "
"datamaskina og svar på meldingar\n"
" Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte "
"mediespelarar\n"
" Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling\n"
" Ende-til-ende-kryptering: informasjonen din er trygg\n"
"\n"
"Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. "
"Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til "
"dei nyaste funksjonane.\n"
"\n"
"Informasjon om sensitive løyve:\n"
" Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra "
"Android-eininga om du brukar funksjonen «Fjernstyring»\n"
" Bakgrunns­løyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-"
"Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»\n"
"\n"
"KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. "
"Programmet sender data direkte mellom dei to einingane via lokalnettet, "
"aldri via Internett og alltid med ende-til-ende-kryptering.\n"
"\n"
"Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera "
"mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.\n"

View File

@@ -12,7 +12,6 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 23.04.3\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"

View File

@@ -12,7 +12,6 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 23.04.3\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"

View File

@@ -1,53 +1,21 @@
# Geraldo Simiao <geraldosimiao@fedoraproject.org>, 2023.
# Frederico Goncalves Guimaraes <frederico@teia.bio.br>, 2024.
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-08-04 01:33-0300\n"
"Last-Translator: Geraldo Simiao <geraldosimiao@fedoraproject.org>\n"
"PO-Revision-Date: 2024-08-28 17:37-0300\n"
"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 23.04.3\n"
"X-Generator: Lokalize 22.12.3\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#, fuzzy
#| msgid ""
#| "KDE Connect provides a set of features to integrate your workflow across "
#| "devices:\n"
#| "\n"
#| "- Shared clipboard: copy and paste between your devices.\n"
#| "- Share files and URLs to your computer from any app.\n"
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
#| "players.\n"
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
#| "- End-to-end TLS encryption: your information is safe.\n"
#| "\n"
#| "Please note you will need to install KDE Connect on your computer for "
#| "this app to work, and keep the desktop version up-to-date with the "
#| "Android version for the latest features to work.\n"
#| "\n"
#| "Sensitive permissions information:\n"
#| "* Accessibility permission: Required to receive input from another device "
#| "to control your Android phone, if you use the Remote Input feature.\n"
#| "* Background location permission: Required to know to which WiFi network "
#| "you are connected to, if you use the Trusted Networks feature.\n"
#| "\n"
#| "KDE Connect never sends any information to KDE nor to any third party. "
#| "KDE Connect sends data from one device to the other directly using the "
#| "local network, never through the internet, and using end to end "
#| "encryption.\n"
#| "\n"
#| "This app is part of an open source project and it exists thanks to all "
#| "the people who contributed to it. Visit the website to grab the source "
#| "code.\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
@@ -84,15 +52,16 @@ msgstr ""
"O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de "
"trabalho entre dispositivos:\n"
"\n"
"- Transfira arquivos entre seus dispositivos.\n"
"- Acesse arquivos do seu computador no seu telefone, sem fios.\n"
"- Área de transferência compartilhada: copie e cole entre seus "
"dispositivos.\n"
"- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.\n"
"- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.\n"
"- Touchpad virtual: use a tela do telefone como touchpad do computador.\n"
"- Sincronização de notificações: leia as notificações do seu Android na área "
"de trabalho.\n"
"- Sincronização de notificações: acesse as notificações do seu telefone no "
"seu computador e responda as mensagens.\n"
"- Controle remoto multimídia: use seu telefone como controle remoto para "
"reprodutores de mídia Linux.\n"
"reprodutores de mídia no Linux.\n"
"- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.\n"
"- Criptografia TLS de ponta a ponta: suas informações estão seguras.\n"
"\n"
@@ -100,14 +69,14 @@ msgstr ""
"este aplicativo funcione e mantenha a versão para desktop atualizada com a "
"versão do Android para que os recursos mais recentes funcionem.\n"
"\n"
"Informações a respeito de permissões especiais :\n"
"Informações sobre permissões sensíveis:\n"
"* Permissão de acessibilidade: necessária para receber entrada de outro "
"dispositivo para controlar seu telefone Android, se você usar o recurso de "
"entrada remota.\n"
"* Permissão de localização em segundo plano: necessária para saber a qual "
"rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.\n"
"\n"
"O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE "
"O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE "
"Connect envia dados de um dispositivo para outro diretamente usando a rede "
"local, nunca pela Internet e usando criptografia de ponta a ponta.\n"
"\n"

View File

@@ -0,0 +1,83 @@
# Alexander Yavorskiy <kekcuha@gmail.com>, 2025.
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2025-05-30 20:22+0200\n"
"Last-Translator: Alexander Yavorskiy <kekcuha@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 21.08.3\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
"devices:\n"
"\n"
"- Transfer files between your devices.\n"
"- Access files on your phone from your computer, without wires.\n"
"- Shared clipboard: copy and paste between your devices.\n"
"- Get notifications for incoming calls and messages on your computer.\n"
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
"- Notifications sync: Access your phone notifications from your computer and "
"reply to messages.\n"
"- Multimedia remote control: Use your phone as a remote for Linux media "
"players.\n"
"- WiFi connection: no USB wire or bluetooth needed.\n"
"- End-to-end TLS encryption: your information is safe.\n"
"\n"
"Please note you will need to install KDE Connect on your computer for this "
"app to work, and keep the desktop version up-to-date with the Android "
"version for the latest features to work.\n"
"\n"
"Sensitive permissions information:\n"
"* Accessibility permission: Required to receive input from another device to "
"control your Android phone, if you use the Remote Input feature.\n"
"* Background location permission: Required to know to which WiFi network you "
"are connected to, if you use the Trusted Networks feature.\n"
"\n"
"KDE Connect never sends any information to KDE nor to any third party. KDE "
"Connect sends data from one device to the other directly using the local "
"network, never through the internet, and using end to end encryption.\n"
"\n"
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"KDE Connect предоставляет набор функций для интеграции рабочего процесса "
"между устройствами:\n"
"- Передача файлов между устройствами.\n"
"- Доступ к файлам на телефоне с компьютера без проводов.\n"
"- Общий буфер обмена: копирование и вставка между устройствами.\n"
"- Уведомления о входящих вызовах и сообщениях на компьютере.\n"
"- Виртуальный тачпад: использование экрана телефона в качестве тачпада для "
"компьютера.\n"
"- Синхронизация уведомлений: доступ к уведомлениям телефона с компьютера и "
"возможность отвечать на сообщения.\n"
"- Дистанционное управление мультимедиа: использование телефона как пульта "
"для медиаплееров в Linux.\n"
"- Подключение по Wi-Fi: без проводов USB или Bluetooth.\n"
"- Сквозное шифрование TLS: безопасность передаваемой информации.\n"
"\n"
"Обратите внимание, что для работы приложения требуется установка KDE Connect "
"на компьютере. Для поддержки всех функций, версия на компьютере должна быть "
"актуальной и соответствовать версии на Android .\n"
"\n"
"Информация о чувствительных разрешениях:\n"
"\n"
"- Разрешение «Специальные возможности»: необходимо для получения ввода с "
"другого устройства при использовании функции дистанционного ввода.\n"
"- Разрешение «Фоновое определение местоположения»: необходимо для "
"определения текущей Wi-Fi-сети при использовании функции «Доверенные сети».\n"
"\n"
"KDE Connect никогда не отправляет данные ни в KDE, ни третьим лицам. "
"Передача данных осуществляется напрямую между устройствами через локальную "
"сеть, без использования интернета, с применением сквозного шифрования.\n"
"Приложение является частью проекта с открытым исходным кодом и существует "
"благодаря сообществу участников. Исходный код доступен на официальном "
"сайте.\n"

View File

@@ -0,0 +1,20 @@
# Alexander Yavorskiy <kekcuha@gmail.com>, 2025.
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2025-05-30 20:17+0200\n"
"Last-Translator: Alexander Yavorskiy <kekcuha@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 21.08.3\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect позволяет соединить смартфон и компьютер"

View File

@@ -1,4 +1,4 @@
# Stefan Asserhäll <stefan.asserhall@bredband.net>, 2023.
# Stefan Asserhäll <stefan.asserhall@gmail.com>, 2023.
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
@@ -6,7 +6,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-09-29 22:08+0200\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@bredband.net>\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"

View File

@@ -1,4 +1,4 @@
# Stefan Asserhäll <stefan.asserhall@bredband.net>, 2023.
# Stefan Asserhäll <stefan.asserhall@gmail.com>, 2023.
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
@@ -6,7 +6,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-07-31 08:17+0200\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@bredband.net>\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"

View File

@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2024-04-04 19:52\n"
"PO-Revision-Date: 2024-04-21 04:51\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"

View File

@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2024-04-04 19:52\n"
"PO-Revision-Date: 2024-04-21 04:51\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"

View File

@@ -1,19 +1,20 @@
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
# taijuin <taijuin@gmail.com>, 2024.
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-12-09 17:51+0900\n"
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
"PO-Revision-Date: 2024-11-12 19:04+0800\n"
"Last-Translator: taijuin <taijuin@gmail.com>\n"
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 24.01.80\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n"
msgid ""
"KDE Connect provides a set of features to integrate your workflow across "
@@ -48,7 +49,7 @@ msgid ""
"This app is part of an open source project and it exists thanks to all the "
"people who contributed to it. Visit the website to grab the source code.\n"
msgstr ""
"KDE 連線提供許多功能讓您整合您跨裝置的作業流程:\n"
"KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:\n"
"\n"
"- 在您的裝置之間傳輸檔案。\n"
"- 從您的電腦無線存取您的手機上的檔案。\n"
@@ -60,8 +61,8 @@ msgstr ""
"- WiFi 連線:不需要 USB 線或是藍牙連線。\n"
"- 點對點 TLS 加密:您的資訊是安全的。\n"
"\n"
"請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需"
"要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
"請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也"
"會需要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
"\n"
"敏感權限資訊:\n"
"* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控"
@@ -69,8 +70,8 @@ msgstr ""
"* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網"
"路。\n"
"\n"
"KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝"
"置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
"KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接"
"從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
"\n"
"這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得"
"原始碼。\n"

View File

@@ -1,19 +1,20 @@
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
# taijuin <taijuin@gmail.com>, 2024.
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
"PO-Revision-Date: 2023-12-09 17:39+0900\n"
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
"PO-Revision-Date: 2024-11-12 19:00+0800\n"
"Last-Translator: taijuin <taijuin@gmail.com>\n"
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 24.01.80\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE 連線整合了您的智慧型手機與電腦"
msgstr "KDE Connect 整合了您的智慧型手機與電腦"

25
proguard-rules.pro vendored
View File

@@ -17,29 +17,10 @@
#}
-dontobfuscate
-dontwarn org.spongycastle.**
-dontwarn org.apache.sshd.**
-dontwarn org.apache.mina.**
-dontwarn org.slf4j.**
-dontwarn io.netty.**
-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*
-keep class org.spongycastle.** {*;}
# SSHd requires mina, and mina uses reflection so some classes would get deleted
-keep class org.apache.mina.** {*;}
-keep class org.apache.sshd.** {*;}
-keep class org.kde.kdeconnect.** {*;}
-dontwarn org.mockito.**
-dontwarn sun.reflect.**
-dontwarn android.test.**
-dontwarn java.lang.management.**
-dontwarn javax.**
# SSHd requires mina, and mina uses reflection so some classes would get deleted
-keep class org.apache.sshd.** {*;}
-dontwarn org.apache.sshd.**
-dontwarn android.net.ConnectivityManager
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn android.net.LinkProperties

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primary" android:state_checked="true" />
<item android:drawable="@color/darkStatusBarBackground" android:state_checked="false" />
</selector>

View File

@@ -6,21 +6,5 @@
android:viewportHeight="108">
<path
android:pathData="m0,0h108v108h-108z"
android:fillColor="@color/accent"/>
<path
android:pathData="m0,0h108v108h-108z"
android:strokeAlpha="0.2"
android:fillAlpha="0.2">
<aapt:attr name="android:fillColor">
<gradient
android:startY="0"
android:endY="108"
android:startX="0"
android:endX="0"
android:type="linear">
<item android:offset="0" android:color="#FFFFFFFF"/>
<item android:offset="1" android:color="#00FFFFFF"/>
</gradient>
</aapt:attr>
</path>
android:fillColor="@color/launcher_background"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="320dp"
android:height="180dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="m0,0h320v108h-320z"
android:fillColor="@color/launcher_background"/>
</vector>

View File

@@ -0,0 +1,104 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="320dp"
android:height="180dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.6666667"
android:scaleY="0.6666667"
android:translateX="18"
android:translateY="18">
<group android:scaleX="0.6525"
android:scaleY="1.16"
android:translateX="-10.395"
android:translateY="-8.64">
<group android:scaleX="0.8"
android:scaleY="0.8"
android:translateX="10.8"
android:translateY="10.8">
<path
android:pathData="M40,27L68,27A2,2 0,0 1,70 29L70,79A2,2 0,0 1,68 81L40,81A2,2 0,0 1,38 79L38,29A2,2 0,0 1,40 27z"
android:strokeWidth="1.73436">
<aapt:attr name="android:fillColor">
<gradient
android:startY="27"
android:startX="38"
android:endY="81"
android:endX="38"
android:type="linear">
<item android:offset="0" android:color="#FFF5F5F5"/>
<item android:offset="1" android:color="#FFF0F0F0"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="m41,30h26v48h-26z"
android:strokeWidth="1.00241"
android:fillColor="#2d2d2d"/>
<path
android:pathData="M50.25,28.25L57.75,28.25A0.25,0.25 0,0 1,58 28.5L58,28.5A0.25,0.25 0,0 1,57.75 28.75L50.25,28.75A0.25,0.25 0,0 1,50 28.5L50,28.5A0.25,0.25 0,0 1,50.25 28.25z"
android:strokeWidth=".632455"
android:fillColor="#2d2d2d"/>
<path
android:pathData="m47.694,47.379c-0.04,0.004 -0.083,0.015 -0.113,0.045 0,0 -1.381,1.381 -1.381,1.381 -0.058,0.058 -0.065,0.147 -0.023,0.218 0,0 1.614,2.665 1.614,2.665 -0.287,0.482 -0.519,0.999 -0.683,1.547 0,0 -2.965,0.616 -2.965,0.616 -0.083,0.017 -0.143,0.096 -0.143,0.18v1.952c0,0.083 0.063,0.153 0.143,0.173 0,0 2.875,0.698 2.875,0.698 0.154,0.634 0.391,1.241 0.706,1.794 0,0 -1.667,2.538 -1.667,2.538 -0.046,0.071 -0.037,0.165 0.023,0.225 0,0 1.381,1.381 1.381,1.381 0.058,0.058 0.147,0.065 0.218,0.023 0,0 2.613,-1.584 2.613,-1.584 0.512,0.296 1.067,0.533 1.652,0.691 0,0 0.608,2.928 0.608,2.928 0.017,0.083 0.088,0.143 0.173,0.143h1.952c0.082,0 0.153,-0.055 0.173,-0.135 0,0 0.721,-2.943 0.721,-2.943 0.603,-0.163 1.171,-0.404 1.697,-0.713 0,0 2.575,1.689 2.575,1.689 0.071,0.046 0.165,0.037 0.225,-0.023 0,0 1.374,-1.381 1.374,-1.381 0.058,-0.058 0.073,-0.147 0.03,-0.218 0,0 -0.938,-1.547 -0.938,-1.547s-0.308,0.098 -0.308,0.098c-0.044,0.014 -0.094,-0.006 -0.12,-0.045 0,0 -0.593,-0.872 -1.366,-2.005 -0.925,1.81 -2.812,3.048 -4.985,3.048 -3.088,0 -5.593,-2.505 -5.593,-5.593 0,-2.271 1.358,-4.222 3.303,-5.098v-1.441c-0.354,0.124 -0.696,0.273 -1.021,0.45 -0.001,-0 0.001,-0.007 0,-0.007 0,0 -2.635,-1.727 -2.635,-1.727 -0.035,-0.023 -0.073,-0.027 -0.113,-0.023 0,0 0,0 0,-0zM55.659,43.85s-3.514,0.338 -3.514,0.338v14.475s3.476,-0.526 3.476,-0.526v-6.171s4.677,6.847 4.677,6.847 3.664,-1.164 3.664,-1.164 -4.79,-6.584 -4.79,-6.584 4.827,-6.209 4.827,-6.209 -3.739,-0.856 -3.739,-0.856 -4.64,6.209 -4.64,6.209 0.038,-6.359 0.038,-6.359z"
android:fillColor="#f2f2f2"/>
<path
android:pathData="m41,30h22l-18,45h-4z"
android:strokeAlpha="0.1"
android:fillAlpha="0.1">
<aapt:attr name="android:fillColor">
<gradient
android:startY="30"
android:startX="41"
android:endY="70"
android:endX="60"
android:type="linear">
<item android:offset="0" android:color="#FFFFFFFD"/>
<item android:offset="1" android:color="#00FFFFFD"/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FF000000"
android:pathData="m38,78v1c0,1.108 0.892,2 2,2h28c1.108,0 2,-0.892 2,-2v-1c0,1.108 -0.892,2 -2,2h-28c-1.108,0 -2,-0.892 -2,-2z"
android:strokeAlpha="0.1"
android:strokeWidth="1.73436"
android:fillAlpha="0.1"/>
<path
android:pathData="m70,30v-1c0,-1.108 -0.892,-2 -2,-2h-28c-1.108,0 -2,0.892 -2,2v1c0,-1.108 0.892,-2 2,-2h28c1.108,0 2,0.892 2,2z"
android:strokeAlpha="0.5"
android:strokeWidth="1.73436"
android:fillColor="#fffff8"
android:fillAlpha="0.5"/>
</group>
</group>
<group android:scaleX="0.075"
android:scaleY="0.16"
android:translateX="40"
android:translateY="36">
<group android:translateY="153.93605">
<path android:pathData="M83.375,-0L58.03125,-0L39.453125,-40.609375L32.546875,-35.421875L32.546875,-0L9.796875,-0L9.796875,-102.8125L32.546875,-102.8125L32.546875,-56.734375Q33.546875,-59.765625,35.34375,-63Q37.15625,-66.234375,39.171875,-69.984375L58.75,-102.8125L83.375,-102.8125L55.734375,-56.875L83.375,-0Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M165.9375,-53.28125Q165.9375,-27.359375,153.84375,-13.671875Q141.75,0,119.859375,0L92.796875,0L92.796875,-102.8125L121.734375,-102.8125Q142.76562,-102.8125,154.34375,-90.0625Q165.9375,-77.328125,165.9375,-53.28125ZM142.46875,-52.421875Q142.46875,-68.6875,137.20312,-76.09375Q131.95312,-83.515625,121.734375,-83.515625L115.546875,-83.515625L115.546875,-19.4375L120.15625,-19.4375Q131.67188,-19.4375,137.0625,-27.578125Q142.46875,-35.71875,142.46875,-52.421875Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M234.34375,0L182.79688,0L182.79688,-102.8125L234.34375,-102.8125L234.34375,-83.8125L205.54688,-83.8125L205.54688,-62.78125L232.1875,-62.78125L232.1875,-43.78125L205.54688,-43.78125L205.54688,-19.296875L234.34375,-19.296875L234.34375,0Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M318.67188,-84.953125Q309.59375,-84.953125,304.84375,-75.671875Q300.09375,-66.390625,300.09375,-51.125Q300.09375,-34.84375,304.98438,-26.421875Q309.89062,-18,319.6875,-18Q325.01562,-18,330.04688,-19.65625Q335.09375,-21.3125,340.26562,-23.90625L340.26562,-4.03125Q329.76562,1.4375,316.51562,1.4375Q296.78125,1.4375,286.625,-12.453125Q276.48438,-26.359375,276.48438,-51.265625Q276.48438,-66.8125,281.29688,-78.765625Q286.125,-90.71875,295.26562,-97.484375Q304.42188,-104.25,317.51562,-104.25Q331.34375,-104.25,343.73438,-97.34375L337.25,-78.90625Q332.78125,-81.5,328.25,-83.21875Q323.71875,-84.953125,318.67188,-84.953125Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M420.14062,-39.75Q420.14062,-28.375,416.6875,-19Q413.23438,-9.640625,405.8125,-4.09375Q398.40625,1.4375,386.59375,1.4375Q375.79688,1.4375,368.375,-4.03125Q360.95312,-9.5,357.14062,-18.859375Q353.32812,-28.21875,353.32812,-39.75Q353.32812,-51.84375,357,-61.046875Q360.67188,-70.265625,368.07812,-75.453125Q375.5,-80.640625,387.03125,-80.640625Q401.85938,-80.640625,411,-70.046875Q420.14062,-59.46875,420.14062,-39.75ZM375.5,-39.59375Q375.5,-28.21875,378.15625,-22.3125Q380.82812,-16.421875,386.875,-16.421875Q392.78125,-16.421875,395.375,-22.25Q397.96875,-28.078125,397.96875,-39.75Q397.96875,-51.265625,395.375,-56.953125Q392.78125,-62.640625,386.73438,-62.640625Q380.82812,-62.640625,378.15625,-56.953125Q375.5,-51.265625,375.5,-39.59375Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M474.95312,-80.640625Q485.76562,-80.640625,491.95312,-73.359375Q498.14062,-66.09375,498.14062,-51.84375L498.14062,0L476.25,0L476.25,-45.359375Q476.25,-53.421875,474.375,-57.59375Q472.51562,-61.78125,467.60938,-61.78125Q461.14062,-61.78125,458.76562,-55.9375Q456.39062,-50.109375,456.39062,-36.859375L456.39062,0L434.5,0L434.5,-79.203125L451.48438,-79.203125L454.07812,-69.125L455.23438,-69.125Q461.28125,-80.640625,474.95312,-80.640625Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M555.9531,-80.640625Q566.7656,-80.640625,572.9531,-73.359375Q579.1406,-66.09375,579.1406,-51.84375L579.1406,0L557.25,0L557.25,-45.359375Q557.25,-53.421875,555.375,-57.59375Q553.5156,-61.78125,548.6094,-61.78125Q542.1406,-61.78125,539.7656,-55.9375Q537.3906,-50.109375,537.3906,-36.859375L537.3906,0L515.5,0L515.5,-79.203125L532.4844,-79.203125L535.0781,-69.125L536.2344,-69.125Q542.28125,-80.640625,555.9531,-80.640625Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M625.4375,-80.5Q640.125,-80.5,648.2656,-71.0625Q656.40625,-61.625,656.40625,-44.5L656.40625,-33.265625L615.0781,-33.265625Q615.3594,-15.546875,630.625,-15.546875Q636.53125,-15.546875,641.6406,-16.984375Q646.75,-18.4375,652.375,-21.59375L652.375,-4.171875Q642.28125,1.4375,627.8906,1.4375Q610.75,1.4375,602.03125,-9Q593.3281,-19.4375,593.3281,-39.171875Q593.3281,-59.328125,601.6719,-69.90625Q610.03125,-80.5,625.4375,-80.5ZM626.0156,-64.078125Q621.40625,-64.078125,618.4531,-60.40625Q615.5,-56.734375,615.21875,-48.390625L636.2344,-48.390625Q636.2344,-55.875,633.5625,-59.96875Q630.90625,-64.078125,626.0156,-64.078125Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M699.15625,1.4375Q683.03125,1.4375,674.6719,-8.421875Q666.3281,-18.28125,666.3281,-39.171875Q666.3281,-58.03125,674.8906,-69.328125Q683.46875,-80.640625,700.03125,-80.640625Q706.6406,-80.640625,712.0469,-79.125Q717.4531,-77.609375,722.0625,-75.03125L715.8594,-57.890625Q711.96875,-59.90625,708.375,-61.046875Q704.78125,-62.203125,701.1719,-62.203125Q695.125,-62.203125,691.8125,-56.375Q688.5,-50.546875,688.5,-39.3125Q688.5,-27.9375,691.875,-22.390625Q695.2656,-16.84375,701.46875,-16.84375Q710.96875,-16.84375,720.0469,-23.46875L720.0469,-5.046875Q711.40625,1.4375,699.15625,1.4375Z"
android:fillColor="@android:color/primary_text_light"/>
<path android:pathData="M765.1719,-16.984375Q767.7656,-16.984375,770.34375,-17.625Q772.9375,-18.28125,775.8281,-19.578125L775.8281,-2.59375Q772.21875,-0.71875,767.8906,0.359375Q763.5781,1.4375,758.40625,1.4375Q747.4531,1.4375,741.9844,-4.75Q736.5156,-10.9375,736.5156,-24.90625L736.5156,-61.625L728.0156,-61.625L728.0156,-72.4375L738.2344,-78.625L743.71875,-95.46875L758.40625,-95.46875L758.40625,-79.203125L774.8125,-79.203125L774.8125,-61.625L758.40625,-61.625L758.40625,-25.484375Q758.40625,-16.984375,765.1719,-16.984375Z"
android:fillColor="@android:color/primary_text_light"/>
</group>
</group>
</group>
</vector>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/accent" />
<solid android:color="?colorAccent" />
<corners android:bottomRightRadius="2dip"
android:bottomLeftRadius="2dip"
android:topRightRadius="2dip"
android:topLeftRadius="2dip"/>
</shape>
</shape>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/primary" />
<item android:state_enabled="false" android:color="@color/disabled_grey" />
</selector>

View File

@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#000000"
android:fillColor="?colorControlNormal"
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z"/>
</vector>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group android:pivotX="12" android:pivotY="12" android:scaleX="0.66" android:scaleY="0.66">
<path
android:fillColor="@android:color/white"
android:pathData="M21,2L3,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h7v2L8,20v2h8v-2h-2v-2h7c1.1,0 2,-0.9 2,-2L23,4c0,-1.1 -0.9,-2 -2,-2zM21,16L3,16L3,4h18v12z" />
</group>
</vector>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group
android:pivotX="12"
android:pivotY="12"
android:scaleX="0.66"
android:scaleY="0.66">
<path
android:fillColor="@android:color/white"
android:pathData="M20,18c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2H4C2.9,4 2,4.9 2,6v10c0,1.1 0.9,2 2,2H0v2h24v-2H20zM4,6h16v10H4V6z" />
</group>
</vector>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group
android:pivotX="12"
android:pivotY="12"
android:scaleX="0.66"
android:scaleY="0.66">
<path
android:fillColor="@android:color/white"
android:pathData="M16,1L8,1C6.34,1 5,2.34 5,4v16c0,1.66 1.34,3 3,3h8c1.66,0 3,-1.34 3,-3L19,4c0,-1.66 -1.34,-3 -3,-3zM14,21h-4v-1h4v1zM17.25,18L6.75,18L6.75,4h10.5v14z" />
</group>
</vector>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group
android:pivotX="12"
android:pivotY="12"
android:scaleX="0.66"
android:scaleY="0.66">
<path
android:fillColor="@android:color/white"
android:pathData="M21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h18c1.1,0 1.99,-0.9 1.99,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM19,18L5,18L5,6h14v12z" />
</group>
</vector>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group
android:pivotX="12"
android:pivotY="12"
android:scaleX="0.66"
android:scaleY="0.66">
<path
android:fillColor="@android:color/white"
android:pathData="M21,3L3,3c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h5v2h8v-2h5c1.1,0 1.99,-0.9 1.99,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,17L3,17L3,5h18v12z" />
</group>
</vector>

View File

@@ -1,4 +1,8 @@
<vector android:height="24dp" android:viewportHeight="48"
android:viewportWidth="48" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#fcfcfc" android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"/>
android:viewportWidth="48" android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="m26.8172,6.058 l-5.9774,0.5722v24.6133l5.9142,-0.8904v-10.494l7.9499,11.6392 6.2324,-1.972 -8.1405,-11.1935 8.2042,-10.5576 -6.3594,-1.4621 -7.8865,10.5572zM13.2678,12.0558c-0.0675,0.0071 -0.1327,0.0369 -0.1834,0.0877l-2.346,2.3456c-0.0986,0.0989 -0.1172,0.2523 -0.0445,0.3721l2.7467,4.5238c-0.4872,0.819 -0.8776,1.7021 -1.1567,2.6336l-5.0426,1.0489c-0.1403,0.0291 -0.2414,0.1534 -0.2414,0.2973v3.3173c0,0.1403 0.096,0.2618 0.2312,0.2945l4.8943,1.1963c0.261,1.0789 0.6654,2.1016 1.2,3.0416l-2.833,4.32c-0.079,0.1208 -0.0625,0.2798 0.0396,0.3815l2.3452,2.3456c0.0986,0.0984 0.2526,0.1176 0.3729,0.0454l4.4393,-2.6961c0.872,0.5032 1.8124,0.8992 2.8063,1.1677l1.0358,4.98c0.0291,0.1412 0.1539,0.2414 0.2969,0.2414h3.3177c0.1395,0 0.2612,-0.0952 0.2945,-0.232l1.22,-4.9903c1.0246,-0.2765 1.9935,-0.6886 2.8869,-1.2147l4.3747,2.8684c0.1203,0.0792 0.2794,0.0633 0.3815,-0.0387l2.346,-2.3456c0.0992,-0.0992 0.117,-0.2526 0.0441,-0.3721l-1.597,-2.632 -0.5167,0.1634c-0.0753,0.0238 -0.1575,-0.0043 -0.2018,-0.0699 0,0 -1.0186,-1.4912 -2.3342,-3.4167 -1.5727,3.0779 -4.7723,5.1864 -8.4672,5.1864 -5.2496,0 -9.5055,-4.2561 -9.5055,-9.5059 0,-3.8619 2.3035,-7.1832 5.6102,-8.6711v-2.4523c-0.6018,0.2105 -1.1836,0.4644 -1.7362,0.7654 -0.0004,-0.0004 -0.0008,-0.0014 -0.0024,-0.0028l-4.4777,-2.9368c-0.0603,-0.0394 -0.1302,-0.0551 -0.1977,-0.0482z"/>
</vector>

View File

@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillColor="?attr/colorControlNormal"
android:pathData="M3,9v6h4l5,5L12,4L7,9L3,9zM16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z"/>
</vector>

View File

@@ -6,8 +6,6 @@
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?attr/colorControlNormal"
android:pathData="M7 9v6h4l5 5V4l-5 5H7z" />
<path
android:pathData="M0 0h24v24H0z" />
</vector>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primary" android:state_checked="true" />
<item android:drawable="@color/background_floating_material_light" android:state_checked="false" />
</selector>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primary" android:state_checked="true" />
<item android:drawable="@color/darkStatusBarBackground" android:state_checked="false" />
</selector>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2023 Albert Vaca Cintora <albertvaka@gmail.com>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:drawablePadding="8dp"
android:paddingTop="16dp"
android:paddingBottom="12dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/pairing_duplicate_names"
app:drawableStartCompat="@drawable/ic_warning"
app:drawableTint="?attr/colorControlNormal">
</TextView>

View File

@@ -56,7 +56,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:contentDescription="@string/visit_contributors_homepage"
android:src="@drawable/ic_baseline_web_24"
android:visibility="gone"
app:tint="@color/text_color"
tools:visibility="visible" />
</LinearLayout>

View File

@@ -21,6 +21,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:clipToPadding="false"
android:id="@+id/scroll_view"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
@@ -38,8 +40,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:text="@string/kde_be_free"
android:textAppearance="?attr/textAppearanceHeadline6"
app:drawableLeftCompat="@drawable/ic_kde_48dp"
app:drawableStartCompat="@drawable/ic_kde_48dp"
app:drawableTint="@color/text_color" />
app:drawableStartCompat="@drawable/ic_kde_48dp"/>
<com.google.android.material.card.MaterialCardView
xmlns:card_view="https://schemas.android.com/apk/res-auto"

View File

@@ -26,6 +26,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
tools:listitem="@layout/custom_device_item"/>
<TextView

View File

@@ -30,7 +30,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:id="@+id/device_view"
android:descendantFocusability="afterDescendants"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:clipToPadding="false">
<!-- Shown when the device is paired and reachable -->
<androidx.compose.ui.platform.ComposeView

View File

@@ -20,5 +20,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:id="@+id/licenses_text"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:clipToPadding="false"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -17,7 +17,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<!-- Keep in sync with toolbar.xml, copied here because it needs the nested TabLayout -->
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"

View File

@@ -57,6 +57,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:dividerHeight="0dp"
android:orientation="vertical"
android:paddingTop="8dp"
android:clipToPadding="false"
tools:context=".MainActivity" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

Some files were not shown because too many files have changed in this diff Show More