4231 Commits

Author SHA1 Message Date
Albert Vaca Cintora
892eb6afa9 Fix crash
AssertionError is not an exception, so we were not catching it
2025-11-11 19:59:21 +01:00
Albert Vaca Cintora
714e0b3b92 Disable vibration for file transfer complete notifications 2025-11-11 19:57:26 +01:00
Albert Vaca Cintora
381f04463c Fix swapped names 2025-11-11 19:57:26 +01:00
l10n daemon script
9d666b18de GIT_SILENT made messages (after extraction) 2025-11-10 02:08:31 +00:00
Albert Vaca Cintora
e4c805452a Release 1.34.2 v1.34.2 2025-11-09 22:08:45 +01:00
Albert Vaca Cintora
c98ce1f472 Ensure the receiver has permissions to open the file 2025-11-09 20:31:51 +01:00
Albert Vaca Cintora
f04ffc67eb Use a different, non-silent channel when a file transfer completes 2025-11-09 20:31:30 +01:00
Albert Vaca Cintora
b834468171 Do not allow to open files in Android 10+
It's not allowed to launch activities from background
2025-11-09 20:10:34 +01:00
Albert Vaca Cintora
e67a9317bc Remove outdated comments 2025-11-09 20:02:28 +01:00
Young Lord
5101022cc5 typo: correct Clibpoard to Clipboard 2025-11-09 15:31:50 +01:00
TPJ Schikhof
6e65d191ca Migrate ReceiveNotificationsPlugin to Kotlin 2025-11-09 15:30:02 +01:00
Albert Vaca Cintora
832a4d4e4f Avoid using GlobalScope in AlbumArtCache
Simplifies a bit the logic in fetchUrl, closes the inputstream when done, and uses a local coroutine scope instead of GlobalScope.

After testing both code paths (art coming from a URL and coming from a NetworkPacket payload) it seems to work well. I get the `Two disk cache edits happened at the same time, should be impossible!` error, but that was happening before this patch as welll.

The code of this class is very convoluted and uses a library unmaintained for 10+ years. I added a FIXME to rewrite with a more modern library that natively supports Kotlin coroutines which should hopefully help simplify the code.
2025-11-09 15:29:18 +01:00
TPJ Schikhof
87245bbc4d Migrate Sink class to Kotlin 2025-11-09 14:31:28 +01:00
l10n daemon script
94f8a54c85 GIT_SILENT made messages (after extraction) 2025-11-09 02:17:42 +00:00
Albert Vaca Cintora
a0770a4adc Release 1.34.1 2025-11-08 01:07:14 +01:00
Albert Vaca Cintora
eb0c6da64a Avoid setting null strings in networkpackets 2025-11-08 01:07:14 +01:00
Albert Vaca Cintora
6967a2ed1f Remove locales_config.xml generation since we use generateLocaleConfig 2025-11-06 19:43:46 +01:00
Albert Vaca Cintora
c93d067f99 Release 1.34.0 2025-11-06 19:28:41 +01:00
Albert Vaca Cintora
2f594ec7c2 Add explanation for mdns discovery toggle 2025-11-06 18:32:33 +01:00
Albert Vaca Cintora
5cfb33f185 Disable MDNS discovery by default, behind a setting 2025-11-06 18:32:33 +01:00
l10n daemon script
947d116a2f GIT_SILENT made messages (after extraction) 2025-11-05 02:10:53 +00:00
Young Lord
0c7d1ab2cd ClipboardPlugin: Fix initialization failure caused by uninitialized clipboard
`content` can be null
2025-11-03 21:43:02 +01:00
Albert Vaca Cintora
5dba48bdaf Fix NPE 2025-11-01 19:34:56 +01:00
l10n daemon script
726e75a3e3 GIT_SILENT made messages (after extraction) 2025-10-31 15:53:00 +00:00
Albert Vaca Cintora
0adc683337 Clear activeIDs when we stop listening for connectivity updates
Otherwise, on disconnect and reconnect, we would ignore those IDs and not
register listeners for them.
2025-10-31 00:06:11 +01:00
Albert Vaca Cintora
863d47d250 Update gradle wrapper 2025-10-30 23:46:17 +01:00
l10n daemon script
1058ae7472 GIT_SILENT made messages (after extraction) 2025-10-27 02:00:39 +00:00
Albert Vaca Cintora
f9d5665057 Remove unused stuff 2025-10-27 01:18:38 +01:00
Albert Vaca Cintora
ebc9006e04 Cleanup 2025-10-27 01:18:23 +01:00
Albert Vaca Cintora
5f876df5db Fix compiler warnings 2025-10-27 00:58:47 +01:00
Albert Vaca Cintora
aa55b64da6 Make some args non-nullable 2025-10-27 00:52:38 +01:00
Albert Vaca Cintora
97dd994684 SMSPlugin: Better null handling 2025-10-27 00:52:38 +01:00
Albert Vaca Cintora
e5e0929b53 Bump deps 2025-10-27 00:32:36 +01:00
Albert Vaca Cintora
015c0b77b6 Remove unused field 2025-10-27 00:14:10 +01:00
Albert Vaca Cintora
a4c260528c Do not add getter functions for constants 2025-10-27 00:13:52 +01:00
Albert Vaca Cintora
0e704c1ada Import cleanup 2025-10-26 23:54:26 +01:00
Albert Vaca Cintora
6cfc5f2d0c Replace StringUtils with Kotlin built-ins 2025-10-26 23:49:13 +01:00
Albert Vaca Cintora
1f79baf703 SMSHelper: Replace NumberUtils with Kotlin built-ins 2025-10-26 23:49:13 +01:00
Albert Vaca Cintora
818077db20 TelephonyPlugin cleanup 2025-10-26 23:48:58 +01:00
TPJ Schikhof
f270f2e446 Migrate TelephonyPlugin to Kotlin 2025-10-26 23:38:57 +01:00
Albert Vaca Cintora
755f18ded8 Try to spam less with "continue watching" notifications
BUG: 488666
2025-10-26 15:50:52 +01:00
Albert Vaca Cintora
4283eb9cd7 Remove compat helper for Android 4.1 2025-10-26 15:50:14 +01:00
Albert Vaca Cintora
425dada7ce Ignore mpris URLs that we know for sure they don't point to media
BUG: 488666
2025-10-26 15:50:11 +01:00
Krut Patel
c1b76ebeb3 mpris: Ignore stop events from media session
## Issue
Fixes spurious close of the media on pause.
1. Certain phones have a timeout that stops the `MediaSession` after a few minutes of staying paused. This may be fine on a mobile phone, but may not be desired on a PC.
2. Additionally, my phone _sometimes_ sends the stop event immediately on pausing the media and makes KDE Connect kill the playback even on my PC.

## Fix
We do not forward the stop events to the connected device. If user wants to really stop playback, they must use the Stop button inside the media controller view inside the app.

Note that this means we will also end up ignoring legitimate (user-initiated) stop events, such as from Bluetooth headphones.

## Discussion
Ideally, we'd be able to differentiate between user-initiated and system-initiated events, thus letting us selectively forward user-initiated events. But the current `MediaSessionCompat.Callback` doesn't have that information.
2025-10-24 16:59:48 -07:00
l10n daemon script
edd4c0eedc GIT_SILENT made messages (after extraction) 2025-10-24 01:59:34 +00:00
TPJ Schikhof
d091eba660 Migrate presenter plugin to Kotlin 2025-10-23 20:35:00 +02:00
Andy Holmes
7eb9753336 Drop "onlyOnce" field from forwarded notifications
This is only set by the Android app and never consumed or used by
any client. It is also arguably made redundant by the `silent`
field, which is clearer in purpose.
2025-10-23 18:20:07 +02:00
Albert Vaca Cintora
d2ecb40a10 Fix tests 2025-10-23 17:23:54 +02:00
Albert Vaca Cintora
4aaae78cdb Fix build broken after rebasing 2025-10-23 15:24:13 +02:00
Albert Vaca Cintora
ef78e59a83 Target JDK 11 2025-10-23 15:07:22 +02:00