2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-09-01 06:35:09 +00:00

Compare commits

..

8 Commits

Author SHA1 Message Date
Albert Vaca
a0636de6c7 Oops 2020-04-21 19:57:44 +02:00
Albert Vaca
e45262d8e6 Bump version to release 2020-04-21 19:48:17 +02:00
Anjani Kumar
74ecab507b Adding a layout file for ClipboardFloatinActivity. It contains an invisible button. 2020-04-21 15:15:49 +05:30
Anjani Kumar
34c80314ed This reverts commit 0fc5d09078. 2020-04-21 15:15:49 +05:30
l10n daemon script
7ddb647aa1 GIT_SILENT made messages (after extraction) 2020-04-21 02:53:14 +02:00
l10n daemon script
8b064f9b77 GIT_SILENT made messages (after extraction) 2020-04-20 02:53:50 +02:00
Vincent Blücher
0728f2d8d2 Android 10: Make SharePlugin usable again
- Due to Android 10 restrictions, background tasks can no longer launch activities
 - Post a notification instead when a URL is received and KDE Connect is not in foreground
2020-04-19 13:26:04 +00:00
l10n daemon script
49478a13d3 GIT_SILENT made messages (after extraction) 2020-04-18 02:52:22 +02:00
30 changed files with 238 additions and 145 deletions

View File

@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.kde.kdeconnect_tp"
android:versionCode="11410"
android:versionName="1.14.1">
android:versionCode="11421"
android:versionName="1.14.2">
<supports-screens
android:anyDensity="true"
@@ -135,6 +135,11 @@
<!-- Plugin-related activities and services -->
<activity
android:name="org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardFloatingActivity"
android:theme="@style/Theme.Transparent"
android:excludeFromRecents="true"/>
<activity
android:name="org.kde.kdeconnect.Plugins.MprisPlugin.MprisActivity"
android:label="@string/open_mpris_controls"

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/floating_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="0"
android:text="@string/pref_plugin_clipboard" />
</LinearLayout>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">No està connectat a cap dispositiu</string>
<string name="foreground_notification_devices">Connectat a: %s</string>
<string name="foreground_notification_send_clipboard">Envia al porta-retalls</string>
<string name="pref_plugin_telephony">Notificador de la telefonia</string>
<string name="pref_plugin_telephony_desc">Envia notificacions per a les trucades entrants</string>
<string name="pref_plugin_battery">Informa de la bateria</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Permet navegar de forma remota pel sistema de fitxers del dispositiu</string>
<string name="pref_plugin_clipboard">Sincronitza el porta-retalls</string>
<string name="pref_plugin_clipboard_desc">Comparteix el contingut del porta-retalls</string>
<string name="pref_plugin_clipboard_sent">S\'ha enviat al porta-retalls</string>
<string name="pref_plugin_mousepad">Entrada remota</string>
<string name="pref_plugin_mousepad_desc">Usa el vostre telèfon o tauleta com un ratolí i un teclat</string>
<string name="pref_plugin_presenter">Presentació de diapositives remota</string>
@@ -125,7 +123,8 @@
<item quantity="one">Ha fallat en enviar el fitxer a %1$s</item>
<item quantity="other">Ha fallat en enviar %2$d de %3$d fitxers a %1$s</item>
</plurals>
<string name="received_file_text">Puntegeu per obrir «%1s»</string>
<string name="tap_to_open">Toqueu per obrir</string>
<string name="received_file_text">Toqueu per obrir «%1s»</string>
<string name="cannot_create_file">No s\'ha pogut crear el fitxer %s</string>
<string name="tap_to_answer">Puntegeu per a respondre</string>
<string name="right_click">Envia un clic del botó dret</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Žádná připojená zařízení</string>
<string name="foreground_notification_devices">Připojen k: %s</string>
<string name="foreground_notification_send_clipboard">Přečíst schránku</string>
<string name="pref_plugin_telephony">Upozornění telefonie</string>
<string name="pref_plugin_telephony_desc">Posílat upozornění na příchozí hovory</string>
<string name="pref_plugin_battery">Hlášení baterie</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Umožní vám vzdáleně prohlížet souborový systém tohoto zařízení</string>
<string name="pref_plugin_clipboard">Synchronizace schránky</string>
<string name="pref_plugin_clipboard_desc">Sdílet obsah schránky</string>
<string name="pref_plugin_clipboard_sent">Schránka poslána</string>
<string name="pref_plugin_mousepad">Vzdálený vstup</string>
<string name="pref_plugin_mousepad_desc">Používejte svůj telefon nebo tablet jako touchpad a klávesnici</string>
<string name="pref_plugin_presenter">Ovladač promítání</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Not connected to any device</string>
<string name="foreground_notification_devices">Connected to: %s</string>
<string name="foreground_notification_send_clipboard">Send Clipboard</string>
<string name="pref_plugin_telephony">Telephony notifier</string>
<string name="pref_plugin_telephony_desc">Send notifications for incoming calls</string>
<string name="pref_plugin_battery">Battery report</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Allows to browse this device\'s filesystem remotely</string>
<string name="pref_plugin_clipboard">Clipboard sync</string>
<string name="pref_plugin_clipboard_desc">Share the clipboard content</string>
<string name="pref_plugin_clipboard_sent">Clipboard Sent</string>
<string name="pref_plugin_mousepad">Remote input</string>
<string name="pref_plugin_mousepad_desc">Use your phone or tablet as a touchpad and keyboard</string>
<string name="pref_plugin_presenter">Slideshow remote</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">No conectado a ningún dispositivo</string>
<string name="foreground_notification_devices">Conectado a: %s</string>
<string name="foreground_notification_send_clipboard">Enviar al portapapeles</string>
<string name="pref_plugin_telephony">Notificador de telefonía</string>
<string name="pref_plugin_telephony_desc">Enviar notificaciones por llamadas entrantes</string>
<string name="pref_plugin_battery">Informe de la batería</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Permite examinar de forma remota el sistema de archivos de este dispositivo</string>
<string name="pref_plugin_clipboard">Sincronización del portapapeles</string>
<string name="pref_plugin_clipboard_desc">Compartir el contenido del portapapeles</string>
<string name="pref_plugin_clipboard_sent">Enviado al portapapeles</string>
<string name="pref_plugin_mousepad">Entrada remota</string>
<string name="pref_plugin_mousepad_desc">Usar su teléfono o tableta como teclado y teclado táctil</string>
<string name="pref_plugin_presenter">Presentación de diapositivas remota</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Pole ühendatud ühegi seadmega</string>
<string name="foreground_notification_devices">Ühendatud seadmega: %s</string>
<string name="foreground_notification_send_clipboard">Saadeti lõikepuhvrisse</string>
<string name="pref_plugin_telephony">Telefoni märguanded</string>
<string name="pref_plugin_telephony_desc">Sisenevate kõnede märguannete saatmine</string>
<string name="pref_plugin_battery">Aku aruanne</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Seadme failisüsteemi eemalt sirvimise võimaldamine</string>
<string name="pref_plugin_clipboard">Lõikepuhvri sünkroonimine</string>
<string name="pref_plugin_clipboard_desc">Lõikepuhvri sisu jagamine</string>
<string name="pref_plugin_clipboard_sent">Lõikepuhvrist saadud</string>
<string name="pref_plugin_mousepad">Kaugsisestus</string>
<string name="pref_plugin_mousepad_desc">Telefoni või tahvli kasutamine puuteplaadi ja klaviatuurina</string>
<string name="pref_plugin_presenter">Kaugslaidiseanss</string>
@@ -125,6 +123,7 @@
<item quantity="one">Faili saatmine seadmesse %1$s nurjus</item>
<item quantity="other">%2$d faili saamine %3$d failist seadmesse %1$s nurjus</item>
</plurals>
<string name="tap_to_open">Koputa avamiseks</string>
<string name="received_file_text">Koputa \"%1s\" avamiseks</string>
<string name="cannot_create_file">Faili %s loomine nurjus</string>
<string name="tap_to_answer">Koputa vastamiseks</string>

View File

@@ -33,6 +33,7 @@
<string name="pref_plugin_sharereceiver_desc">Partagez des URLs et des fichiers entre périphériques</string>
<string name="device_list_empty">Pas de périphériques</string>
<string name="ok">Ok</string>
<string name="sad_ok">Ok :(</string>
<string name="cancel">Annuler</string>
<string name="open_settings">Accéder aux paramètres</string>
<string name="no_permissions">Vous devez accorder la permission d\'accéder aux notifications</string>
@@ -205,6 +206,7 @@
<string name="refresh">Mettre à jour</string>
<string name="unreachable_description">Ce périphérique associé n\'est pas accessible. Assurez-vous qu\'il est bien connecté au même réseau.</string>
<string name="no_wifi">Vous n\'êtes connecté à aucun réseau Wi-Fi, il est possible que vous ne puissiez afficher aucun appareil. Cliquez ici pour activer le Wi-Fi.</string>
<string name="on_non_trusted_message">Le réseau n\'est pas un réseau de confiance : découverte automatique désactivée.</string>
<string name="no_file_browser">Aucun navigateur de fichiers installé.</string>
<string name="pref_plugin_telepathy">Envoyer un SMS</string>
<string name="pref_plugin_telepathy_desc">Envoyer des SMS depuis votre bureau</string>
@@ -212,6 +214,7 @@
<string name="findmyphone_title_tablet">Trouver ma tablette</string>
<string name="findmyphone_title_tv">Trouver ma télévision</string>
<string name="findmyphone_description">Fait sonner le périphérique pour vous aider à le retrouver</string>
<string name="findmyphone_found">Trouvé</string>
<string name="open">Ouvrir</string>
<string name="close">Fermer</string>
<string name="plugins_need_permission">Certains modules externes nécessitent des permissions pour fonctionner (tapez pour plus d\'informations) :</string>
@@ -242,6 +245,7 @@
<string name="notification_channel_persistent">Indicateur persistant</string>
<string name="notification_channel_media_control">Contrôle multimédia</string>
<string name="notification_channel_filetransfer">Transfert de fichiers</string>
<string name="notification_channel_high_priority">Haute priorité</string>
<string name="mpris_stop">Arrêter le lecteur actuel</string>
<string name="copy_url_to_clipboard">Copier l\'URL dans le presse-papiers</string>
<string name="clipboard_toast">Copié dans le presse-papier</string>
@@ -275,4 +279,22 @@
<string name="no_app_for_opening">Aucune application adaptée trouvée pour ouvrir ce fichier.</string>
<string name="remote_keyboard_service">Clavier à distance KDE Connect</string>
<string name="presenter_pointer">Pointeur</string>
<string name="trusted_networks">Réseaux de confiance</string>
<string name="trusted_networks_desc">Restreindre la découverte automatique aux réseaux connus</string>
<string name="add_trusted_network">Ajouter %1s</string>
<string name="empty_trusted_networks_list_text">Vous n\'avez pas encore ajouté de réseau de confiance</string>
<string name="allow_all_networks_text">Tout autoriser</string>
<string name="location_permission_needed_title">Permissions requises</string>
<string name="location_permission_needed_desc">Android requiert la permission de géolocalisation pour identifier votre réseau Wifi</string>
<string name="clipboard_android_x_incompat">Android 10 a supprimé l\'accès des applications au presse-papier. Ce module externe sera désactivé.</string>
<string name="mpris_open_url">Continuer la lecture ici</string>
<string name="cant_open_url">Impossible d\'ouvrir l\'URL pour continuer la lecture</string>
<string name="bigscreen_home">Accueil</string>
<string name="bigscreen_up">Vers le haut</string>
<string name="bigscreen_left">Vers la gauche</string>
<string name="bigscreen_select">Sélectionner</string>
<string name="bigscreen_right">Vers la droite</string>
<string name="bigscreen_down">Vers le bas</string>
<string name="pref_plugin_bigscreen">Télécommande Bigscreen</string>
<string name="pref_plugin_bigscreen_desc">Utiliser votre périphérique comme télécommande pour Plasma Bigscreen</string>
</resources>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Non connesso ad alcun dispositivo</string>
<string name="foreground_notification_devices">Connesso a: %s</string>
<string name="foreground_notification_send_clipboard">Invia appunti</string>
<string name="pref_plugin_telephony">Notifiche telefoniche</string>
<string name="pref_plugin_telephony_desc">Invia notifiche per le chiamate in ingresso</string>
<string name="pref_plugin_battery">Livello batteria</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Consente di navigare da remoto il filesystem del dispositivo</string>
<string name="pref_plugin_clipboard">Sincronizzazione appunti</string>
<string name="pref_plugin_clipboard_desc">Condividi il contenuto degli appunti</string>
<string name="pref_plugin_clipboard_sent">Appunti inviati</string>
<string name="pref_plugin_mousepad">Impulso remoto</string>
<string name="pref_plugin_mousepad_desc">Usa il tuo telefono o il tablet come touchpad e tastiera</string>
<string name="pref_plugin_presenter">Telecomando della presentazione</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">연결된 장치 없음</string>
<string name="foreground_notification_devices">연결됨: %s</string>
<string name="foreground_notification_send_clipboard">클립보드 보내기</string>
<string name="pref_plugin_telephony">전화 알림이</string>
<string name="pref_plugin_telephony_desc">수신 통화 알림 보내기</string>
<string name="pref_plugin_battery">배터리 보고</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">원격으로 이 장치의 파일 시스템 보기</string>
<string name="pref_plugin_clipboard">클립보드 동기화</string>
<string name="pref_plugin_clipboard_desc">클립보드 내용 동기화</string>
<string name="pref_plugin_clipboard_sent">클립보드 보냄</string>
<string name="pref_plugin_mousepad">원격 입력</string>
<string name="pref_plugin_mousepad_desc">내 휴대폰이나 태블릿을 터치패드와 키보드로 사용하기</string>
<string name="pref_plugin_presenter">슬라이드 쇼 리모콘</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Neprisijungta prie jokio įrenginio</string>
<string name="foreground_notification_devices">Prisijungta prie: %s</string>
<string name="foreground_notification_send_clipboard">Siųsti iškarpinę</string>
<string name="pref_plugin_telephony">Telefonijos pranešiklis</string>
<string name="pref_plugin_telephony_desc">Siųsti gaunamųjų skambučių pranešimus</string>
<string name="pref_plugin_battery">Akumuliatoriaus ataskaita</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Leidžia nuotoliniu būdu naršyti šio įrenginio failų sistemą</string>
<string name="pref_plugin_clipboard">Iškarpinės sinchronizavimas</string>
<string name="pref_plugin_clipboard_desc">Bendrinti iškarpinės turinį</string>
<string name="pref_plugin_clipboard_sent">Iškarpinė išsiųsta</string>
<string name="pref_plugin_mousepad">Nuotolinis įvedimas</string>
<string name="pref_plugin_mousepad_desc">Naudoti savo telefoną ar planšetę kaip jutiklinį kilimėlį ir klaviatūrą</string>
<string name="pref_plugin_presenter">Nuotolinis skaidrių rodymas</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Niet verbonden met enig apparaat</string>
<string name="foreground_notification_devices">Verbonden met: %s</string>
<string name="foreground_notification_send_clipboard">Klembord verzenden</string>
<string name="pref_plugin_telephony">Telefoniemelder</string>
<string name="pref_plugin_telephony_desc">Stuur meldingen voor inkomende oproepen</string>
<string name="pref_plugin_battery">Batterijrapportage</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Het bladeren in het bestandssysteem van het apparaat op afstand toestaan</string>
<string name="pref_plugin_clipboard">Klembordsynchronisatie</string>
<string name="pref_plugin_clipboard_desc">De inhoud van het klembord delen</string>
<string name="pref_plugin_clipboard_sent">Klembord verzonden</string>
<string name="pref_plugin_mousepad">Invoer op afstand</string>
<string name="pref_plugin_mousepad_desc">Uw telefoon of tablet gebruiken als een touchpad en toetsenbord</string>
<string name="pref_plugin_presenter">Diavoorstelling op afstand</string>
@@ -125,6 +123,7 @@
<item quantity="one">Verzenden van bestand naar %1$s is mislukt</item>
<item quantity="other">Verzenden van %2$d van %3$d bestanden naar %1$s is mislukt</item>
</plurals>
<string name="tap_to_open">Tik om te openen</string>
<string name="received_file_text">Tap om \'%1s\' te openen</string>
<string name="cannot_create_file">Kan bestand %s niet aanmaken</string>
<string name="tap_to_answer">Tap om te antwoorden</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Ikkje tilkopla ei eining</string>
<string name="foreground_notification_devices">Kopla til: %s</string>
<string name="foreground_notification_send_clipboard">Send utklippstavle</string>
<string name="pref_plugin_telephony">Telefonvarsling</string>
<string name="pref_plugin_telephony_desc">Send varsling ved oppringing</string>
<string name="pref_plugin_battery">Batterirapport</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Tillat lesing av filsystemet frå datamaskina</string>
<string name="pref_plugin_clipboard">Synkroniser utklippstavle</string>
<string name="pref_plugin_clipboard_desc">Del innhaldet på utklippstavla</string>
<string name="pref_plugin_clipboard_sent">Utklippstavle send</string>
<string name="pref_plugin_mousepad">Fjernstyring</string>
<string name="pref_plugin_mousepad_desc">Bruk telefonen eller nettbrettet som styreplate og tastatur</string>
<string name="pref_plugin_presenter">Fjernstyring av lysbiletvising</string>

View File

@@ -33,7 +33,7 @@
<string name="pref_plugin_sharereceiver_desc">Udostępnia pliki i adresy URL pomiędzy urządzeniami</string>
<string name="device_list_empty">Brak urządzeń</string>
<string name="ok">OK</string>
<string name="cancel">Zaniechaj</string>
<string name="cancel">Anuluj</string>
<string name="open_settings">Otwórz ustawienia</string>
<string name="no_permissions">Aby uzyskać dostęp do powiadomień, należy przydzielić uprawnienia</string>
<string name="no_permission_mprisreceiver">Aby móc sterować odtwarzaczami multimedialnymi, należy udzielić dostępu powiadomieniom</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Não está conectado a nenhum dispositivo</string>
<string name="foreground_notification_devices">Conectado a: %s</string>
<string name="foreground_notification_send_clipboard">Enviar área de transferência</string>
<string name="pref_plugin_telephony">Notificação de telefonia</string>
<string name="pref_plugin_telephony_desc">Envia notificações de chamadas recebidas</string>
<string name="pref_plugin_battery">Relatório da bateria</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Permite navegar remotamente pelo sistema de arquivos deste telefone</string>
<string name="pref_plugin_clipboard">Sincronizar área de transferência</string>
<string name="pref_plugin_clipboard_desc">Compartilha o conteúdo da área de transferência</string>
<string name="pref_plugin_clipboard_sent">Área de transferência enviada</string>
<string name="pref_plugin_mousepad">Introdução de dados remota</string>
<string name="pref_plugin_mousepad_desc">Use seu telefone ou tablet como mouse e teclado</string>
<string name="pref_plugin_presenter">Apresentação de slides remota</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Não está ligado a nenhum dispositivo</string>
<string name="foreground_notification_devices">Ligado a: %s</string>
<string name="foreground_notification_send_clipboard">Enviar para a Área de Transferência</string>
<string name="pref_plugin_telephony">Notificação telefónica</string>
<string name="pref_plugin_telephony_desc">Enviar notificações para as chamadas recebidas</string>
<string name="pref_plugin_battery">Relatório da bateria</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Permite navegar pelo sistema de ficheiros remoto deste dispositivo</string>
<string name="pref_plugin_clipboard">Sincronização da área de transferência</string>
<string name="pref_plugin_clipboard_desc">Partilhar o conteúdo da área de transferência</string>
<string name="pref_plugin_clipboard_sent">Enviado para a Área de Transferência</string>
<string name="pref_plugin_mousepad">Introdução remota de dados</string>
<string name="pref_plugin_mousepad_desc">Usar o seu telefone ou \'tablet\' como um rato ou teclado</string>
<string name="pref_plugin_presenter">Apresentação remota</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Не подключено ни к одному устройству</string>
<string name="foreground_notification_devices">Подключено к: %s</string>
<string name="foreground_notification_send_clipboard">Передать буфер обмена</string>
<string name="pref_plugin_telephony">События телефонии</string>
<string name="pref_plugin_telephony_desc">Отправка уведомлений о звонках</string>
<string name="pref_plugin_battery">Состояние батареи</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Позволяет удалённо просматривать файловую систему устройства</string>
<string name="pref_plugin_clipboard">Синхронизация буфера обмена</string>
<string name="pref_plugin_clipboard_desc">Использование общего буфера обмена</string>
<string name="pref_plugin_clipboard_sent">Буфер обмена передан</string>
<string name="pref_plugin_mousepad">Удалённый ввод</string>
<string name="pref_plugin_mousepad_desc">Использование телефона или планшета в качестве сенсорной панели и клавиатуры</string>
<string name="pref_plugin_presenter">Пульт управления слайд-шоу</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Nepripojené k žiadnemu zariadeniu</string>
<string name="foreground_notification_devices">Pripojené k: %s</string>
<string name="foreground_notification_send_clipboard">Odoslať schránku</string>
<string name="pref_plugin_telephony">Nástroj na upozornenie telefonátov</string>
<string name="pref_plugin_telephony_desc">Odošle upozornenia na prichádzajúce hovory</string>
<string name="pref_plugin_battery">Hlásenia batérie</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Umožní vzdialené prehliadanie súborového systému zariadenia</string>
<string name="pref_plugin_clipboard">Synchronizácia schránky</string>
<string name="pref_plugin_clipboard_desc">Zdieľa obsah schránky</string>
<string name="pref_plugin_clipboard_sent">Schránka odoslaná</string>
<string name="pref_plugin_mousepad">Vzdialený vstup</string>
<string name="pref_plugin_mousepad_desc">Použije váš telefón alebo tablet ako touchpad a klávesnicu</string>
<string name="pref_plugin_presenter">Diaľkový ovládač prezentácie</string>
@@ -222,9 +220,9 @@
<string name="device_rename_title">Premenovanie zariadenia</string>
<string name="device_rename_confirm">Premenovať</string>
<string name="refresh">Obnoviť</string>
<string name="unreachable_description">Toto spárované zariadenie nie je dosiahnuteľné. Prosím, uistite sa, že je pripojené do rovnakej siete ako vy.</string>
<string name="unreachable_description">Toto spárované zariadenie nie je dosiahnuteľné. Prosím, uistite sa, že je pripojené k rovnakej sieti ako vy.</string>
<string name="no_wifi">Nie ste pripojení k sieti Wi-Fi, takže pravdepodobne nebudete môcť vidieť žiadne zariadenia. Kliknutím sem povolíte pripojenie Wi-Fi.</string>
<string name="on_non_trusted_message">Pripojené na nedôveryhodnej sieti: automatické objavovanie je zakázané.</string>
<string name="on_non_trusted_message">Pripojené k nedôveryhodnej sieti: automatické objavovanie je zakázané.</string>
<string name="no_file_browser">Nie sú nainštalované žiadne prehliadače.</string>
<string name="pref_plugin_telepathy">Odoslať SMS</string>
<string name="pref_plugin_telepathy_desc">Odosielanie textových správ z vášho počítača</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE-anslut</string>
<string name="foreground_notification_no_devices">Inte ansluten till någon apparat</string>
<string name="foreground_notification_devices">Ansluten till: %s</string>
<string name="foreground_notification_send_clipboard">Skicka klippbordet</string>
<string name="pref_plugin_telephony">Telefonunderrättelser</string>
<string name="pref_plugin_telephony_desc">Skicka underrättelser för inkommande samtal</string>
<string name="pref_plugin_battery">Batterirapport</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Gör det möjligt att bläddra i apparatens filsystem från annan apparat</string>
<string name="pref_plugin_clipboard">Synkronisera klippbord</string>
<string name="pref_plugin_clipboard_desc">Dela klippbordets innehåll</string>
<string name="pref_plugin_clipboard_sent">Klippbordet skickat</string>
<string name="pref_plugin_mousepad">Extern inmatning</string>
<string name="pref_plugin_mousepad_desc">Använd telefonen eller surfplattan som mus och tangentbord</string>
<string name="pref_plugin_presenter">Fjärrbildspel</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Не з\'єднано із жодним пристроєм</string>
<string name="foreground_notification_devices">З\'єднано з %s</string>
<string name="foreground_notification_send_clipboard">Надіслати вміст буфера</string>
<string name="pref_plugin_telephony">Телефонний сповіщувач</string>
<string name="pref_plugin_telephony_desc">Надсилати сповіщення щодо вхідних дзвінків</string>
<string name="pref_plugin_battery">Звіт щодо заряду</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">Надає змогу віддалено переглядати файлову систему цього пристрою</string>
<string name="pref_plugin_clipboard">Синхронізація буфера</string>
<string name="pref_plugin_clipboard_desc">Спільне використання буфера обміну даними</string>
<string name="pref_plugin_clipboard_sent">Вміст буфера надіслано</string>
<string name="pref_plugin_mousepad">Дистанційне введення</string>
<string name="pref_plugin_mousepad_desc">Скористайтеся телефоном або планшетом як замінником сенсорної панелі і клавіатури</string>
<string name="pref_plugin_presenter">Віддалений показ слайдів</string>
@@ -141,6 +139,7 @@
<item quantity="many">Не вдалося надіслати %2$d з %3$d файлів до %1$s</item>
<item quantity="other">Не вдалося надіслати файл до %1$s</item>
</plurals>
<string name="tap_to_open">Натисніть, щоб відкрити</string>
<string name="received_file_text">Натисніть, щоб відкрити «%1s»</string>
<string name="cannot_create_file">Не вдалося створити файл %s</string>
<string name="tap_to_answer">Натисніть, щоб відповісти</string>

View File

@@ -3,7 +3,6 @@
<string name="kde_connect">KDE 連線</string>
<string name="foreground_notification_no_devices">沒有連線到任何裝置</string>
<string name="foreground_notification_devices">已連線到:%s</string>
<string name="foreground_notification_send_clipboard">傳送剪貼簿</string>
<string name="pref_plugin_telephony">電話通知器</string>
<string name="pref_plugin_telephony_desc">傳送未接來電的通知</string>
<string name="pref_plugin_battery">電池報告</string>
@@ -12,7 +11,6 @@
<string name="pref_plugin_sftp_desc">同意讓遠端可以瀏覽檔案系統</string>
<string name="pref_plugin_clipboard">同步剪貼簿</string>
<string name="pref_plugin_clipboard_desc">分享剪貼簿的內容</string>
<string name="pref_plugin_clipboard_sent">已傳送剪貼簿</string>
<string name="pref_plugin_mousepad">遠端輸入</string>
<string name="pref_plugin_mousepad_desc">使用您的智慧型手機或者平板來模擬觸碰板與鍵盤</string>
<string name="pref_plugin_presenter">遠端投影片</string>

View File

@@ -9,6 +9,7 @@
<string name="kde_connect">KDE Connect</string>
<string name="foreground_notification_no_devices">Not connected to any device</string>
<string name="foreground_notification_devices">Connected to: %s</string>
<string name="foreground_notification_send_clipboard">Send Clipboard</string>
<string name="pref_plugin_telephony">Telephony notifier</string>
<string name="pref_plugin_telephony_desc">Send notifications for incoming calls</string>
<string name="pref_plugin_battery">Battery report</string>
@@ -17,6 +18,7 @@
<string name="pref_plugin_sftp_desc">Allows to browse this device\'s filesystem remotely</string>
<string name="pref_plugin_clipboard">Clipboard sync</string>
<string name="pref_plugin_clipboard_desc">Share the clipboard content</string>
<string name="pref_plugin_clipboard_sent">Clipboard Sent</string>
<string name="pref_plugin_mousepad">Remote input</string>
<string name="pref_plugin_mousepad_desc">Use your phone or tablet as a touchpad and keyboard</string>
<string name="pref_plugin_presenter">Slideshow remote</string>
@@ -159,6 +161,7 @@
<item quantity="one">Failed sending file to %1$s</item>
<item quantity="other">Failed sending %2$d of %3$d files to %1$s</item>
</plurals>
<string name="tap_to_open">Tap to open</string>
<string name="received_file_text">Tap to open \'%1s\'</string>
<string name="cannot_create_file">Cannot create file %s</string>
<string name="tap_to_answer">Tap to answer</string>

View File

@@ -49,4 +49,12 @@
<style name="ActionModeStyle" parent="Widget.AppCompat.ActionMode">
<item name="background">@color/primaryDark</item>
</style>
<style name="Theme.Transparent" parent="@style/Theme.AppCompat.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>

View File

@@ -44,6 +44,7 @@ import org.kde.kdeconnect.Backends.LanBackend.LanLinkProvider;
import org.kde.kdeconnect.Helpers.NotificationHelper;
import org.kde.kdeconnect.Helpers.SecurityHelpers.RsaHelper;
import org.kde.kdeconnect.Helpers.SecurityHelpers.SslHelper;
import org.kde.kdeconnect.Plugins.ClibpoardPlugin.ClipboardFloatingActivity;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.Plugins.RunCommandPlugin.RunCommandActivity;
@@ -346,10 +347,10 @@ public class BackgroundService extends Service {
}
ArrayList<String> connectedDevices = new ArrayList<>();
ArrayList<String> deviceIds = new ArrayList<>();
ArrayList<String> connectedDeviceIds = new ArrayList<>();
for (Device device : getDevices().values()) {
if (device.isReachable() && device.isPaired()) {
deviceIds.add(device.getDeviceId());
connectedDeviceIds.add(device.getDeviceId());
connectedDevices.add(device.getName());
}
}
@@ -358,20 +359,30 @@ public class BackgroundService extends Service {
notification.setContentText(getString(R.string.foreground_notification_no_devices));
} else {
notification.setContentText(getString(R.string.foreground_notification_devices, TextUtils.join(", ", connectedDevices)));
if (deviceIds.size() == 1) {
// Adding an action button to send clipboard manually in Android 10 and later.
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
Intent sendClipboard = new Intent(this, ClipboardFloatingActivity.class);
sendClipboard.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
sendClipboard.putExtra("connectedDeviceIds", connectedDeviceIds);
PendingIntent sendPendingClipboard = PendingIntent.getActivity(this, 3, sendClipboard, PendingIntent.FLAG_UPDATE_CURRENT);
notification.addAction(0, getString(R.string.foreground_notification_send_clipboard), sendPendingClipboard);
}
if (connectedDeviceIds.size() == 1) {
// Adding two action buttons only when there is a single device connected.
// Setting up Send File Intent.
Intent sendFile = new Intent(this, SendFileActivity.class);
sendFile.putExtra("deviceId", deviceIds.get(0));
sendFile.putExtra("deviceId", connectedDeviceIds.get(0));
PendingIntent sendPendingFile = PendingIntent.getActivity(this, 1, sendFile, PendingIntent.FLAG_UPDATE_CURRENT);
notification.addAction(0, getString(R.string.send_files), sendPendingFile);
// Checking if there are registered commands and adding the button.
Device device = getDevice(deviceIds.get(0));
Device device = getDevice(connectedDeviceIds.get(0));
RunCommandPlugin plugin = (RunCommandPlugin) device.getPlugin("RunCommandPlugin");
if (plugin != null && !plugin.getCommandList().isEmpty()) {
Intent runCommand = new Intent(this, RunCommandActivity.class);
runCommand.putExtra("deviceId", deviceIds.get(0));
runCommand.putExtra("deviceId", connectedDeviceIds.get(0));
PendingIntent runPendingCommand = PendingIntent.getActivity(this, 2, runCommand, PendingIntent.FLAG_UPDATE_CURRENT);
notification.addAction(0, getString(R.string.pref_plugin_runcommand), runPendingCommand);
}

View File

@@ -0,0 +1,64 @@
/*
* Copyright 2020 Vincent Blücher <vincent.bluecher@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kde.kdeconnect.Helpers;
import android.app.Activity;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import org.kde.kdeconnect.MyApplication;
import org.kde.kdeconnect_tp.R;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
public class IntentHelper {
/**
* On API 29+: post a high priority notification which starts the given Intent when clicked
* On API <=28: launch a given Intent directly since no background restrictions apply on these platforms.
* @param context the Context from which the Intent is started
* @param intent the Intent to be started
* @param title a title which is shown in the notification on Android 10+
*/
public static void startActivityFromBackground(Context context, Intent intent, String title) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && !MyApplication.isInForeground()) {
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
Notification notification = new NotificationCompat
.Builder(context, NotificationHelper.Channels.HIGHPRIORITY)
.setContentIntent(pendingIntent)
.setFullScreenIntent(pendingIntent, true)
.setContentTitle(title)
.setContentText(context.getString(R.string.tap_to_open))
.setSmallIcon(R.drawable.ic_notification)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setAutoCancel(true)
.build();
int id = (int) System.currentTimeMillis();
NotificationManagerCompat.from(context).notify(id, notification);
} else {
context.startActivity(intent);
}
}
}

View File

@@ -0,0 +1,94 @@
/*
* Copyright 2020 Anjani Kumar <anjanik012@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kde.kdeconnect.Plugins.ClibpoardPlugin;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.Toast;
import org.kde.kdeconnect.BackgroundService;
import org.kde.kdeconnect.Device;
import org.kde.kdeconnect_tp.R;
import java.util.ArrayList;
/*
An activity to access the clipboard on Android 10 and later by raising over other apps.
This is invisible and doesn't require any interaction from the user.
This should be called when a change in clipboard is detected. This can be done by manually
when user wants to send the clipboard or by reading system log files which requires a special
privileged permission android.permission.READ_LOGS.
https://developer.android.com/reference/android/Manifest.permission#READ_LOGS
This permission can be gained by only from the adb by the user.
https://www.reddit.com/r/AndroidBusters/comments/fh60lt/how_to_solve_a_problem_with_the_clipboard_on/
Currently this activity is bering triggered from a button in Foreground Notification.
* */
public class ClipboardFloatingActivity extends AppCompatActivity {
private ArrayList<Device> connectedDevices = new ArrayList<>();
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
// We are now sure that clipboard can be accessed from here.
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData.Item item;
if (clipboardManager.hasPrimaryClip()) {
item = clipboardManager.getPrimaryClip().getItemAt(0);
String content = item.coerceToText(this).toString();
for (Device device : connectedDevices) {
ClipboardPlugin clipboardPlugin = (ClipboardPlugin) device.getPlugin("ClipboardPlugin");
if (clipboardPlugin != null) {
clipboardPlugin.propagateClipboard(content);
}
}
Toast.makeText(this, R.string.pref_plugin_clipboard_sent, Toast.LENGTH_SHORT).show();
}
finish();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clipboard_floating);
WindowManager.LayoutParams wlp = getWindow().getAttributes();
wlp.dimAmount = 0;
wlp.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
getWindow().setAttributes(wlp);
ArrayList<String> connectedDeviceIds = getIntent().getStringArrayListExtra("connectedDeviceIds");
if (connectedDeviceIds != null) {
for (String deviceId : connectedDeviceIds) {
connectedDevices.add(BackgroundService.getInstance().getDevice(deviceId));
}
}
}
}

View File

@@ -20,15 +20,11 @@
package org.kde.kdeconnect.Plugins.ClibpoardPlugin;
import android.os.Build;
import androidx.fragment.app.DialogFragment;
import androidx.preference.PreferenceManager;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.UserInterface.NoticeAlertDialogFragment;
import org.kde.kdeconnect_tp.R;
@PluginFactory.LoadablePlugin
@@ -59,8 +55,6 @@ public class ClipboardPlugin extends Plugin {
*/
private final static String PACKET_TYPE_CLIPBOARD_CONNECT = "kdeconnect.clipboard.connect";
private final static String ANDROID_10_INCOMPAT_DIALOG_SHOWN_PREFERENCE = "android10IncompatDialogShown";
@Override
public String getDisplayName() {
return context.getResources().getString(R.string.pref_plugin_clipboard);
@@ -93,7 +87,7 @@ public class ClipboardPlugin extends Plugin {
private final ClipboardListener.ClipboardObserver observer = this::propagateClipboard;
private void propagateClipboard(String content) {
void propagateClipboard(String content) {
NetworkPacket np = new NetworkPacket(ClipboardPlugin.PACKET_TYPE_CLIPBOARD);
np.set("content", content);
device.sendPacket(np);
@@ -108,26 +102,9 @@ public class ClipboardPlugin extends Plugin {
device.sendPacket(np);
}
@Override
public boolean checkRequiredPermissions() {
return Build.VERSION.SDK_INT <= Build.VERSION_CODES.P || PreferenceManager.getDefaultSharedPreferences(context).getBoolean(ANDROID_10_INCOMPAT_DIALOG_SHOWN_PREFERENCE, false);
}
@Override
public DialogFragment getPermissionExplanationDialog() {
PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(ANDROID_10_INCOMPAT_DIALOG_SHOWN_PREFERENCE, true).apply();
return new NoticeAlertDialogFragment.Builder()
.setTitle(R.string.pref_plugin_clipboard)
.setMessage(R.string.clipboard_android_x_incompat)
.setPositiveButton(R.string.sad_ok)
.create();
}
@Override
public boolean onCreate() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
return false;
}
ClipboardListener.instance(context).registerObserver(observer);
sendConnectPacket();
return true;

View File

@@ -34,6 +34,7 @@ import android.util.Log;
import android.widget.Toast;
import org.kde.kdeconnect.Helpers.FilesHelper;
import org.kde.kdeconnect.Helpers.IntentHelper;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
@@ -170,7 +171,7 @@ public class SharePlugin extends Plugin {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(browserIntent);
IntentHelper.startActivityFromBackground(context, browserIntent, url);
}
private void receiveText(NetworkPacket np) {

View File

@@ -378,12 +378,6 @@ public class MainActivity extends AppCompatActivity implements SharedPreferences
}
}
public void reloadCurrentDevicePlugins() {
BackgroundService.RunCommand(this, service -> {
Device device = service.getDevice(mCurrentDevice);
device.reloadPluginsFromSettings();
});
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {

View File

@@ -1,68 +0,0 @@
/*
* Copyright 2019 Erik Duisters <e.duisters1@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kde.kdeconnect.UserInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.preference.PreferenceManager;
import org.kde.kdeconnect_tp.R;
public class NoticeAlertDialogFragment extends AlertDialogFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setCallback(new Callback() {
@Override
public void onPositiveButtonClicked() {
//TODO: Find a way to pass this callback from the Builder. For now, this is only used in one place and this is the callback needed.
MainActivity mainActivity = (MainActivity)requireActivity();
mainActivity.reloadCurrentDevicePlugins();
}
});
}
public static class Builder extends AbstractBuilder<Builder, NoticeAlertDialogFragment> {
public Builder() {
super();
setTitle(R.string.pref_plugin_clipboard);
setMessage(R.string.clipboard_android_x_incompat);
setPositiveButton(R.string.sad_ok);
}
@Override
public Builder getThis() {
return this;
}
@Override
protected NoticeAlertDialogFragment createFragment() {
return new NoticeAlertDialogFragment();
}
}
}