2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-09-02 15:15:09 +00:00

Compare commits

..

33 Commits

Author SHA1 Message Date
Albert Vaca Cintora
49e2b2d9a2 Release 1.27.0 2023-07-16 18:15:18 +02:00
Albert Vaca Cintora
96fc4016ff Add missing import 2023-07-16 17:35:02 +02:00
Albert Vaca Cintora
1706a4c10d Revert "Disable MouseReceiver Plugin so we don't need accessibility API"
This reverts commit 32d6a346ab.
2023-07-16 17:29:25 +02:00
Albert Vaca Cintora
13b5fc4550 Revert "Remove REQUEST_INSTALL_PACKAGES permission"
This reverts commit b5d9293103.
2023-07-16 10:57:17 +02:00
Albert Vaca Cintora
11ffab5502 Revert "Enable the loopback link on Google test devices"
This reverts commit f26bd54be5.
2023-07-16 10:49:04 +02:00
l10n daemon script
377f91bd23 GIT_SILENT Sync po/docbooks with svn 2023-07-16 01:57:34 +00:00
l10n daemon script
8e078e608a GIT_SILENT made messages (after extraction) 2023-07-16 00:48:17 +00:00
l10n daemon script
12d08a17c2 GIT_SILENT Sync po/docbooks with svn 2023-07-14 02:00:18 +00:00
l10n daemon script
4b6ad1cdaa GIT_SILENT Add new file (after extraction) 2023-07-14 00:47:21 +00:00
l10n daemon script
1fcfd4b879 GIT_SILENT made messages (after extraction) 2023-07-12 00:47:11 +00:00
Albert Vaca Cintora
541ee4d3cc Remove Esperanto localization from fastlane
Esperanto isn't supported by Google
2023-07-08 00:47:45 +02:00
Albert Vaca Cintora
af922a4277 Release 1.26.4 2023-07-08 00:41:42 +02:00
Albert Vaca Cintora
48cccf3fca Catch SecurityException when calling getActiveNotifications
It's okay to ignore this since we were only using it to check if Spotify
was running.
2023-07-08 00:39:13 +02:00
Albert Vaca Cintora
1c3389efa0 Do not listen for PACKAGE_REPLACED broadcasts
We already listen for MY_PACKAGE_REPLACED which is sent since API 12
2023-07-08 00:29:09 +02:00
Albert Vaca Cintora
f54ebdb39b Trying random things to try to fix ForegroundServiceStartNotAllowedException 2023-07-08 00:24:17 +02:00
Albert Vaca Cintora
ea80000a4e Add a null check as mentioned in !377 2023-07-08 00:03:12 +02:00
Albert Vaca Cintora
d9db7e4ad9 Catch TextParsingException (which wrapps SocketException)
Could happen if the download of the CSV file failed or got interrupted
2023-07-08 00:00:06 +02:00
Łukasz Patron
1273cb641a Unbreak Mpris media notifications
Because notificationDevice is only set on updateCurrentPlayer(), we
ought to call it before checking if the device is null.
2023-07-07 20:48:43 +02:00
l10n daemon script
cafbfcaee8 GIT_SILENT Sync po/docbooks with svn 2023-07-07 01:53:59 +00:00
l10n daemon script
ac4c997efd GIT_SILENT made messages (after extraction) 2023-07-07 00:50:20 +00:00
l10n daemon script
d05feaa6d0 GIT_SILENT Sync po/docbooks with svn 2023-07-06 02:28:00 +00:00
l10n daemon script
4967cc7a81 GIT_SILENT Add new file (after extraction) 2023-07-06 00:58:05 +00:00
l10n daemon script
59cc3f2d4a GIT_SILENT made messages (after extraction) 2023-07-06 00:57:50 +00:00
l10n daemon script
0b9880d9b8 GIT_SILENT Sync po/docbooks with svn 2023-07-04 02:31:15 +00:00
Albert Vaca Cintora
90f89c653d Try to fix NPE in removeOnSubscriptionsChangedListener 2023-07-02 23:40:18 +02:00
Albert Vaca Cintora
e53338c70e Release 1.26.3 2023-07-02 23:34:46 +02:00
Albert Vaca Cintora
e641ff5a0a Don't call put if we are going to call remove right after
Note we still want the remove in case the plugin already was loaded
2023-07-02 23:26:56 +02:00
Albert Vaca Cintora
2ebaf6ae5b Ignore exceptions in pairingSuccessful callbacks
Bubbling up the exception to the PairingHandler makes the device become
unpaired, and we only want this if the error happens persisting device info
2023-07-02 23:01:05 +02:00
Albert Vaca Cintora
dd89463d75 Add logging to help debug a crash restoring saved devices 2023-07-02 22:57:40 +02:00
Albert Vaca Cintora
7194b308cb Fix NPE 2023-07-02 20:46:11 +02:00
Albert Vaca Cintora
328b708083 Fix NPE by checking if there's a Device 2023-07-02 10:27:52 +02:00
l10n daemon script
6404b86373 GIT_SILENT Sync po/docbooks with svn 2023-07-01 01:53:29 +00:00
l10n daemon script
3263b37c8a GIT_SILENT Sync po/docbooks with svn 2023-06-30 01:53:09 +00:00
25 changed files with 297 additions and 55 deletions

View File

@@ -9,8 +9,8 @@ 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"
package="org.kde.kdeconnect_tp"
android:versionCode="12602"
android:versionName="1.26.2">
android:versionCode="12700"
android:versionName="1.27.0">
<uses-feature
android:name="android.hardware.telephony"
@@ -38,6 +38,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@@ -138,14 +139,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<receiver android:name="org.kde.kdeconnect.KdeConnectBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data
android:host="kdeconnect"
android:path="/"
android:scheme="package" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
@@ -366,7 +359,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
<!--
<service
android:name="org.kde.kdeconnect.Plugins.MouseReceiverPlugin.MouseReceiverService"
android:exported="true"
@@ -378,7 +370,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
android:name="android.accessibilityservice"
android:resource="@xml/mouse_receiver_service" />
</service>
-->
<activity
android:name="org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationFilterActivity"

View File

@@ -12,7 +12,7 @@ function import_po_dirs # First parameter will be a path that will be a director
{
podir=$1
# Some languages don't exist in Google Play or have different codes
declare -a to_delete=( "bs" "ca@valencia" "sr@ijekavian" "sr@ijekavianlatin" "sr@latin" "ia" "tg" )
declare -a to_delete=( "bs" "ca@valencia" "sr@ijekavian" "sr@ijekavianlatin" "sr@latin" "ia" "eo" "tg" )
for lang in "${to_delete[@]}"; do
if [ -d $podir/$lang ]; then
rm $podir/$lang/*

View File

@@ -0,0 +1,12 @@
1.26.3:
* Fixed several bugs and crashes related to media controls.
1.26.1:
* Fix infinite loop that would cause high CPU usage.
1.26.0:
* Allow having different widgets for diferent devices.
* Add stats about network packets sent and received.
* Add the option to cancel a pairing request after sending it.
* Fix device name set initially not being human-friendly.
* Rewrite some of the internals to improve performance.

View File

@@ -0,0 +1,12 @@
1.26.4:
* Fixed several bugs and crashes related to media controls.
1.26.1:
* Fix infinite loop that would cause high CPU usage.
1.26.0:
* Allow having different widgets for diferent devices.
* Add stats about network packets sent and received.
* Add the option to cancel a pairing request after sending it.
* Fix device name set initially not being human-friendly.
* Rewrite some of the internals to improve performance.

View File

@@ -0,0 +1,9 @@
1.27:
* Added back the mouse receiver plugin.
1.26:
* Allow having different widgets for diferent devices.
* Add stats about network packets sent and received.
* Add the option to cancel a pairing request after sending it.
* Fix device name set initially not being human-friendly.
* Rewrite some of the internals to improve performance.

View File

@@ -0,0 +1,14 @@
KDE Connect tarjoaa ominaisuudet työnvuosi eheyttämiseksi laitteiden kesken:
Jaettu leikepöytä: kopioi ja liitä laitteelta toiselle.
Jaa tiedostoja ja verkko-osoitteita tietokoneeseesi mistä sovelluksesta vain.
Saa ilmoitukset saapuvista puheluista ja tekstiviesteistä tietokoneellesi.
Näyttönäppäimistö: käytä puhelimen näyttöä tietokoneesi osoitinlaitteena.
Ilmoitusten tahdistus: lue Android-ilmoituksesi työpöydältä.
Multimedian etähallinta: käytä puhelinta Linux-mediasoitinten kaukosäätimenä.
Langaton verkkoyhteys: USB-johtoa tai Bluetoothia ei tarvita.
Päästä päähän -TLS-salaus: tietosi ovat turvassa.
Huomaa, että sovelluksen toimimiseksi KDE Connect tulee asentaa tietokoneeseen ja pitää ajan tasalla Android-version kanssa, jotta kaikki ominaisuudet toimisivat.
Sovellus on avoimen lähdekoodin projekti ja on olemassa sitä avustaneiden ihmisten ansiosta. Lähdekoodin saat noudettua kotisivulta.

View File

@@ -0,0 +1 @@
KDE Connect eheyttää älypuhelimen ja tietokoneen

View File

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

View File

@@ -0,0 +1,61 @@
# translation of kdeconnect-android-store-full.pot to esperanto
# Copyright (C) 2023 Free Software Foundation, Inc.
# This file is distributed under the same license as the kdeconnect-android package.
# Oliver Kellogg <okellogg@users.sourceforge.net, 2023.
#
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: kdeconnect-android\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-07-06 06:18+0100\n"
"Last-Translator: Oliver Kellogg <okellogg@users.sourceforge.net>\n"
"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
"Language: eo\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"
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."
msgstr ""
"KDE Connect provizas aron da funkcioj por integri vian laborfluon trans "
"aparatoj:\n"
"\n"
"- Komuna tondujo: kopiu kaj algluu inter viaj aparatoj.\n"
"- Kunhavigu dosierojn kaj URL-ojn al via komputilo de iu ajn aplikaĵo.\n"
"- Ricevu sciigojn pri envenantaj vokoj kaj SMS-mesaĝoj en via komputilo.\n"
"- Virtuala tuŝplato: Uzu vian telefonan ekranon kiel la tuŝplaton de via "
"komputilo.\n"
"- Sinkronigo de sciigoj: Legu viajn Android-sciigojn de la labortablo.\n"
"- Plurmedia teleregilo: Uzu vian telefonon kiel teleregilon por Linuks-"
"komunikilaj ludantoj.\n"
"- WiFi-konekto: ne necesas USB-drato aŭ bluetooth.\n"
"- Fin-al-fina TLS-ĉifrado: viaj informoj estas sekuraj.\n"
"\n"
"Bonvolu noti, ke vi devos instali KDE Connect sur via komputilo por tiu "
"aplikaĵo por funkcii, kaj tenu la labortablan version ĝisdatigita kun la "
"Android versio por ke la plej novaj kapabloj funkciu.\n"
"\n"
"Ĉi tiu programo estas parto de malfermkoda projekto kaj ĝi ekzistas danke al "
"ĉiuj homoj kiuj kontribuis al ĝi. Vizitu la retejon por kapti la fontkodon."

View File

@@ -0,0 +1,22 @@
# translation of kdeconnect-android-store-short.pot to esperanto
# Copyright (C) 2023 Free Software Foundation, Inc.
# This file is distributed under the same license as the kdeconnect-android package.
# Oliver Kellogg <okellogg@users.sourceforge.net, 2023.
#
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: kdeconnect-android\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-07-05 07:30+0100\n"
"Last-Translator: Oliver Kellogg <okellogg@users.sourceforge.net>\n"
"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
"Language: eo\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"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect integras vian poŝtelefonon kaj komputilon"

View File

@@ -0,0 +1,59 @@
# Tommi Nieminen <translator@legisign.org>, 2023.
#. extracted from ./metadata/android/en-US/full_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-07-04 21:29+0300\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
"Language: fi\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 22.12.3\n"
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."
msgstr ""
"KDE Connect tarjoaa ominaisuudet työnvuosi eheyttämiseksi laitteiden "
"kesken:\n"
"\n"
" Jaettu leikepöytä: kopioi ja liitä laitteelta toiselle.\n"
" Jaa tiedostoja ja verkko-osoitteita tietokoneeseesi mistä sovelluksesta "
"vain.\n"
" Saa ilmoitukset saapuvista puheluista ja tekstiviesteistä "
"tietokoneellesi.\n"
" Näyttönäppäimistö: käytä puhelimen näyttöä tietokoneesi osoitinlaitteena.\n"
" Ilmoitusten tahdistus: lue Android-ilmoituksesi työpöydältä.\n"
" Multimedian etähallinta: käytä puhelinta Linux-mediasoitinten "
"kaukosäätimenä.\n"
" Langaton verkkoyhteys: USB-johtoa tai Bluetoothia ei tarvita.\n"
" Päästä päähän -TLS-salaus: tietosi ovat turvassa.\n"
"\n"
"Huomaa, että sovelluksen toimimiseksi KDE Connect tulee asentaa "
"tietokoneeseen ja pitää ajan tasalla Android-version kanssa, jotta kaikki "
"ominaisuudet toimisivat.\n"
"\n"
"Sovellus on avoimen lähdekoodin projekti ja on olemassa sitä avustaneiden "
"ihmisten ansiosta. Lähdekoodin saat noudettua kotisivulta."

View File

@@ -0,0 +1,19 @@
# Tommi Nieminen <translator@legisign.org>, 2023.
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-07-04 21:29+0300\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
"Language: fi\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 22.12.3\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect eheyttää älypuhelimen ja tietokoneen"

View File

@@ -0,0 +1,24 @@
# Translation of kdeconnect-android-store-short to Norwegian Nynorsk
#
# Karl Ove Hufthammer <karl@huftis.org>, 2023.
#. extracted from ./metadata/android/en-US/short_description.txt
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-07-15 14:30+0200\n"
"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nn\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.3\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
msgid "KDE Connect integrates your smartphone and computer"
msgstr "KDE Connect koplar telefonen din saman med datamaskina"

View File

@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-06-17 04:11\n"
"PO-Revision-Date: 2023-07-03 11:38\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-06-07 00:47+0000\n"
"PO-Revision-Date: 2023-06-17 04:11\n"
"PO-Revision-Date: 2023-07-03 11:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"

View File

@@ -108,6 +108,7 @@
<string name="device_menu_plugins">Programtillegg-oppsett</string>
<string name="device_menu_unpair">Løys paring</string>
<string name="pair_new_device">Par ny eining</string>
<string name="cancel_pairing">Avbryt paring</string>
<string name="unknown_device">Ukjend eining</string>
<string name="error_not_reachable">Får ikkje kontakt med eininga</string>
<string name="error_already_paired">Eininga er alt para</string>
@@ -394,4 +395,5 @@
<string name="everyone_else">Alle andre som har hjelpt til med utviklinga av KDE Connect opp gjennom åra</string>
<string name="send_clipboard">Send utklippstavla</string>
<string name="tap_to_execute">Tapp for å utføra handlinga</string>
<string name="plugin_stats">Programtillegg-statistikk</string>
</resources>

View File

@@ -379,9 +379,9 @@
<string name="send_compose">Gönder</string>
<string name="compose_send_title">Gönderi oluştur</string>
<string name="open_compose_send">Metin oluştur</string>
<string name="about_kde_about">&lt;h1&gt;Hakkında&lt;/h1&gt; &lt;p&gt;KDE, &lt;a href=https://www.gnu.org/philosophy/free-sw.html&gt;Özgür Yazılım&lt;/a&gt; hareketine destek veren yazılım mühendislerinin, sanatçıların, yazarların, çevirmenlerin ve yaratıcıların bir araya geldiği dünya çapında bir topluluktur KDE, Plasma masaüstü ortamını, yüzlerce uygulamayı ve onları destekleyen sayısız yazılım kitaplığını üretir.&lt;/p&gt; &lt;p&gt;KDE, işbirlikçi bir kurumdur: Tek bir varlık yönünü veya ürünlerini kontrol etmez. Bunun yerine, dünyanın en kaliteli Özgür Yazılım\'larını üretme hedefi için birlikte çalışırız. Herkes, sen de dahil olmak üzere, KDE\'ye &lt;a href=https://community.kde.org/Get_Involved&gt;katılıp katkıda bulunmakta özgürdür&lt;/a&gt;.&lt;/p&gt; KDE topluluğu ve ürettiğimiz yazılımlar hakkında daha fazla bilgi için &lt;a href=https://www.kde.org/&gt;https://www.kde.org/&lt;/a&gt; adresini ziyaret edin.</string>
<string name="about_kde_about">&lt;h1&gt;Hakkında&lt;/h1&gt; &lt;p&gt;KDE, &lt;a href=https://www.gnu.org/philosophy/free-sw.html&gt;Özgür Yazılım&lt;/a&gt; hareketine destek veren yazılım mühendislerinin, sanatçıların, yazarların, çevirmenlerin ve yaratıcıların bir araya geldiği dünya çapında bir topluluktur KDE, Plasma masaüstü ortamını, yüzlerce uygulamayı ve onları destekleyen sayısız yazılım kitaplığını üretir.&lt;/p&gt; &lt;p&gt;KDE, işbirliğine dayalı bir kuruluştur: yönünü veya ürünlerini tek başına denetleyen bir kuruluş yoktur. Bunun yerine, dünyanın en iyi Özgür Yazılımını oluşturma ortak hedefine ulaşmak için birlikte çalışıyoruz. Siz de dahil olmak üzere herkes &lt;a href=https://community.kde.org/Get_Involved&gt;katılabilir&lt;/a&gt; ve katkıda bulunabilir.&lt;/p&gt; KDE topluluğu ve ürettiğimiz yazılımlar hakkında daha fazla bilgi için &lt;a href=https://www.kde.org/&gt;https://www.kde.org/&lt;/a&gt; adresini ziyaret edin.</string>
<string name="about_kde_report_bugs_or_wishes">&lt;h1&gt;Hataları veya İsteklerinizi Bildirin&lt;/h1&gt; &lt;p&gt;Yazılım her zaman iyileştirilebilir ve KDE takımın bunu yapmaya hazır. Ancak siz de bir şey beklendiği gibi gitmezse veya hata verirse bize bildirin.&lt;/p&gt; &lt;p&gt;KDE\'nin bir hata takip sistemi vardır. &lt;a href=https://bugs.kde.org/&gt;https://bugs.kde.org/&lt;/a&gt; adresini ziyaret edin veya hakkında ekranının \"Hata Bildir\" düğmesini kullanarak hataları bildirin.&lt;/p&gt; Bir iyileştirme için öneriniz varsa bunu bildirmek için hata takip sistemini kullanabilirsiniz; yalnızca \"Wishlist\" ciddiyet düzeyini kullandığınızdan emin olun.</string>
<string name="about_kde_join_kde">"&lt;h1&gt;KDE\'ye Katılın&lt;/h1&gt; &lt;p&gt;KDE takımının bir üyesi olmak için yazılım geliştirici olmanıza gerek yok. Program arayüzlerini çeviren yerel takımlara katılabilirsiniz. Grafikler, temalar, sesler ve iyileştirilmiş belgelendirme sağlayabilirsiniz. Siz karar verin!&lt;/p&gt; &lt;p&gt;Katılabileceğiniz bazı projeler hakkında bilgi almak için &lt;a href=https://community.kde.org/Get_Involved&gt;https://community.kde.org/Get_Involved&lt;/a&gt; sayfasını ziyaret edin.&lt;/p&gt; Daha fazla bilgiye veya belgeye gereksiniminiz varsa &lt;a href=https://techbase.kde.org/&gt;https://techbase.kde.org/&lt;/a&gt; sayfasında aradığınızı bulabilirsiniz."</string>
<string name="about_kde_join_kde">"&lt;h1&gt;KDE\'ye Katılın&lt;/h1&gt; &lt;p&gt;KDE takımının bir üyesi olmak için yazılım geliştirici olmanıza gerek yok. Program arayüzlerini çeviren yerel takımlara katılabilirsiniz. Grafikler, temalar, sesler ve iyileştirilmiş belgelendirme sağlayabilirsiniz. Karar sizin!&lt;/p&gt; &lt;p&gt;Katılabileceğiniz bazı projeler hakkında bilgi almak için &lt;a href=https://community.kde.org/Get_Involved&gt;https://community.kde.org/Get_Involved&lt;/a&gt; sayfasını ziyaret edin.&lt;/p&gt; Daha fazla bilgiye veya belgeye gereksiniminiz varsa &lt;a href=https://techbase.kde.org/&gt;https://techbase.kde.org/&lt;/a&gt; sayfasında aradığınızı bulabilirsiniz."</string>
<string name="about_kde_support_kde">"&lt;h1&gt;KDE\'yi Destekleyin&lt;/h1&gt; &lt;p&gt;KDE yazılımları her zaman ücretsiz kalmayı sürdürecektir; ancak bunu oluşturmak bedava değildir. &lt;/p&gt; &lt;p&gt;Geliştirmeyi desteklemek için KDE topluluğu, kar amacı gütmeyen bir kuruluş olan KDE e.V.\'yi kurmuştur, bu topluluk KDE topluğunu yasal ve finansal konularda temsil eder. KDE e.V. hakkında daha fazla bilgi için &lt;a href=https://ev.kde.org/&gt;https://ev.kde.org/&lt;/a&gt; adresini ziyadet edin.&lt;/p&gt; &lt;p&gt;KDE, finansal da dahil olmak üzere her türlü katkıdan yarar sağlar. Maddi kaynaklarımızla, geliştiricilerimizin ve diğerlerinin katkıda bulunurken oluşan masraflarını karşılıyoruz. Ayrıca yasal destek ve konferanslar ve toplantılar için de kullanılmaktadır.&lt;/p&gt; &lt;p&gt;Emeklerimizi, finansal destekle desteklemeniz için &lt;a href=https://www.kde.org/community/donations/&gt;https://www.kde.org/community/donations/&lt;/a&gt; adresinde bulunan yollardan birini kullanabilirsiniz.&lt;/p&gt; Desteğiniz için şimdiden teşekkürler."</string>
<string name="maintainer_and_developer">Projeyi sürdüren ve geliştirici</string>
<string name="developer">Geliştirici</string>

View File

@@ -22,7 +22,6 @@ import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
import android.os.Build;
import android.os.IBinder;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@@ -33,7 +32,6 @@ import androidx.lifecycle.MutableLiveData;
import org.kde.kdeconnect.Backends.BaseLinkProvider;
import org.kde.kdeconnect.Backends.LanBackend.LanLinkProvider;
import org.kde.kdeconnect.Backends.LoopbackBackend.LoopbackLinkProvider;
import org.kde.kdeconnect.Helpers.NotificationHelper;
import org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardFloatingActivity;
import org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandActivity;
@@ -82,10 +80,7 @@ public class BackgroundService extends Service {
private void registerLinkProviders() {
linkProviders.add(new LanLinkProvider(this));
String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
linkProviders.add(new LoopbackLinkProvider(this));
}
// linkProviders.add(new LoopbackLinkProvider(this));
// linkProviders.add(new BluetoothLinkProvider(this));
}
@@ -206,6 +201,7 @@ public class BackgroundService extends Service {
.setContentIntent(pi)
.setPriority(NotificationCompat.PRIORITY_MIN) //MIN so it's not shown in the status bar before Oreo, on Oreo it will be bumped to LOW
.setShowWhen(false)
.setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE)
.setAutoCancel(false);
notification.setGroup("BackgroundService");

View File

@@ -186,6 +186,8 @@ public class Device implements BaseLink.PacketReceiver {
@Override
public void pairingSuccessful() {
Log.i("Device", "pairing successful, adding to trusted devices list");
hidePairingNotification();
// Store current device certificate so we can check it in the future (TOFU)
@@ -195,10 +197,15 @@ public class Device implements BaseLink.PacketReceiver {
SharedPreferences preferences = context.getSharedPreferences("trusted_devices", Context.MODE_PRIVATE);
preferences.edit().putBoolean(deviceInfo.id, true).apply();
reloadPluginsFromSettings();
try {
reloadPluginsFromSettings();
for (PairingHandler.PairingCallback cb : pairingCallbacks) {
cb.pairingSuccessful();
for (PairingHandler.PairingCallback cb : pairingCallbacks) {
cb.pairingSuccessful();
}
} catch (Exception e) {
Log.e("PairingHandler", "Exception in pairingSuccessful. Not unpairing because saving the trusted device succeeded");
e.printStackTrace();
}
}
@@ -212,6 +219,7 @@ public class Device implements BaseLink.PacketReceiver {
@Override
public void unpaired() {
Log.i("Device", "unpaired, removing from trusted devices list");
SharedPreferences preferences = context.getSharedPreferences("trusted_devices", Context.MODE_PRIVATE);
preferences.edit().remove(deviceInfo.id).apply();
@@ -566,8 +574,6 @@ public class Device implements BaseLink.PacketReceiver {
return false;
}
plugins.put(pluginKey, plugin);
if (!plugin.checkRequiredPermissions()) {
Log.d("KDE/addPlugin", "No permission " + pluginKey);
plugins.remove(pluginKey);
@@ -575,6 +581,7 @@ public class Device implements BaseLink.PacketReceiver {
return false;
} else {
Log.d("KDE/addPlugin", "Permissions OK " + pluginKey);
plugins.put(pluginKey, plugin);
pluginsWithoutPermissions.remove(pluginKey);
if (plugin.checkOptionalPermissions()) {
Log.d("KDE/addPlugin", "Optional Permissions OK " + pluginKey);

View File

@@ -16,6 +16,7 @@ import android.preference.PreferenceManager;
import android.provider.Settings;
import android.util.Log;
import com.univocity.parsers.common.TextParsingException;
import com.univocity.parsers.csv.CsvParser;
import com.univocity.parsers.csv.CsvParserSettings;
@@ -111,7 +112,7 @@ public class DeviceHelper {
Log.e("DeviceHelper", "Didn't find a device name for " + Build.MODEL);
}
}
} catch(IOException e) {
} catch(IOException | TextParsingException e) {
e.printStackTrace();
}
fetchingName = false;

View File

@@ -26,14 +26,6 @@ public class KdeConnectBroadcastReceiver extends BroadcastReceiver {
Log.i("KdeConnect", "MyUpdateReceiver");
BackgroundService.Start(context);
break;
case Intent.ACTION_PACKAGE_REPLACED:
Log.i("KdeConnect", "UpdateReceiver");
if (!intent.getData().getSchemeSpecificPart().equals(context.getPackageName())) {
Log.i("KdeConnect", "Ignoring, it's not me!");
return;
}
BackgroundService.Start(context);
break;
case Intent.ACTION_BOOT_COMPLETED:
Log.i("KdeConnect", "KdeConnectBroadcastReceiver");
BackgroundService.Start(context);

View File

@@ -219,12 +219,17 @@ public class ConnectivityReportPlugin extends Plugin {
runWithLooper(() -> {
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
TelephonyHelper.cancelActiveSubscriptionIDsListener(context, subListener);
if (subListener != null) {
TelephonyHelper.cancelActiveSubscriptionIDsListener(context, subListener);
subListener = null;
}
}
for (Integer subID : listeners.keySet()) {
Log.i("ConnectivityReport", "Removed subscription ID " + subID);
tm.listen(listeners.get(subID), PhoneStateListener.LISTEN_NONE);
}
listeners.clear();
states.clear();
});
}

View File

@@ -17,12 +17,13 @@ import androidx.fragment.app.DialogFragment;
import org.apache.commons.lang3.ArrayUtils;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin.RemoteKeyboardPlugin;
import org.kde.kdeconnect.UserInterface.MainActivity;
import org.kde.kdeconnect.UserInterface.StartActivityAlertDialogFragment;
import org.kde.kdeconnect_tp.R;
//@PluginFactory.LoadablePlugin
@PluginFactory.LoadablePlugin
@RequiresApi(api = Build.VERSION_CODES.N)
public class MouseReceiverPlugin extends Plugin {
private final static String PACKET_TYPE_MOUSEPAD_REQUEST = "kdeconnect.mousepad.request";

View File

@@ -216,7 +216,7 @@ public class MprisMediaSession implements
}
private MprisPlugin.MprisPlayer getPlayerFromDevice(Device device, MprisPlugin.MprisPlayer preferredPlayer) {
if (!mprisDevices.contains(device.getDeviceId()))
if (device == null || !mprisDevices.contains(device.getDeviceId()))
return null;
MprisPlugin plugin = device.getPlugin(MprisPlugin.class);
@@ -264,6 +264,21 @@ public class MprisMediaSession implements
return;
}
//Make sure our information is up-to-date
MprisPlugin.MprisPlayer currentPlayer = updateCurrentPlayer();
Device device = KdeConnect.getInstance().getDevice(notificationDevice);
if (device == null) {
closeMediaNotification();
return;
}
//If the player disappeared (and no other playing one found), just remove the notification
if (currentPlayer == null) {
closeMediaNotification();
return;
}
synchronized (instance) {
if (mediaSession == null) {
mediaSession = new MediaSessionCompat(context, MPRIS_MEDIA_SESSION_TAG);
@@ -273,15 +288,6 @@ public class MprisMediaSession implements
}
}
//Make sure our information is up-to-date
MprisPlugin.MprisPlayer currentPlayer = updateCurrentPlayer();
//If the player disappeared (and no other playing one found), just remove the notification
if (currentPlayer == null) {
closeMediaNotification();
return;
}
updateRemoteDeviceVolumeControl();
MediaMetadataCompat.Builder metadata = new MediaMetadataCompat.Builder();
@@ -363,7 +369,7 @@ public class MprisMediaSession implements
.setShowWhen(false)
.setColor(ContextCompat.getColor(context, R.color.primary))
.setVisibility(androidx.core.app.NotificationCompat.VISIBILITY_PUBLIC)
.setSubText(KdeConnect.getInstance().getDevice(notificationDevice).getName());
.setSubText(device.getName());
notification.setContentTitle(currentPlayer.getTitle());
@@ -496,11 +502,15 @@ public class MprisMediaSession implements
@Override
public void onListenerConnected(NotificationReceiver service) {
for (StatusBarNotification n : service.getActiveNotifications()) {
if ("com.spotify.music".equals(n.getPackageName())) {
spotifyRunning = true;
updateMediaNotification();
try {
for (StatusBarNotification n : service.getActiveNotifications()) {
if ("com.spotify.music".equals(n.getPackageName())) {
spotifyRunning = true;
updateMediaNotification();
}
}
} catch(SecurityException e) {
e.printStackTrace();
}
}

View File

@@ -245,7 +245,10 @@ public class MprisNowPlayingFragment extends Fragment implements VolumeKeyListen
return; //Player hasn't actually changed
}
targetPlayer = plugin.getPlayerStatus(player);
targetPlayerName = targetPlayer.getPlayerName();
if (targetPlayer != null) {
targetPlayerName = targetPlayer.getPlayerName();
}
updatePlayerStatus(plugin);
if (targetPlayer != null && targetPlayer.isPlaying()) {