mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-09-03 07:35:08 +00:00
Compare commits
39 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ca90b64094 | ||
|
7b6d8a4c35 | ||
|
b725e81c37 | ||
|
17e9892c80 | ||
|
a8bc4f24c7 | ||
|
3b82cd44e4 | ||
|
79272a6042 | ||
|
12fb67a7aa | ||
|
d03520ce70 | ||
|
0453728407 | ||
|
7dc023385e | ||
|
a918f0cfe6 | ||
|
aada931d6a | ||
|
eed77c530b | ||
|
3b7edf2d2f | ||
|
37657388c6 | ||
|
360e4bc1cb | ||
|
b689548aa9 | ||
|
adac026dfa | ||
|
d513a5305a | ||
|
4d38f9753c | ||
|
18548fb6df | ||
|
fd5738aa99 | ||
|
7799f7e817 | ||
|
8db8937927 | ||
|
13e6f2d250 | ||
|
34db7f682f | ||
|
f7763bf5a9 | ||
|
fb2859c24d | ||
|
145fa4f009 | ||
|
e7f203ee3a | ||
|
c9feafb982 | ||
|
18c344bbc2 | ||
|
d73c8e914f | ||
|
86f4803083 | ||
|
eb875dceb0 | ||
|
3e85dd6160 | ||
|
f9bc3f8e0b | ||
|
35ac407aee |
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.kde.kdeconnect_tp"
|
||||
android:versionCode="11200"
|
||||
android:versionName="1.12">
|
||||
android:versionCode="11250"
|
||||
android:versionName="1.12.5">
|
||||
|
||||
<supports-screens
|
||||
android:anyDensity="true"
|
||||
@@ -22,15 +22,16 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
||||
<uses-permission android:name="android.permission.SEND_SMS" />
|
||||
<uses-permission android:name="android.permission.READ_SMS" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
||||
<uses-permission android:name="android.permission.SEND_SMS" />
|
||||
<uses-permission android:name="android.permission.READ_SMS" />
|
||||
|
||||
<application
|
||||
android:icon="@drawable/icon"
|
||||
|
@@ -36,12 +36,9 @@ android {
|
||||
}
|
||||
}
|
||||
packagingOptions {
|
||||
pickFirst "META-INF/DEPENDENCIES"
|
||||
pickFirst "META-INF/LICENSE"
|
||||
pickFirst "META-INF/NOTICE"
|
||||
pickFirst "META-INF/BCKEY.SF"
|
||||
pickFirst "META-INF/BCKEY.DSA"
|
||||
pickFirst "META-INF/INDEX.LIST"
|
||||
merge "META-INF/DEPENDENCIES"
|
||||
merge "META-INF/LICENSE"
|
||||
merge "META-INF/NOTICE"
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
|
@@ -127,11 +127,11 @@
|
||||
<string name="title_activity_notification_filter">مرشّح الإخطارات</string>
|
||||
<string name="filter_apps_info">ستُزامن الإخطارات من التّطبيقات المحدّدة.</string>
|
||||
<string name="sftp_internal_storage">التّخزين الدّاخليّ</string>
|
||||
<string name="sftp_all_files">كلّ الملفّات</string>
|
||||
<string name="sftp_sdcard_num">بطاقة SD %d</string>
|
||||
<string name="sftp_sdcard">بطاقة SD</string>
|
||||
<string name="sftp_readonly">(للقراءة فقط)</string>
|
||||
<string name="sftp_camera">صور الكاميرا</string>
|
||||
<string name="add_host">أضف مضيفًا/مإ</string>
|
||||
<string name="no_players_connected">لم يُعثر على مشغّلات</string>
|
||||
<string name="mpris_player_on_device">%1$s على %2$s</string>
|
||||
<string name="send_files">أرسل ملفّات</string>
|
||||
|
@@ -106,11 +106,11 @@
|
||||
<string name="title_activity_notification_filter">Filter napomena</string>
|
||||
<string name="filter_apps_info">Notifikacije će biti sinhronizovane s izabranim aplikacijama.</string>
|
||||
<string name="sftp_internal_storage">Unutrašnji smještaj</string>
|
||||
<string name="sftp_all_files">Sve fajlove</string>
|
||||
<string name="sftp_sdcard_num">SD kartica %d</string>
|
||||
<string name="sftp_sdcard">SD kartica</string>
|
||||
<string name="sftp_readonly">(samo za čitanje)</string>
|
||||
<string name="sftp_camera">Slike sa kamere</string>
|
||||
<string name="add_host">Dodaj host/IP</string>
|
||||
<string name="no_players_connected">Nema nađenih igrača</string>
|
||||
<string name="mpris_player_on_device">%1$s na %2$s</string>
|
||||
</resources>
|
||||
|
@@ -5,7 +5,7 @@
|
||||
<string name="foreground_notification_devices">Connectat a: %s</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">Informe de la bateria</string>
|
||||
<string name="pref_plugin_battery">Informa de la bateria</string>
|
||||
<string name="pref_plugin_battery_desc">Informa periòdicament sobre l\'estat de la bateria</string>
|
||||
<string name="pref_plugin_sftp">Exposa el sistema de fitxers</string>
|
||||
<string name="pref_plugin_sftp_desc">Permet navegar de forma remota pel sistema de fitxers del dispositiu</string>
|
||||
@@ -14,9 +14,9 @@
|
||||
<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>
|
||||
<string name="pref_plugin_presenter_desc">Useu el dispositiu per canviar les dispositives d\'una presentació</string>
|
||||
<string name="pref_plugin_remotekeyboard">S\'estan rebent pulsacions de tecla remotes</string>
|
||||
<string name="pref_plugin_remotekeyboard_desc">S\'estan rebent esdeveniments de pulsacions de tecla des de dispositius remots</string>
|
||||
<string name="pref_plugin_presenter_desc">Usa el dispositiu per a canviar les dispositives d\'una presentació</string>
|
||||
<string name="pref_plugin_remotekeyboard">Rep les pulsacions remotes de tecla</string>
|
||||
<string name="pref_plugin_remotekeyboard_desc">Rep els esdeveniments de pulsacions de tecla des de dispositius remots</string>
|
||||
<string name="pref_plugin_mpris">Controls multimèdia</string>
|
||||
<string name="pref_plugin_mpris_desc">Proporciona un comandament a distància pel reproductor multimèdia</string>
|
||||
<string name="pref_plugin_runcommand">Executa una ordre</string>
|
||||
@@ -24,10 +24,10 @@
|
||||
<string name="pref_plugin_contacts">Sincronitzador dels contactes</string>
|
||||
<string name="pref_plugin_contacts_desc">Permet sincronitzar la llibreta de contactes del dispositiu</string>
|
||||
<string name="pref_plugin_ping">Ping</string>
|
||||
<string name="pref_plugin_ping_desc">Envia i rep els pings</string>
|
||||
<string name="pref_plugin_ping_desc">Envia i rep els «ping»</string>
|
||||
<string name="pref_plugin_notifications">Sincronitza les notificacions</string>
|
||||
<string name="pref_plugin_notifications_desc">Accedeix a les vostres notificacions des d\'altres dispositius</string>
|
||||
<string name="pref_plugin_receive_notifications">Recepció de les notificacions</string>
|
||||
<string name="pref_plugin_receive_notifications">Rep les notificacions</string>
|
||||
<string name="pref_plugin_receive_notifications_desc">Rep notificacions des d\'altres dispositius i mostrar-los a l\'Android</string>
|
||||
<string name="pref_plugin_sharereceiver">Comparteix i rep</string>
|
||||
<string name="pref_plugin_sharereceiver_desc">Comparteix els fitxers i els URL entre els dispositius</string>
|
||||
@@ -38,6 +38,7 @@
|
||||
<string name="open_settings">Obre l\'arranjament</string>
|
||||
<string name="no_permissions">Us caldrà concedir permís per accedir a les notificacions</string>
|
||||
<string name="no_permission_mprisreceiver">Per a poder controlar els reproductors multimèdia cal atorgar accés a les notificacions</string>
|
||||
<string name="no_permissions_remotekeyboard">Per a rebre les pulsacions de tecles, haureu d\'activar el teclat remot del KDE Connect</string>
|
||||
<string name="send_ping">Envia un ping</string>
|
||||
<string name="open_mpris_controls">Control multimèdia</string>
|
||||
<string name="remotekeyboard_editing_only_title">Fes servir les tecles remotes només en editar</string>
|
||||
@@ -184,13 +185,32 @@
|
||||
<string name="title_activity_notification_filter">Filtre per a les notificacions</string>
|
||||
<string name="filter_apps_info">Les notificacions se sincronitzaran per a les aplicacions seleccionades.</string>
|
||||
<string name="sftp_internal_storage">Emmagatzematge intern</string>
|
||||
<string name="sftp_all_files">Tots els fitxers</string>
|
||||
<string name="sftp_sdcard_num">Targeta SD %d</string>
|
||||
<string name="sftp_sdcard">Targeta SD</string>
|
||||
<string name="sftp_readonly">(només de lectura)</string>
|
||||
<string name="sftp_camera">Imatges de la càmera</string>
|
||||
<string name="add_device_dialog_title">Afegeix un dispositiu</string>
|
||||
<string name="add_device_hint">Nom de la màquina o adreça IP</string>
|
||||
<string name="sftp_preference_detected_sdcards">S\'han detectat targetes SD</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Edita una targeta SD</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Ubicacions d\'emmagatzematge configurades</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Afegeix una ubicació d\'emmagatzematge</string>
|
||||
<string name="sftp_preference_edit_storage_location">Edita una ubicació d\'emmagatzematge</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Afegeix una drecera a la carpeta de càmera</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Afegeix una drecera a la carpeta de la càmera</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">No afegeixis cap drecera a la carpeta de la càmera</string>
|
||||
<string name="sftp_storage_preference_storage_location">Ubicació d\'emmagatzematge</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Aquesta ubicació ja s\'ha configurat</string>
|
||||
<string name="sftp_storage_preference_click_to_select">clic per seleccionar</string>
|
||||
<string name="sftp_storage_preference_display_name">Nom a mostrar</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Aquest nom a mostrar ja està en ús</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">El nom a mostrar no pot estar buit</string>
|
||||
<string name="sftp_action_mode_menu_delete">Suprimeix</string>
|
||||
<string name="sftp_no_sdcard_detected">No s\'ha detectat cap targeta SD</string>
|
||||
<string name="sftp_no_storage_locations_configured">No s\'ha configurat cap ubicació d\'emmagatzematge</string>
|
||||
<string name="sftp_saf_permission_explanation">Per accedir remotament als fitxer cal configurar les ubicacions d\'emmagatzematge</string>
|
||||
<string name="add_host">Afegeix una màquina/IP</string>
|
||||
<string name="add_host_hint">Nom de la màquina o IP</string>
|
||||
<string name="no_players_connected">No s\'ha trobat cap reproductor</string>
|
||||
<string name="mpris_player_on_device">%1$s sobre el %2$s</string>
|
||||
<string name="send_files">Envia els fitxers</string>
|
||||
@@ -209,7 +229,7 @@
|
||||
<string name="findmyphone_title">Troba el meu telèfon</string>
|
||||
<string name="findmyphone_title_tablet">Troba la meva tauleta</string>
|
||||
<string name="findmyphone_title_tv">Troba la meva TV</string>
|
||||
<string name="findmyphone_description">Fa sonar aquest dispositiu perquè el pugueu trobar.</string>
|
||||
<string name="findmyphone_description">Fa sonar aquest dispositiu perquè el pugueu trobar</string>
|
||||
<string name="findmyphone_found">L\'he trobat</string>
|
||||
<string name="open">Obre</string>
|
||||
<string name="close">Tanca</string>
|
||||
@@ -218,7 +238,6 @@
|
||||
<string name="permission_explanation">Aquest connector necessita permisos per a funcionar</string>
|
||||
<string name="optional_permission_explanation">Us caldrà concedir permisos extres per accedir a totes les característiques</string>
|
||||
<string name="plugins_need_optional_permission">Alguns connectors tenen característiques desactivades per la falta de permís (puntegeu per a més informació):</string>
|
||||
<string name="sftp_permission_explanation">Per accedir als fitxers des del PC, l\'aplicació necessita permís per accedir a l\'emmagatzematge del telèfon</string>
|
||||
<string name="share_optional_permission_explanation">Per a compartir fitxers entre el telèfon i l\'escriptori, haureu de donar accés a l\'emmagatzematge del telèfon</string>
|
||||
<string name="telepathy_permission_explanation">Per a llegir i escriure SMS des de l\'escriptori, haureu de donar permís als SMS</string>
|
||||
<string name="telephony_permission_explanation">Per a veure les trucades telefòniques i SMS des de l\'escriptori, haureu de donar permís a les trucades telefòniques i SMS</string>
|
||||
@@ -273,6 +292,6 @@
|
||||
<string name="block_contents">Bloca el contingut de les notificacions</string>
|
||||
<string name="block_images">Bloca les imatges a les notificacions</string>
|
||||
<string name="notification_channel_receivenotification">Notificacions des d\'altres dispositius</string>
|
||||
<string name="take_picture">Pren una fotografia</string>
|
||||
<string name="plugin_photo_desc">Pren una fotografia i l\'envia a un altre dispositiu</string>
|
||||
<string name="take_picture">Llança la càmera</string>
|
||||
<string name="plugin_photo_desc">Llança l\'aplicació de la càmera per facilitar la presa i la transferència de fotografies</string>
|
||||
</resources>
|
||||
|
@@ -189,11 +189,12 @@
|
||||
<string name="title_activity_notification_filter">Filtr upozornění</string>
|
||||
<string name="filter_apps_info">Upozorňování mezi vybranými aplikacemi bude synchronizováno.</string>
|
||||
<string name="sftp_internal_storage">Interní úložiště</string>
|
||||
<string name="sftp_all_files">Všechny soubory</string>
|
||||
<string name="sftp_sdcard_num">SD karta %d</string>
|
||||
<string name="sftp_sdcard">SD karta</string>
|
||||
<string name="sftp_readonly">(pouze ke čtení)</string>
|
||||
<string name="sftp_camera">Obrázky z fotoaparátu</string>
|
||||
<string name="add_host">Přidat stroj/IP</string>
|
||||
<string name="add_host_hint">Název hostitele nebo IP</string>
|
||||
<string name="no_players_connected">Přehrávač nenalezen</string>
|
||||
<string name="mpris_player_on_device">%1$s na %2$s</string>
|
||||
<string name="send_files">Odeslat soubory</string>
|
||||
@@ -221,7 +222,6 @@
|
||||
<string name="permission_explanation">Tento modul potřebuje pro práci povolení</string>
|
||||
<string name="optional_permission_explanation">Pro zpřístupnění všech funkcí potřebujete další oprávnění</string>
|
||||
<string name="plugins_need_optional_permission">Některé moduly mají vypnuté vlastnosti, kvůli nedostatečným oprávněním (ťukněte pro více informací):</string>
|
||||
<string name="sftp_permission_explanation">Pro přístup k souborům z vašeho počítače aplikace potřebuje oprávnění k úložišti telefonu</string>
|
||||
<string name="share_optional_permission_explanation">Pro sdílení souborů mezi telefonem a počítačem potřebujete udělit oprávnění k úložišti telefonu</string>
|
||||
<string name="telepathy_permission_explanation">Pro čtení a psaní SMS z počítače musíte udělit oprávnění k SMS</string>
|
||||
<string name="telephony_permission_explanation">Pro zobrazení telefonátů a SMS v počítači musíte udělit oprávnění k telefonování a SMS</string>
|
||||
|
@@ -139,11 +139,11 @@
|
||||
<string name="title_activity_notification_filter">Bekendtgørelsesfilter</string>
|
||||
<string name="filter_apps_info">Bekendtgørelser vil blive synkroniseret for de valgte apps.</string>
|
||||
<string name="sftp_internal_storage">Intern lagring</string>
|
||||
<string name="sftp_all_files">Alle filer</string>
|
||||
<string name="sftp_sdcard_num">SD-kort %d</string>
|
||||
<string name="sftp_sdcard">SD-kort</string>
|
||||
<string name="sftp_readonly">(skrivebeskyttet)</string>
|
||||
<string name="sftp_camera">Kamerabilleder</string>
|
||||
<string name="add_host">Tilføj vært/IP</string>
|
||||
<string name="no_players_connected">Ingen afspillere fundet</string>
|
||||
<string name="mpris_player_on_device">%1$s på %2$s</string>
|
||||
<string name="send_files">Send filer</string>
|
||||
@@ -170,7 +170,6 @@
|
||||
<string name="permission_explanation">Dette plugin kræver tilladelser for at virke</string>
|
||||
<string name="optional_permission_explanation">Du skal give ekstra tilladelser for at aktivere alle funktioner</string>
|
||||
<string name="plugins_need_optional_permission">Nogle plugins har deaktiverede funktioner pga. manglende tilladelser (tap for mere info):</string>
|
||||
<string name="sftp_permission_explanation">For at tilgå filerne fra din pc, skal app\'en have tilladelse til at til gå telefonens datalager</string>
|
||||
<string name="share_optional_permission_explanation">For at dele filer mellem din telefon og din desktop skal du give adgang til telefonens datalager.</string>
|
||||
<string name="telepathy_permission_explanation">For at læse og skrive sms\'er fra din desktop, skal du give tilladelse til sms</string>
|
||||
<string name="telephony_permission_explanation">For at se telefonopkald og sms\'er fra desktoppen, skal du give tilladelse til telefonopkald og sms.</string>
|
||||
|
@@ -150,11 +150,11 @@
|
||||
<string name="title_activity_notification_filter">Benachrichtigungs-Filter</string>
|
||||
<string name="filter_apps_info">Benachrichtigungen werden zwischen den ausgewählten Anwendungen abgeglichen.</string>
|
||||
<string name="sftp_internal_storage">Interner Speicher</string>
|
||||
<string name="sftp_all_files">Alle Dateien</string>
|
||||
<string name="sftp_sdcard_num">SD-Karte %d</string>
|
||||
<string name="sftp_sdcard">SD-Karte</string>
|
||||
<string name="sftp_readonly">(Nur lesen)</string>
|
||||
<string name="sftp_camera">Kamerabilder</string>
|
||||
<string name="add_host">Rechner/IP-Adresse hinzufügen</string>
|
||||
<string name="no_players_connected">Keine Medienspieler gefunden</string>
|
||||
<string name="mpris_player_on_device">%1$s auf %2$s</string>
|
||||
<string name="send_files">Dateien senden</string>
|
||||
@@ -182,7 +182,6 @@
|
||||
<string name="permission_explanation">Dieses Modul benötigt zusätzliche Berechtigungen</string>
|
||||
<string name="optional_permission_explanation">Es müssen weitere Berechtigungen erteilt werden, um alle Funktionen nutzen zu können</string>
|
||||
<string name="plugins_need_optional_permission">Einige Module haben eingeschränkte Funktionen wegen fehlender Berechtigungen, tippen Sie für weitere Informationen:</string>
|
||||
<string name="sftp_permission_explanation">Um vom Rechner auf den Telefonspeicher zuzugreifen, werden weitere Berechtigungen benötigt</string>
|
||||
<string name="share_optional_permission_explanation">m Dateien zwischen Rechner und Telefon auszutauschen, muss der Zugriff auf den Telefonspeicher gewährt werden</string>
|
||||
<string name="telepathy_permission_explanation">Um SMS vom Rechner aus zu lesen und zu versenden, muss der Zugriff auf die SMS-Funktion gewährt werden</string>
|
||||
<string name="telephony_permission_explanation">Um Telefonate und SMS auf dem Rechner zu sehen, müssen Berechtigungen für Anrufe und SMS erteilt werden</string>
|
||||
|
@@ -139,11 +139,11 @@
|
||||
<string name="title_activity_notification_filter">Φιλτράρισμα ειδοποιήσεων</string>
|
||||
<string name="filter_apps_info">Οι ειδοποιήσεις θα συγχρονίζονται για επιλεγμένες εφαρμογές.</string>
|
||||
<string name="sftp_internal_storage">Εσωτερικός αποθηκευτικός χώρος</string>
|
||||
<string name="sftp_all_files">Όλα τα αρχεία</string>
|
||||
<string name="sftp_sdcard_num">SD card %d</string>
|
||||
<string name="sftp_sdcard">SD card</string>
|
||||
<string name="sftp_readonly">(ανάγνωση μόνο)</string>
|
||||
<string name="sftp_camera">Φωτογραφίες</string>
|
||||
<string name="add_host">Προσθήκη υπολογιστή/IP</string>
|
||||
<string name="no_players_connected">Δεν βρέθηκαν συσκευές αναπαραγωγής</string>
|
||||
<string name="mpris_player_on_device">%1$s σε %2$s</string>
|
||||
<string name="send_files">Αποστολή αρχείων</string>
|
||||
@@ -170,7 +170,6 @@
|
||||
<string name="permission_explanation">Αυτό το πρόσθετο χρειάζεται δικαιώματα για να λειτουργήσει</string>
|
||||
<string name="optional_permission_explanation">Απαιτείται παραχώρηση επιπλέον δικαιωμάτων για την ενεργοποίηση όλων των λειτουργιών</string>
|
||||
<string name="plugins_need_optional_permission">Κάποια πρόσθετα έχουν λειτουργίες ανενεργές εξαιτίας της απουσίας δικαιωμάτων (χτυπήστε για περισσότερες πληροφορίες):</string>
|
||||
<string name="sftp_permission_explanation">Για την πρόσβαση στα αρχεία σας από τον υπολογιστή η εφαρμογή χρειάζεται δικαιώματα πρόσβασης στον αποθηκευτικό χώρο του κινητού σας</string>
|
||||
<string name="share_optional_permission_explanation">Για το διαμοιρασμό αρχείων ανάμεσα στο τηλέφωνο και τον υπολογιστή σας χρειάζεται να παραχωρήσετε πρόσβαση στον αποθηκευτικό χώρο του τηλεφώνου σας</string>
|
||||
<string name="telepathy_permission_explanation">Για να διαβάσετε και να γράψετε SMS από την επιφάνεια εργασίας, χρειάζεται να δώσετε δικαιώματα στο SMS</string>
|
||||
<string name="telephony_permission_explanation">Για να δείτε τηλεφωνικές κλήσεις και SMS από την επιφάνεια εργασίας, χρειάζεται να παραχωρήσετε δικαιώματα σε τηλεφωνικές κλήσεις και SMS</string>
|
||||
|
@@ -161,11 +161,11 @@
|
||||
<string name="title_activity_notification_filter">Notification filter</string>
|
||||
<string name="filter_apps_info">Notifications will be synchronised for the selected apps.</string>
|
||||
<string name="sftp_internal_storage">Internal storage</string>
|
||||
<string name="sftp_all_files">All files</string>
|
||||
<string name="sftp_sdcard_num">SD card %d</string>
|
||||
<string name="sftp_sdcard">SD card</string>
|
||||
<string name="sftp_readonly">(read only)</string>
|
||||
<string name="sftp_camera">Camera pictures</string>
|
||||
<string name="add_host">Add host/IP</string>
|
||||
<string name="no_players_connected">No players found</string>
|
||||
<string name="mpris_player_on_device">%1$s on %2$s</string>
|
||||
<string name="send_files">Send files</string>
|
||||
@@ -193,7 +193,6 @@
|
||||
<string name="permission_explanation">This plugin needs permissions to work</string>
|
||||
<string name="optional_permission_explanation">You need to grant extra permissions to enable all functions</string>
|
||||
<string name="plugins_need_optional_permission">Some plugins have features disabled because of lack of permission (tap for more info):</string>
|
||||
<string name="sftp_permission_explanation">To access your files from your PC the app needs permission to access your phone\'s storage</string>
|
||||
<string name="share_optional_permission_explanation">To share files between your phone and your desktop you need to give access to the phone\'s storage</string>
|
||||
<string name="telepathy_permission_explanation">To read and write SMS from your desktop you need to give permission to SMS</string>
|
||||
<string name="telephony_permission_explanation">To see phone calls and SMS from the desktop you need to give permission to phone calls and SMS</string>
|
||||
|
@@ -184,13 +184,32 @@
|
||||
<string name="title_activity_notification_filter">Filtro de notificaciones</string>
|
||||
<string name="filter_apps_info">Las notificaciones se sincronizarán en las aplicaciones seleccionadas.</string>
|
||||
<string name="sftp_internal_storage">Almacenamiento interno</string>
|
||||
<string name="sftp_all_files">Todos los archivos</string>
|
||||
<string name="sftp_sdcard_num">Tarjeta SD %d</string>
|
||||
<string name="sftp_sdcard">Tarjeta SD</string>
|
||||
<string name="sftp_readonly">(solo lectura)</string>
|
||||
<string name="sftp_camera">Imágenes de la cámara</string>
|
||||
<string name="add_device_dialog_title">Añadir dispositivo</string>
|
||||
<string name="add_device_hint">Nombre o dirección IP</string>
|
||||
<string name="sftp_preference_detected_sdcards">Tarjetas SD detectadas</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Editar tarjeta SD</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Localizaciones de almacenamiento configuradas</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Añadir localización de almacenamiento</string>
|
||||
<string name="sftp_preference_edit_storage_location">Editar localización de almacenamiento</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Añadir acceso rápido a la carpeta de la cámara</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Añadir un acceso rápido a la carpeta de la cámara</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">No añadir un acceso rápido a la carpeta de la cámara</string>
|
||||
<string name="sftp_storage_preference_storage_location">Localización de almacenamiento</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Esta localización ya ha sido configurada</string>
|
||||
<string name="sftp_storage_preference_click_to_select">pulsar para seleccionar</string>
|
||||
<string name="sftp_storage_preference_display_name">Mostrar nombre</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Este nombre de dispositivo ya está en uso</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">El nombre de dispositivo no puede estar vacío</string>
|
||||
<string name="sftp_action_mode_menu_delete">Borrar</string>
|
||||
<string name="sftp_no_sdcard_detected">No se ha detectado ninguna tarjeta SD</string>
|
||||
<string name="sftp_no_storage_locations_configured">No hay configurada ninguna localización de almacenamiento</string>
|
||||
<string name="sftp_saf_permission_explanation">Para acceder a los archivos remotamente debe configurar las localizaciones de almacenamiento</string>
|
||||
<string name="add_host">Añadir servidor/IP</string>
|
||||
<string name="add_host_hint">Nombre o IP</string>
|
||||
<string name="no_players_connected">Ningún reproductor encontrado</string>
|
||||
<string name="mpris_player_on_device">%1$s en %2$s</string>
|
||||
<string name="send_files">Enviar archivos</string>
|
||||
@@ -218,7 +237,6 @@
|
||||
<string name="permission_explanation">Este complemento necesita permisos para funcionar</string>
|
||||
<string name="optional_permission_explanation">Debe otorgar permisos extra para activar todas las funciones</string>
|
||||
<string name="plugins_need_optional_permission">Algunos complementos tienen funcionalidades desactivadas por falta de permisos (pulse para más información):</string>
|
||||
<string name="sftp_permission_explanation">Para acceder a sus archivos desde su equipo, la aplicación necesita permisos para acceder al almacenamiento de su teléfono</string>
|
||||
<string name="share_optional_permission_explanation">Para compartir archivos entre su teléfono y su escritorio, necesita dar acceso al almacenamiento de su teléfono</string>
|
||||
<string name="telepathy_permission_explanation">Para leer y escribir SMS desde su escritorio, necesita dar permisos para SMS</string>
|
||||
<string name="telephony_permission_explanation">Para ver las llamadas telefónicas y SMS desde su escritorio, necesita dar permisos para llamadas telefónicas y SMS</string>
|
||||
@@ -273,4 +291,6 @@
|
||||
<string name="block_contents">Bloquear el contenido de las notificaciones</string>
|
||||
<string name="block_images">Bloquear las imágenes en las notificaciones</string>
|
||||
<string name="notification_channel_receivenotification">Notificaciones desde otros dispositivos</string>
|
||||
<string name="take_picture">Lanzar cámara</string>
|
||||
<string name="plugin_photo_desc">Lanzar la aplicación de la cámara para facilitar tomar y transferir imágenes</string>
|
||||
</resources>
|
||||
|
@@ -133,11 +133,11 @@
|
||||
<string name="title_activity_notification_filter">Märguannete filter</string>
|
||||
<string name="filter_apps_info">Valitud rakenduste märguanded sünkroonitakse</string>
|
||||
<string name="sftp_internal_storage">Sisemine salvesti</string>
|
||||
<string name="sftp_all_files">Kõik failid</string>
|
||||
<string name="sftp_sdcard_num">SD-kaart %d</string>
|
||||
<string name="sftp_sdcard">SD-kaart</string>
|
||||
<string name="sftp_readonly">(kirjutuskaitstud)</string>
|
||||
<string name="sftp_camera">Kaamera pildid</string>
|
||||
<string name="add_host">Lisa masin/IP</string>
|
||||
<string name="no_players_connected">Ühtegi mängijat ei leitud</string>
|
||||
<string name="mpris_player_on_device">%1$s seadmes %2$s</string>
|
||||
<string name="send_files">Saada faile</string>
|
||||
|
@@ -179,11 +179,11 @@
|
||||
<string name="title_activity_notification_filter">Jakinarazpenen iragazkia</string>
|
||||
<string name="filter_apps_info">Aukeratutako aplikazioen jakinarazpenak sinkronizatuko dira</string>
|
||||
<string name="sftp_internal_storage">Barne biltegiratzea</string>
|
||||
<string name="sftp_all_files">Fitxategi guztiak</string>
|
||||
<string name="sftp_sdcard_num">%d SD txartela</string>
|
||||
<string name="sftp_sdcard">SD txartela</string>
|
||||
<string name="sftp_readonly">(irakurri soilik)</string>
|
||||
<string name="sftp_camera">Kamerako irudiak</string>
|
||||
<string name="add_host">Gehitu ostalaria/IP</string>
|
||||
<string name="no_players_connected">Ez da jokalaririk aurkitu</string>
|
||||
<string name="mpris_player_on_device">%1$s - %2$s</string>
|
||||
<string name="send_files">Bidali fitxategiak</string>
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="permission_explanation">Plugin honek baimena behar du funtzionatzeko</string>
|
||||
<string name="optional_permission_explanation">Baimen gehiago eman behar dituzu funtzio guztiak gaitzeko</string>
|
||||
<string name="plugins_need_optional_permission">Plugin batzuek desgaitutako eginbideak dituzte baimenak faltan dituztelako (tak egin informazio gehiagorako):</string>
|
||||
<string name="sftp_permission_explanation">Zure fitxategiak PCtik atzitzeko aplikazioak zure telefonoaren biltegiratzea atzitzeko baimena behar du</string>
|
||||
<string name="share_optional_permission_explanation">Zure telefonoa eta mahaigainaren artean fitxategiak partekatzeko telefonoaren biltegiratzea atzitzeko baimena eman behar duzu</string>
|
||||
<string name="telepathy_permission_explanation">SMSak zure mahaigainetik bidali ahal izateko, SMSak erabiltzeko baimena eman behar duzu</string>
|
||||
<string name="telephony_permission_explanation">Telefono deiak eta SMSak zure mahaigainetik ikusteko, telefono deiak eta SMSak erabiltzeko baimena eman behar duzu</string>
|
||||
|
@@ -179,11 +179,11 @@
|
||||
<string name="title_activity_notification_filter">Ilmoitussuodatin</string>
|
||||
<string name="filter_apps_info">Valittujen sovellusten ilmoitukset synkronoidaan.</string>
|
||||
<string name="sftp_internal_storage">Sisäinen muisti</string>
|
||||
<string name="sftp_all_files">Kaikki tiedostot</string>
|
||||
<string name="sftp_sdcard_num">SD-kortti %d</string>
|
||||
<string name="sftp_sdcard">SD-kortti</string>
|
||||
<string name="sftp_readonly">(vain luku)</string>
|
||||
<string name="sftp_camera">Kamerakuvat</string>
|
||||
<string name="add_host">Lisää kone/IP</string>
|
||||
<string name="no_players_connected">Soittimia ei löytynyt</string>
|
||||
<string name="mpris_player_on_device">%1$s laitteella %2$s</string>
|
||||
<string name="send_files">Lähetä tiedostoja</string>
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="permission_explanation">Liitännäinen tarvitsee toimiakseen lisäkäyttöoikeuksia</string>
|
||||
<string name="optional_permission_explanation">Kaikkien toimintojen käyttämiseksi sinun on annettava lisäkäyttöoikeuksia</string>
|
||||
<string name="plugins_need_optional_permission">Jotkin liitännäisten ominaisuudet eivät ole käytössä puuttuvien käyttöoikeuksien takia (lisätietoa napsauttamalla):</string>
|
||||
<string name="sftp_permission_explanation">Sovellus tarvitsee puhelimen tallennustilan käyttöoikeudet voidakseen käyttää tietokoneesi tiedostoja</string>
|
||||
<string name="share_optional_permission_explanation">Jakaaksesi tiedostoja puhelimen ja työpöydän välillä sinun on annettava käyttöoikeudet puhelimen tallennustilaan</string>
|
||||
<string name="telepathy_permission_explanation">Lukeaksesi ja lähettääksesi tekstiviestejä työpöydältä sinun on annettava käyttöoikeudet tekstiviesteihin</string>
|
||||
<string name="telephony_permission_explanation">Nähdäksesi soitot ja tekstiviestit työpöydältä sinun on annettava käyttöoikeudet puheluihin ja tekstiviesteihin</string>
|
||||
|
@@ -179,11 +179,12 @@
|
||||
<string name="title_activity_notification_filter">Filtre des notifications</string>
|
||||
<string name="filter_apps_info">Les notifications seront synchronisées pour les applications sélectionnées.</string>
|
||||
<string name="sftp_internal_storage">Stockage interne</string>
|
||||
<string name="sftp_all_files">Tous les fichiers</string>
|
||||
<string name="sftp_sdcard_num">Carte SD %d</string>
|
||||
<string name="sftp_sdcard">Carte SD</string>
|
||||
<string name="sftp_readonly">(lecture seule)</string>
|
||||
<string name="sftp_camera">Images de l\'appareil photo</string>
|
||||
<string name="add_host">Ajouter hôte/IP</string>
|
||||
<string name="add_host_hint">"Nom d\'hôte ou adresse IP "</string>
|
||||
<string name="no_players_connected">Aucun lecteur trouvé</string>
|
||||
<string name="mpris_player_on_device">%1$s sur %2$s</string>
|
||||
<string name="send_files">Envoyer des fichiers</string>
|
||||
@@ -211,7 +212,6 @@
|
||||
<string name="permission_explanation">Ce module externe nécessite des permissions pour fonctionner</string>
|
||||
<string name="optional_permission_explanation">Vous devez accorder des permissions supplémentaires pour activer toutes les fonctionnalités</string>
|
||||
<string name="plugins_need_optional_permission">Certaines fonctionnalités de modules externes sont désactivées faute de permissions suffisantes (tapez pour plus d\'informations) :</string>
|
||||
<string name="sftp_permission_explanation">Pour accéder aux fichiers de votre ordinateur, l\'application requiert la permission d\'accéder à la mémoire de stockage de votre téléphone</string>
|
||||
<string name="share_optional_permission_explanation">Pour partager des fichiers entre votre téléphone et votre ordinateur, veuillez permettre l\'accès à la mémoire de stockage du téléphone</string>
|
||||
<string name="telepathy_permission_explanation">Pour lire et écrire des SMS depuis votre ordinateur, veuillez permettre l\'accès aux SMS</string>
|
||||
<string name="telephony_permission_explanation">Pour voir les appels et les SMS depuis votre ordinateur, veuillez permettre l\'accès aux appels et aux SMS</string>
|
||||
|
@@ -24,20 +24,21 @@
|
||||
<string name="pref_plugin_contacts">Sincronizador de contactos</string>
|
||||
<string name="pref_plugin_contacts_desc">Permitir sincronizar o caderno de contactos do dispositivo</string>
|
||||
<string name="pref_plugin_ping">Ping</string>
|
||||
<string name="pref_plugin_ping_desc">Envíe e reciba pings.</string>
|
||||
<string name="pref_plugin_ping_desc">Envíe e reciba pings</string>
|
||||
<string name="pref_plugin_notifications">Sincronización de notificacións</string>
|
||||
<string name="pref_plugin_notifications_desc">Acceda ás súas notificacións desde outros dispositivos.</string>
|
||||
<string name="pref_plugin_notifications_desc">Acceda ás súas notificacións desde outros dispositivos</string>
|
||||
<string name="pref_plugin_receive_notifications">Recibir notificacións</string>
|
||||
<string name="pref_plugin_receive_notifications_desc">Recibir notificacións do outro dispositivo e mostralas en Android.</string>
|
||||
<string name="pref_plugin_receive_notifications_desc">Recibir notificacións do outro dispositivo e mostralas en Android</string>
|
||||
<string name="pref_plugin_sharereceiver">Compartir e recibir</string>
|
||||
<string name="pref_plugin_sharereceiver_desc">Comparta ficheiros e enderezos URL entre dispositivos.</string>
|
||||
<string name="plugin_not_available">Esta funcionalidade non está dispoñíbel para a súa versión de Android.</string>
|
||||
<string name="pref_plugin_sharereceiver_desc">Comparta ficheiros e enderezos URL entre dispositivos</string>
|
||||
<string name="plugin_not_available">Esta funcionalidade non está dispoñíbel para a súa versión de Android</string>
|
||||
<string name="device_list_empty">Non hai dispositivos.</string>
|
||||
<string name="ok">Aceptar</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="open_settings">Abrir a configuración</string>
|
||||
<string name="no_permissions">Debe conceder permisos para acceder ás notificacións.</string>
|
||||
<string name="no_permission_mprisreceiver">Para poder controlar os seus reprodutores de son e vídeo ten que garantir acceso ás notificacións.</string>
|
||||
<string name="no_permissions">Debe conceder permisos para acceder ás notificacións</string>
|
||||
<string name="no_permission_mprisreceiver">Para poder controlar os seus reprodutores de son e vídeo ten que garantir acceso ás notificacións</string>
|
||||
<string name="no_permissions_remotekeyboard">Para recibir presións de tecla ten que activar o teclado remoto de KDE Connect</string>
|
||||
<string name="send_ping">Enviar un ping</string>
|
||||
<string name="open_mpris_controls">Control multimedia</string>
|
||||
<string name="remotekeyboard_editing_only_title">Xestionar teclas remotas só ao editar.</string>
|
||||
@@ -184,13 +185,32 @@
|
||||
<string name="title_activity_notification_filter">Filtro de notificacións</string>
|
||||
<string name="filter_apps_info">As notificacións sincronizaranse para os seguintes aplicativos.</string>
|
||||
<string name="sftp_internal_storage">Almacenamento interno</string>
|
||||
<string name="sftp_all_files">Todos os ficheiros</string>
|
||||
<string name="sftp_sdcard_num">Tarxeta SD %d</string>
|
||||
<string name="sftp_sdcard">Tarxeta SD</string>
|
||||
<string name="sftp_readonly">(só lectura)</string>
|
||||
<string name="sftp_camera">Imaxes da cámara</string>
|
||||
<string name="add_device_dialog_title">Engadir o dispositivo</string>
|
||||
<string name="add_device_hint">Nome de máquina ou enderezo IP</string>
|
||||
<string name="sftp_preference_detected_sdcards">Tarxetas SD detectadas</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Editar a tarxeta SD</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Lugares de almacenamento configurados</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Engadir un lugar de almacenamento</string>
|
||||
<string name="sftp_preference_edit_storage_location">Editar un lugar de almacenamento</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Engadir un atallo ao cartafol de cámara</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Engadir un atallo ao cartafol da cámara</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">Non engadir un atallo ao cartafol da cámara</string>
|
||||
<string name="sftp_storage_preference_storage_location">Lugar de almacenamento</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Este lugar xa está configurado</string>
|
||||
<string name="sftp_storage_preference_click_to_select">premer para seleccionar</string>
|
||||
<string name="sftp_storage_preference_display_name">Nome para mostrar</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Este nome para mostrar xa está a usarse</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">O nome para mostrar non pode estar baleiro</string>
|
||||
<string name="sftp_action_mode_menu_delete">Eliminar</string>
|
||||
<string name="sftp_no_sdcard_detected">Non se detectaron tarxetas SD</string>
|
||||
<string name="sftp_no_storage_locations_configured">Non se configuraron localizacións de almacenamento</string>
|
||||
<string name="sftp_saf_permission_explanation">Para acceder a ficheiro remotamente ten que configurar lugares de almacenamento</string>
|
||||
<string name="add_host">Engadir unha nome ou IP</string>
|
||||
<string name="add_host_hint">Nome de máquina ou IP</string>
|
||||
<string name="no_players_connected">Non se atoparon reprodutores.</string>
|
||||
<string name="mpris_player_on_device">%1$s en %2$s</string>
|
||||
<string name="send_files">Enviar ficheiros</string>
|
||||
@@ -204,7 +224,7 @@
|
||||
<string name="on_data_message">Parece que está usando unha conexión de datos de móbil. KDE Connect só funciona en redes locais.</string>
|
||||
<string name="no_file_browser">Non hai navegadores de ficheiros instalados.</string>
|
||||
<string name="pref_plugin_telepathy">Enviar unha mensaxe de texto</string>
|
||||
<string name="pref_plugin_telepathy_desc">Enviar mensaxes de texto desde un computador de escritorio.</string>
|
||||
<string name="pref_plugin_telepathy_desc">Enviar mensaxes de texto desde o seu escritorio</string>
|
||||
<string name="plugin_not_supported">O dispositivo non é compatíbel con este complemento.</string>
|
||||
<string name="findmyphone_title">Atopar o móbil</string>
|
||||
<string name="findmyphone_title_tablet">Atopar a tableta</string>
|
||||
@@ -218,7 +238,6 @@
|
||||
<string name="permission_explanation">Este complemento necesita permisos para funcionar.</string>
|
||||
<string name="optional_permission_explanation">Ten que conceder permisos adicionais para activar todas as funcións.</string>
|
||||
<string name="plugins_need_optional_permission">Algúns complementos teñen funcionalidades desactivadas por mor dunha falta de permisos (toque para máis información):</string>
|
||||
<string name="sftp_permission_explanation">Para acceder aos seus ficheiros desde o computador o aplicativo necesita permiso para acceder ao almacenamento do teléfono.</string>
|
||||
<string name="share_optional_permission_explanation">Para compartir ficheiros entre o teléfono e o escritorio ten que dar acceso ao almacenamento do teléfono.</string>
|
||||
<string name="telepathy_permission_explanation">Para ler e escribir SMS desde o escritorio ten que dar permiso de SMS.</string>
|
||||
<string name="telephony_permission_explanation">Para ver as chamadas de teléfono e os SMS desde o escritorio ten que dar permiso a chamadas de teléfono e a SMS.</string>
|
||||
@@ -273,6 +292,6 @@
|
||||
<string name="block_contents">Bloquear o contido das notificacións</string>
|
||||
<string name="block_images">Bloquear as imaxes nas notificacións</string>
|
||||
<string name="notification_channel_receivenotification">Notificacións desde outros dispositivos</string>
|
||||
<string name="take_picture">Sacar unha foto</string>
|
||||
<string name="plugin_photo_desc">Sacar unha foto e enviala a outro dispositivo</string>
|
||||
<string name="take_picture">Iniciar a cámara</string>
|
||||
<string name="plugin_photo_desc">Iniciar o aplicativo da cámara para facilitar sacar e transferir imaxes</string>
|
||||
</resources>
|
||||
|
@@ -139,11 +139,11 @@
|
||||
<string name="title_activity_notification_filter">סנן התראות</string>
|
||||
<string name="filter_apps_info">התראות יסונכרנו רק לאפליקציות נבחרות</string>
|
||||
<string name="sftp_internal_storage">זיכרון פנימי</string>
|
||||
<string name="sftp_all_files">כל הקבצים</string>
|
||||
<string name="sftp_sdcard_num">כרטיס זיכרון %d</string>
|
||||
<string name="sftp_sdcard">כרטיס זיכרון</string>
|
||||
<string name="sftp_readonly">(לקריאה בלבד)</string>
|
||||
<string name="sftp_camera">תמונות מצלמה</string>
|
||||
<string name="add_host">הוסף כתובת או IP</string>
|
||||
<string name="no_players_connected">לא נמצא נגן</string>
|
||||
<string name="mpris_player_on_device">%1$s אצל %2$s</string>
|
||||
<string name="send_files">שלח קובץ</string>
|
||||
|
@@ -172,11 +172,11 @@
|
||||
<string name="title_activity_notification_filter">Filter notifikasi</string>
|
||||
<string name="filter_apps_info">Notifikasi akan disinkronkan terhadap apl terpilih.</string>
|
||||
<string name="sftp_internal_storage">Penyimpanan internal</string>
|
||||
<string name="sftp_all_files">Semua file</string>
|
||||
<string name="sftp_sdcard_num">Kartu SD %d</string>
|
||||
<string name="sftp_sdcard">Kartu SD</string>
|
||||
<string name="sftp_readonly">(hanya baca)</string>
|
||||
<string name="sftp_camera">Gambar kamera</string>
|
||||
<string name="add_host">Tambahkan host/IP</string>
|
||||
<string name="no_players_connected">Tidak ada player yang ditemukan</string>
|
||||
<string name="mpris_player_on_device">%1$s pada %2$s</string>
|
||||
<string name="send_files">Kirim file</string>
|
||||
@@ -204,7 +204,6 @@
|
||||
<string name="permission_explanation">Plugin ini perlu perizinan untuk kerja</string>
|
||||
<string name="optional_permission_explanation">Kamu perlu mengabulkan perizinan extra untuk memfungsikan semua fungsian</string>
|
||||
<string name="plugins_need_optional_permission">Beberapa plugin yang memiliki fitur dinonfungsikan karena kurangnya perizinan (ketuk untuk info selebihnya):</string>
|
||||
<string name="sftp_permission_explanation">Untuk mengakses filemu dari PC-mu si apl perlu perizinan untuk mengakses penyimpanan teleponmu</string>
|
||||
<string name="share_optional_permission_explanation">Untuk membagikan file antara teleponmu dan desktopmu kamu harus memberikan akses ke penyimpanan teleponmu</string>
|
||||
<string name="telepathy_permission_explanation">Untuk membaca dan menulis SMS dari desktopmu kamu harus memberikan perizinan untuk SMS</string>
|
||||
<string name="telephony_permission_explanation">Untuk melihat paggian telepon dan SMS dari desktopmu kamu harus memberikan perizinan untuk panggilan telepon dan SMS</string>
|
||||
|
@@ -184,13 +184,13 @@
|
||||
<string name="title_activity_notification_filter">Filtro delle notifiche</string>
|
||||
<string name="filter_apps_info">Le notifiche saranno sincronizzate per le applicazioni selezionate.</string>
|
||||
<string name="sftp_internal_storage">Archiviazione interna</string>
|
||||
<string name="sftp_all_files">Tutti i file</string>
|
||||
<string name="sftp_sdcard_num">Scheda SD %d</string>
|
||||
<string name="sftp_sdcard">Scheda SD</string>
|
||||
<string name="sftp_readonly">(sola lettura)</string>
|
||||
<string name="sftp_camera">Immagini fotocamera</string>
|
||||
<string name="add_device_dialog_title">Aggiungi dispositivo</string>
|
||||
<string name="add_device_hint">Nome host o indirizzo IP</string>
|
||||
<string name="add_host">Aggiungi host/IP</string>
|
||||
<string name="no_players_connected">Nessun lettore trovato</string>
|
||||
<string name="mpris_player_on_device">%1$s su %2$s</string>
|
||||
<string name="send_files">Invia file</string>
|
||||
@@ -218,7 +218,6 @@
|
||||
<string name="permission_explanation">Questa estensione ha bisogno di permessi per funzionare</string>
|
||||
<string name="optional_permission_explanation">Devi concedere permessi aggiuntivi per abilitare tutte le funzioni</string>
|
||||
<string name="plugins_need_optional_permission">Alcune estensioni hanno funzioni disabilitate per una mancanza di permessi (tocca per maggiori informazioni):</string>
|
||||
<string name="sftp_permission_explanation">Per accedere ai tuoi file dal tuo PC, l\'applicazione ha bisogno dell\'autorizzazione di accesso alla memoria del telefono</string>
|
||||
<string name="share_optional_permission_explanation">Per condividere i file tra il telefono e il tuo desktop devi dare accesso alla memoria del telefono</string>
|
||||
<string name="telepathy_permission_explanation">Per leggere e scrivere SMS dal tuo desktop, devi concedere l\'autorizzazione per SMS</string>
|
||||
<string name="telephony_permission_explanation">Per vedere le chiamate telefoniche e gli SMS dal desktop devi dare l\'autorizzazione per telefonate e SMS</string>
|
||||
|
@@ -152,11 +152,11 @@
|
||||
<string name="title_activity_notification_filter">알림 필터</string>
|
||||
<string name="filter_apps_info">선택한 앱의 알림을 동기화합니다.</string>
|
||||
<string name="sftp_internal_storage">내부 저장소</string>
|
||||
<string name="sftp_all_files">모든 파일</string>
|
||||
<string name="sftp_sdcard_num">SD 카드 %d</string>
|
||||
<string name="sftp_sdcard">SD 카드</string>
|
||||
<string name="sftp_readonly">(읽기 전용)</string>
|
||||
<string name="sftp_camera">카메라 사진</string>
|
||||
<string name="add_host">호스트/IP 주소 추가</string>
|
||||
<string name="no_players_connected">재생기를 찾을 수 없음</string>
|
||||
<string name="mpris_player_on_device">%2$s의 %1$s</string>
|
||||
<string name="send_files">파일 보내기</string>
|
||||
@@ -184,7 +184,6 @@
|
||||
<string name="permission_explanation">이 플러그인을 사용하려면 권한이 필요합니다</string>
|
||||
<string name="optional_permission_explanation">모든 기능을 사용하려면 추가 권한이 필요합니다</string>
|
||||
<string name="plugins_need_optional_permission">일부 플러그인은 권한이 없어서 비활성화되었습니다(정보를 보려면 누르기):</string>
|
||||
<string name="sftp_permission_explanation">PC에서 파일에 접근하려면 앱에서 휴대폰 저장소 접근 권한이 필요합니다</string>
|
||||
<string name="share_optional_permission_explanation">휴대폰과 데스크톱간 파일을 공유하려면 휴대폰 저장소 접근 권한이 필요합니다</string>
|
||||
<string name="telepathy_permission_explanation">데스크톱에서 문자 메시지를 읽고 보내려면 문자 메시지 접근 권한이 필요합니다</string>
|
||||
<string name="telephony_permission_explanation">데스크톱에서 통화와 문자 메시지를 보려면 통화 및 문자 메시지 접근 권한이 필요합니다</string>
|
||||
|
@@ -87,11 +87,11 @@
|
||||
<string name="pair_device_action">Suporuoti naują įrenginį</string>
|
||||
<string name="unpair_device_action">Atrišti %s</string>
|
||||
<string name="custom_device_list">Pridėti įrenginį pagal IP</string>
|
||||
<string name="sftp_all_files">Visi failai</string>
|
||||
<string name="sftp_sdcard_num">SD kortelė %d</string>
|
||||
<string name="sftp_sdcard">SD kortelė</string>
|
||||
<string name="sftp_readonly">(tik skaitymui)</string>
|
||||
<string name="sftp_camera">Nuotraukos</string>
|
||||
<string name="add_host">Pridėti kompiuterį / IP</string>
|
||||
<string name="mpris_player_on_device">%1$s - %2$s</string>
|
||||
<string name="send_files">Siųsti failus</string>
|
||||
<string name="pairing_title">„KDE Connect“ įrenginiai</string>
|
||||
|
@@ -38,6 +38,7 @@
|
||||
<string name="open_settings">Instellingen openen</string>
|
||||
<string name="no_permissions">U moet toestemming geven voor toegang tot meldingen</string>
|
||||
<string name="no_permission_mprisreceiver">Om in staat te zijn uw mediaspelers te besturen moet u toegan geven tot de meldingen</string>
|
||||
<string name="no_permissions_remotekeyboard">Om indrukken van toetsen te ontvangen moet u het KDE Connect Remote Keyboard activeren</string>
|
||||
<string name="send_ping">Ping verzenden</string>
|
||||
<string name="open_mpris_controls">Bediening van multimedia</string>
|
||||
<string name="remotekeyboard_editing_only_title">Behandel toetsen op afstand alleen bij bewerken</string>
|
||||
@@ -184,13 +185,32 @@
|
||||
<string name="title_activity_notification_filter">Filter voor meldingen</string>
|
||||
<string name="filter_apps_info">Meldingen zullen gesynchroniseerd worden voor de geselecteerde apps.</string>
|
||||
<string name="sftp_internal_storage">Interne opslag</string>
|
||||
<string name="sftp_all_files">Alle bestanden</string>
|
||||
<string name="sftp_sdcard_num">SD-kaartje %d</string>
|
||||
<string name="sftp_sdcard">SD-kaartje</string>
|
||||
<string name="sftp_readonly">(alleen-lezen)</string>
|
||||
<string name="sftp_camera">Afbeeldingen van camera</string>
|
||||
<string name="add_device_dialog_title">Apparaat toevoegen</string>
|
||||
<string name="add_device_hint">Hostnaam of IP-adres</string>
|
||||
<string name="sftp_preference_detected_sdcards">SD-kaarten gevonden</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">SD-kaart bewerken</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Opslaglocaties geconfigureerd</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Opslaglocatie toegevoegd</string>
|
||||
<string name="sftp_preference_edit_storage_location">Opslaglocatie bewerken</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Sneltoets voor cameramap toevoegen</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Een sneltoets naar de cameramap toevoegen</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">Geen sneltoets naar de cameramap toevoegen</string>
|
||||
<string name="sftp_storage_preference_storage_location">Opslaglocatie</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Deze locatie is al geconfigureerd</string>
|
||||
<string name="sftp_storage_preference_click_to_select">klik om te selecteren</string>
|
||||
<string name="sftp_storage_preference_display_name">Schermnaam</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Deze schermnaam wordt al gebruikt</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">Schermnaam mag niet leeg zijn</string>
|
||||
<string name="sftp_action_mode_menu_delete">Verwijderen</string>
|
||||
<string name="sftp_no_sdcard_detected">Geen SD-kaart gedetecteerd</string>
|
||||
<string name="sftp_no_storage_locations_configured">Geen opslaglocaties geconfigureerd</string>
|
||||
<string name="sftp_saf_permission_explanation">Om toegang te hebben tot bestanden op afstand moet u opslaglocaties configureren</string>
|
||||
<string name="add_host">Host/IP-adres toevoegen</string>
|
||||
<string name="add_host_hint">Hostnaam of IP-adres</string>
|
||||
<string name="no_players_connected">Geen spelers gevonden</string>
|
||||
<string name="mpris_player_on_device">%1$s op %2$s</string>
|
||||
<string name="send_files">Bestanden verzenden</string>
|
||||
@@ -218,7 +238,6 @@
|
||||
<string name="permission_explanation">Deze plug-in heeft toestemming nodig om te werken</string>
|
||||
<string name="optional_permission_explanation">U moet toestemming geven om alle functies in te schakelen</string>
|
||||
<string name="plugins_need_optional_permission">Sommige plug-ins hebben functies uitgeschakeld vanwege ontbrekende toestemming (tik voor meer informatie):</string>
|
||||
<string name="sftp_permission_explanation">"Om toegang tot uw bestanden te krijgen vanuit uw PC heeft de app toestemming nodig voor toegang tot de opslag van uw telefoon "</string>
|
||||
<string name="share_optional_permission_explanation">Om bestanden tussen uw telefoon en uw bureaublad te delen moet u toegang geven tot de opslag van uw telefoon</string>
|
||||
<string name="telepathy_permission_explanation">Om een SMS te lezen of te schrijven vanaf uw bureaublad moet u toestemming geven tot SMS</string>
|
||||
<string name="telephony_permission_explanation">Om telefoonoproepen en SMS te zien vanaf het bureaublad moet u toestemming geven tot telefoonoproepen en SMS</string>
|
||||
@@ -273,6 +292,6 @@
|
||||
<string name="block_contents">Inhoud van meldingen blokkeren</string>
|
||||
<string name="block_images">Afbeeldingen in meldingen blokkeren</string>
|
||||
<string name="notification_channel_receivenotification">Meldingen van andere apparaten</string>
|
||||
<string name="take_picture">Foto nemen</string>
|
||||
<string name="plugin_photo_desc">Neem een foto en stuur het naar een ander apparaat</string>
|
||||
<string name="take_picture">Start camera</string>
|
||||
<string name="plugin_photo_desc">Start de camera-app om nemen en overdragen van afbeeldingen te vergemakkelijken</string>
|
||||
</resources>
|
||||
|
@@ -179,11 +179,11 @@
|
||||
<string name="title_activity_notification_filter">Varslingsfilter</string>
|
||||
<string name="filter_apps_info">Varslingar vert synkroniserte for dei valde appane.</string>
|
||||
<string name="sftp_internal_storage">Intern lagring</string>
|
||||
<string name="sftp_all_files">Alle filer</string>
|
||||
<string name="sftp_sdcard_num">SD-kort %d</string>
|
||||
<string name="sftp_sdcard">SD-kort</string>
|
||||
<string name="sftp_readonly">(skriveverna)</string>
|
||||
<string name="sftp_camera">Kamerabilete</string>
|
||||
<string name="add_host">Legg til vert/IP</string>
|
||||
<string name="no_players_connected">Fann ingen spelarar</string>
|
||||
<string name="mpris_player_on_device">%1$s på %2$s</string>
|
||||
<string name="send_files">Send filer</string>
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="permission_explanation">Dette tillegget treng utvida løyve for å fungera</string>
|
||||
<string name="optional_permission_explanation">Du må gje utvida løyve for at alle funksjonane skal fungera</string>
|
||||
<string name="plugins_need_optional_permission">På grunn av manglande løyve har nokre av tillegga funksjonar slåtte av (trykk på dei for meir informasjon):</string>
|
||||
<string name="sftp_permission_explanation">For å gje tilgang til filene frå datamaskina treng appen leseløyve til lagringsområdet på telefonen</string>
|
||||
<string name="share_optional_permission_explanation">For å kunna dela filer mellom telefonen og datamaskina må du gje appen lese- og skriveløyve til lagringsområdet på telefonen</string>
|
||||
<string name="telepathy_permission_explanation">For å kunna lesa og skriva tekstmeldingar frå datamaskina må du gje appen tilgang til SMS</string>
|
||||
<string name="telephony_permission_explanation">For å kunna sjå telefonsamtalar og tekstmeldingar frå datamaskina må du gje appen tilgang til telefon- og SMS-funksjonar</string>
|
||||
|
@@ -189,11 +189,11 @@
|
||||
<string name="title_activity_notification_filter">Filtr powiadomień</string>
|
||||
<string name="filter_apps_info">Powiadomienia zostaną zsynchronizowane z wybranymi aplikacjami.</string>
|
||||
<string name="sftp_internal_storage">"Pamięć wewnętrzna "</string>
|
||||
<string name="sftp_all_files">Wszystkie pliki</string>
|
||||
<string name="sftp_sdcard_num">Karta SD %d</string>
|
||||
<string name="sftp_sdcard">Karta SD</string>
|
||||
<string name="sftp_readonly">(tylko do odczytu)</string>
|
||||
<string name="sftp_camera">Zdjęcia z aparatu</string>
|
||||
<string name="add_host">Dodaj gospodarza/IP</string>
|
||||
<string name="no_players_connected">Nie znaleziono żadnego odtwarzacza</string>
|
||||
<string name="mpris_player_on_device">%1$s na %2$s</string>
|
||||
<string name="send_files">Wyślij pliki</string>
|
||||
@@ -221,7 +221,6 @@
|
||||
<string name="permission_explanation">Ta wtyczka wymaga uprawnień do działania</string>
|
||||
<string name="optional_permission_explanation">Musisz przydzielić dodatkowe uprawnienia, aby włączyć wszystkie funkcje</string>
|
||||
<string name="plugins_need_optional_permission">Niektóre z wtyczek mają ograniczone możliwości ze względu na ograniczone uprawnienia (stuknij po więcej informacji)</string>
|
||||
<string name="sftp_permission_explanation">Aby uzyskać dostęp do plików z twojego PC aplikacja ta potrzebuje uprawnień do dostępu do pamięci twojego telefonu</string>
|
||||
<string name="share_optional_permission_explanation">Aby udostępniać pliki z twojego telefonu na twoim komputerze musisz pozowolić na dostęp do pamięci telefonu</string>
|
||||
<string name="telepathy_permission_explanation">Aby odczytywać i pisać SMSy z twojego komputera musisz nadać uprawnienia do SMSów</string>
|
||||
<string name="telephony_permission_explanation">Aby widzieć rozmowy telefoniczne i SMSy z twojego komputera musisz nadać uprawnienia na rozmowy telefoniczne i SMSy</string>
|
||||
|
@@ -184,13 +184,32 @@
|
||||
<string name="title_activity_notification_filter">Filtro de notificações</string>
|
||||
<string name="filter_apps_info">As notificações dos aplicativos selecionados serão sincronizadas.</string>
|
||||
<string name="sftp_internal_storage">Armazenamento interno</string>
|
||||
<string name="sftp_all_files">Todos os arquivos</string>
|
||||
<string name="sftp_sdcard_num">Cartão SD %d</string>
|
||||
<string name="sftp_sdcard">Cartão SD</string>
|
||||
<string name="sftp_readonly">(somente leitura)</string>
|
||||
<string name="sftp_camera">Imagens da câmera</string>
|
||||
<string name="add_device_dialog_title">Adicionar dispositivo</string>
|
||||
<string name="add_device_hint">Nome da máquina ou endereço IP</string>
|
||||
<string name="sftp_preference_detected_sdcards">Cartões SD detectados</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Editar cartão SD</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Localizações de armazenamento configuradas</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Adicionar localização de armazenamento</string>
|
||||
<string name="sftp_preference_edit_storage_location">Editar localização de armazenamento</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Adicionar atalho para pasta da câmera</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Adiciona um atalho para a pasta da câmera</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">Não adiciona um atalho para a pasta da câmera</string>
|
||||
<string name="sftp_storage_preference_storage_location">Localização do armazenamento</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Esta localização já foi configurada</string>
|
||||
<string name="sftp_storage_preference_click_to_select">clique para selecionar</string>
|
||||
<string name="sftp_storage_preference_display_name">Nome de exibição</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Este nome de exibição já está em uso</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">O nome de exibição não pode esta vazio</string>
|
||||
<string name="sftp_action_mode_menu_delete">Excluir</string>
|
||||
<string name="sftp_no_sdcard_detected">Nenhum cartão SD detectado</string>
|
||||
<string name="sftp_no_storage_locations_configured">Nenhuma localização de armazenamento configurada</string>
|
||||
<string name="sftp_saf_permission_explanation">Para acessar arquivos remotamente você precisa configurar localizações de armazenamento</string>
|
||||
<string name="add_host">Adicionar máquina/IP</string>
|
||||
<string name="add_host_hint">Nome da máquina ou IP</string>
|
||||
<string name="no_players_connected">Nenhum reprodutor encontrado</string>
|
||||
<string name="mpris_player_on_device">%1$s em %2$s</string>
|
||||
<string name="send_files">Enviar arquivos</string>
|
||||
@@ -218,7 +237,6 @@
|
||||
<string name="permission_explanation">Este plugin precisa de permissões para funcionar</string>
|
||||
<string name="optional_permission_explanation">Você precisa conceder permissões extras para ativar todas as funções</string>
|
||||
<string name="plugins_need_optional_permission">Alguns plugins possuem recursos desativados devido à falta de permissões (toque para obter mais informações):</string>
|
||||
<string name="sftp_permission_explanation">Para acessar os seus arquivos a partir do PC, o aplicativo precisa de permissão para acessar o armazenamento do seu celular</string>
|
||||
<string name="share_optional_permission_explanation">Para compartilhar arquivos entre o seu celular e o seu ambiente de trabalho é necessário permissão para acessar o armazenamento do seu celular</string>
|
||||
<string name="telepathy_permission_explanation">Para ler e gravar SMS a partir do seu ambiente de trabalho é necessário conceder permissão para SMS</string>
|
||||
<string name="telephony_permission_explanation">Para ver as chamadas e SMS do celular a partir do seu ambiente de trabalho é necessário conceder permissão para as chamadas telefônicas e SMS</string>
|
||||
@@ -273,6 +291,6 @@
|
||||
<string name="block_contents">Bloquear o conteúdo das notificações</string>
|
||||
<string name="block_images">Bloquear as imagens das notificações</string>
|
||||
<string name="notification_channel_receivenotification">Notificações dos outros dispositivos</string>
|
||||
<string name="take_picture">Tirar uma foto</string>
|
||||
<string name="plugin_photo_desc">Tira uma foto e envia ela para outro dispositivo</string>
|
||||
<string name="take_picture">Iniciar câmera</string>
|
||||
<string name="plugin_photo_desc">Iniciar o aplicativo da câmera para facilitar a captura e transferência de fotos</string>
|
||||
</resources>
|
||||
|
@@ -184,7 +184,6 @@
|
||||
<string name="title_activity_notification_filter">Filtro de notificações</string>
|
||||
<string name="filter_apps_info">As notificações serão sincronizadas para as aplicações seleccionadas.</string>
|
||||
<string name="sftp_internal_storage">Armazenamento interno</string>
|
||||
<string name="sftp_all_files">Todos os ficheiros</string>
|
||||
<string name="sftp_sdcard_num">Cartão SD %d</string>
|
||||
<string name="sftp_sdcard">Cartão SD</string>
|
||||
<string name="sftp_readonly">(apenas para leitura)</string>
|
||||
@@ -218,7 +217,6 @@
|
||||
<string name="permission_explanation">Este \'plugin\' precisa de permissões para funcionar</string>
|
||||
<string name="optional_permission_explanation">Precisa de dar permissões extra para activar todas as funcionalidades</string>
|
||||
<string name="plugins_need_optional_permission">Alguns \'plugins\' têm funcionalidades desactivadas devido à falta de permissões (toque para obter mais informações):</string>
|
||||
<string name="sftp_permission_explanation">Para aceder aos seus ficheiros a partir do seu PC, a aplicação precisa de permissão para aceder ao armazenamento do seu telemóvel</string>
|
||||
<string name="share_optional_permission_explanation">Para partilhar ficheiros entre o seu telemóvel e o seu ambiente de trabalho, precisa de permissão para aceder ao armazenamento do seu telemóvel</string>
|
||||
<string name="telepathy_permission_explanation">Para ler e escrever SMS\'s a partir do seu ambiente de trabalho, precisa de dar permissões para os SMS\'s</string>
|
||||
<string name="telephony_permission_explanation">Para ver as chamadas e os SMS\'s a partir do seu ambiente de trabalho, precisa de dar permissões para as chamadas telefónicas e SMS\'s</string>
|
||||
|
@@ -158,11 +158,11 @@
|
||||
<string name="title_activity_notification_filter">Фильтр уведомлений</string>
|
||||
<string name="filter_apps_info">Уведомления будут синхронизированы для выбранных приложений.</string>
|
||||
<string name="sftp_internal_storage">Встроенная память</string>
|
||||
<string name="sftp_all_files">Все файлы</string>
|
||||
<string name="sftp_sdcard_num">SD-карта %d</string>
|
||||
<string name="sftp_sdcard">SD-карта</string>
|
||||
<string name="sftp_readonly">(только чтение)</string>
|
||||
<string name="sftp_camera">Фотографии с камеры</string>
|
||||
<string name="add_host">Добавить хост/IP-адрес</string>
|
||||
<string name="no_players_connected">Медиапроигрывателей не найдено</string>
|
||||
<string name="mpris_player_on_device">%1$s на %2$s</string>
|
||||
<string name="send_files">Отправить файлы</string>
|
||||
@@ -189,7 +189,6 @@
|
||||
<string name="permission_explanation">Этому модулю нужны разрешения для работы</string>
|
||||
<string name="optional_permission_explanation">Необходимо предоставить дополнительные разрешения для включения всех функций</string>
|
||||
<string name="plugins_need_optional_permission">Некоторые функции модулей отключены из-за отсутствия необходимых разрешений (нажмите для просмотра подробностей):</string>
|
||||
<string name="sftp_permission_explanation">Для доступа к файлам с вашего компьютера приложению необходимо разрешение на доступ к встроенной памяти телефона</string>
|
||||
<string name="share_optional_permission_explanation">Чтобы обмениваться файлами между телефоном и компьютером, необходимо предоставить доступ к встроенной памяти телефона</string>
|
||||
<string name="telepathy_permission_explanation">Чтобы читать и писать SMS с компьютера, вам необходимо дать разрешение на доступ к SMS</string>
|
||||
<string name="telephony_permission_explanation">Чтобы видеть телефонные звонки и SMS на компьютере, необходимо дать разрешение на телефонные звонки и SMS</string>
|
||||
|
@@ -189,11 +189,11 @@
|
||||
<string name="title_activity_notification_filter">Filter upozornení</string>
|
||||
<string name="filter_apps_info">Upozornenia budú synchronizované pre vybrané aplikácie.</string>
|
||||
<string name="sftp_internal_storage">Interné úložisko</string>
|
||||
<string name="sftp_all_files">Všetky súbory</string>
|
||||
<string name="sftp_sdcard_num">SD karta %d</string>
|
||||
<string name="sftp_sdcard">SD karta</string>
|
||||
<string name="sftp_readonly">(iba na čítanie)</string>
|
||||
<string name="sftp_camera">Obrázky fotoaparátu</string>
|
||||
<string name="add_host">Pridať hostiteľa/IP</string>
|
||||
<string name="no_players_connected">Nenašli sa žiadne prehrávače</string>
|
||||
<string name="mpris_player_on_device">%1$s na %2$s</string>
|
||||
<string name="send_files">Odoslať súbory</string>
|
||||
@@ -221,7 +221,6 @@
|
||||
<string name="permission_explanation">Tento plugin potrebuje oprávnenia aby fungoval</string>
|
||||
<string name="optional_permission_explanation">Musíte povoliť oprávnenia na povolenie všetkých funkcií</string>
|
||||
<string name="plugins_need_optional_permission">Niektoré pluginy majú zakázané funkcie pre nedostatok opránení (ťuknite pre viac info):</string>
|
||||
<string name="sftp_permission_explanation">Na prístup k vaším súborom z PC, aplikácia potrebuje oprávnenie na prístup k vašemu úložisku</string>
|
||||
<string name="share_optional_permission_explanation">Na zdieľanie súborov medzi vašim telefónom a počítačom potrebujete dať prístup k úložisku telefónu</string>
|
||||
<string name="telepathy_permission_explanation">Na čítanie a písanie SMS z vašeho počítača, potrebujete dať oprávnienie na SMS</string>
|
||||
<string name="telephony_permission_explanation">Aby ste videli telefónne hovory a SMS z počítača, potrebujete dať oprávnenie na hovory a SMS</string>
|
||||
|
@@ -38,6 +38,7 @@
|
||||
<string name="open_settings">Öppna inställningarna</string>
|
||||
<string name="no_permissions">Du måste ge rättighet att komma åt underrättelser</string>
|
||||
<string name="no_permission_mprisreceiver">För att kunna styra mediaspelare måste du ge tillgång till underrättelser</string>
|
||||
<string name="no_permissions_remotekeyboard">KDE-ansluts fjärrtangentbord måste aktiveras för att ta emot tangentnedtryckningar</string>
|
||||
<string name="send_ping">Skicka ping</string>
|
||||
<string name="open_mpris_controls">Kontroll av multimedia</string>
|
||||
<string name="remotekeyboard_editing_only_title">Hantera bara externa tangenter vid redigering</string>
|
||||
@@ -184,13 +185,32 @@
|
||||
<string name="title_activity_notification_filter">Underrättelsefilter</string>
|
||||
<string name="filter_apps_info">Underrättelser synkroniseras för markerade applikationer.</string>
|
||||
<string name="sftp_internal_storage">Intern lagring</string>
|
||||
<string name="sftp_all_files">Alla filer</string>
|
||||
<string name="sftp_sdcard_num">SD-kort %d</string>
|
||||
<string name="sftp_sdcard">SD-kort</string>
|
||||
<string name="sftp_readonly">(skrivskyddat)</string>
|
||||
<string name="sftp_camera">Kamerabilder</string>
|
||||
<string name="add_device_dialog_title">Lägg till apparat</string>
|
||||
<string name="add_device_hint">Värddatornamn eller IP-adress</string>
|
||||
<string name="sftp_preference_detected_sdcards">Detekterade SD-kort</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Redigera SD-kort</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Anpassa lagringsplatser</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Lägg till lagringsplats</string>
|
||||
<string name="sftp_preference_edit_storage_location">Redigera lagringsplats</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Lägg till genväg till kamerakatalog</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Lägg till en genväg till kamerakatalogen</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">Lägg inte till en genväg till kamerakatalogen</string>
|
||||
<string name="sftp_storage_preference_storage_location">Lagringsplats</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Platsen har redan ställts in</string>
|
||||
<string name="sftp_storage_preference_click_to_select">klicka för att välja</string>
|
||||
<string name="sftp_storage_preference_display_name">Namn att visa</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Namn att visa används redan</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">Namn att visa kan inte vara tomt</string>
|
||||
<string name="sftp_action_mode_menu_delete">Ta bort</string>
|
||||
<string name="sftp_no_sdcard_detected">Inga SD-kort detekterades</string>
|
||||
<string name="sftp_no_storage_locations_configured">Inga lagringsplatser inställda</string>
|
||||
<string name="sftp_saf_permission_explanation">För att komma åt filer från en annan apparat måste lagringsplatser ställas in</string>
|
||||
<string name="add_host">Lägg till värddator/IP-adress</string>
|
||||
<string name="add_host_hint">Värddatornamn eller IP</string>
|
||||
<string name="no_players_connected">Inga spelare hittades</string>
|
||||
<string name="mpris_player_on_device">%1$s på %2$s</string>
|
||||
<string name="send_files">Skicka filer</string>
|
||||
@@ -218,7 +238,6 @@
|
||||
<string name="permission_explanation">Insticksprogrammet behöver rättigheter för att fungera</string>
|
||||
<string name="optional_permission_explanation">Du måste ge extra rättigheter för att aktivera alla funktioner</string>
|
||||
<string name="plugins_need_optional_permission">Vissa insticksprogram har inaktiverade funktioner på grund av att rättigheter saknas (rör för mer information):</string>
|
||||
<string name="sftp_permission_explanation">För att komma åt filerna från din dator behöver applikationen rättighet att komma åt telefonens lagringsutrymme</string>
|
||||
<string name="share_optional_permission_explanation">För att dela filer mellan telefonen och skrivbordet behöver du ge tillgång till telefonens lagringsutrymme</string>
|
||||
<string name="telepathy_permission_explanation">För att läsa och skriva SMS från skrivbordet måste du ge rättigheter för SMS</string>
|
||||
<string name="telephony_permission_explanation">För att se telefonsamtal och SMS från skrivbordet måste du ge rättigheter för telefonsamtal och SMS</string>
|
||||
@@ -273,6 +292,6 @@
|
||||
<string name="block_contents">Blockera underrättelsernas innehåll</string>
|
||||
<string name="block_images">Blockera bilder i underrättelser</string>
|
||||
<string name="notification_channel_receivenotification">Underrättelser från andra apparater</string>
|
||||
<string name="take_picture">Ta bild</string>
|
||||
<string name="plugin_photo_desc">Ta en bild och skicka den till en annan apparat</string>
|
||||
<string name="take_picture">Starta kamera</string>
|
||||
<string name="plugin_photo_desc">Starta kameraprogrammet för att förenkla att ta och överföra bilder</string>
|
||||
</resources>
|
||||
|
@@ -139,11 +139,11 @@
|
||||
<string name="title_activity_notification_filter">Bildirim süzgeci</string>
|
||||
<string name="filter_apps_info">Bildirimler, seçili uygulamalar için eşitlenecektir.</string>
|
||||
<string name="sftp_internal_storage">Harici depolama</string>
|
||||
<string name="sftp_all_files">Tüm dosyalar</string>
|
||||
<string name="sftp_sdcard_num">SD kart %d</string>
|
||||
<string name="sftp_sdcard">SD kart</string>
|
||||
<string name="sftp_readonly">(salt okunur)</string>
|
||||
<string name="sftp_camera">Kamera resimleri</string>
|
||||
<string name="add_host">Makine/IP ekle</string>
|
||||
<string name="no_players_connected">Onatıcı bulunamadı</string>
|
||||
<string name="mpris_player_on_device">%2$s üzerindeki %1$s</string>
|
||||
<string name="send_files">Dosyaları gönder</string>
|
||||
@@ -170,7 +170,6 @@
|
||||
<string name="permission_explanation">Bu eklenti, çalışmak için izne ihtiyaç duyuyor</string>
|
||||
<string name="optional_permission_explanation">Tüm işlevleri etkinleştirmek için daha fazla yetkiye ihtiyacınız var</string>
|
||||
<string name="plugins_need_optional_permission">Bazı eklentilerin özellikleri, izin yetersizliğinden kapalı gelmektedir (daha fazla bilgi için dokunun):</string>
|
||||
<string name="sftp_permission_explanation">Bilgisayarınızdaki dosyalara erişmek için, uygulama telefonunuzun depolama alanına erişim izni olmalıdır</string>
|
||||
<string name="share_optional_permission_explanation">Telefon ve masaüstünüz arasında dosya paylaşılabilmesi için, telefonun depolama alanına erişim izni olmalıdır</string>
|
||||
<string name="telepathy_permission_explanation">Masaüstünde SMS yazma ve okuma yapmak için SMS izni gereklidir</string>
|
||||
<string name="telephony_permission_explanation">Masaüstünden telefon çağrılarını ve SMS görebilmek için izin gereklidir</string>
|
||||
|
@@ -38,6 +38,7 @@
|
||||
<string name="open_settings">Відкрити вікно параметрів</string>
|
||||
<string name="no_permissions">Вам слід надати доступ до сповіщень</string>
|
||||
<string name="no_permission_mprisreceiver">Щоб мати змогу керувати вашими програвачами мультимедійних даних, вам слід надати доступ до сповіщень.</string>
|
||||
<string name="no_permissions_remotekeyboard">Щоб отримувати повідомлення щодо натискання клавіш, вам слід активувати віддалену клавіатуру KDE Connect</string>
|
||||
<string name="send_ping">Надіслати сигнал підтримання зв’язку</string>
|
||||
<string name="open_mpris_controls">Керування відтворенням</string>
|
||||
<string name="remotekeyboard_editing_only_title">Обробляти віддалені клавіші лише під час редагування</string>
|
||||
@@ -194,13 +195,32 @@
|
||||
<string name="title_activity_notification_filter">Фільтр сповіщень</string>
|
||||
<string name="filter_apps_info">Сповіщення буде синхронізовано для позначених програм.</string>
|
||||
<string name="sftp_internal_storage">Вбудоване сховище даних</string>
|
||||
<string name="sftp_all_files">Усі файли</string>
|
||||
<string name="sftp_sdcard_num">Картка SD %d</string>
|
||||
<string name="sftp_sdcard">Картка SD</string>
|
||||
<string name="sftp_readonly">(лише читання)</string>
|
||||
<string name="sftp_camera">Знімки фотоапарата</string>
|
||||
<string name="add_device_dialog_title">Додавання пристрою</string>
|
||||
<string name="add_device_hint">Назва або IP-адреса вузла</string>
|
||||
<string name="sftp_preference_detected_sdcards">Виявлені картки SD</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">Редагувати картку SD</string>
|
||||
<string name="sftp_preference_configured_storage_locations">Налаштовані розташування сховищ</string>
|
||||
<string name="sftp_preference_add_storage_location_title">Додати розташування сховища</string>
|
||||
<string name="sftp_preference_edit_storage_location">Редагувати розташування сховища</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">Додати кнопку для теки камери</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">Додати кнопку для теки камери</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">Не додавати кнопку для теки камери</string>
|
||||
<string name="sftp_storage_preference_storage_location">Розташування сховища</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">Це розташування вже налаштовано</string>
|
||||
<string name="sftp_storage_preference_click_to_select">клацання для позначення</string>
|
||||
<string name="sftp_storage_preference_display_name">Назва дисплея</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">Цю назву дисплея вже використано</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">Назва дисплея не може бути порожньою</string>
|
||||
<string name="sftp_action_mode_menu_delete">Вилучити</string>
|
||||
<string name="sftp_no_sdcard_detected">Не виявлено карток SD</string>
|
||||
<string name="sftp_no_storage_locations_configured">Не налаштовано розташувань сховищ</string>
|
||||
<string name="sftp_saf_permission_explanation">Щоб отримувати віддалений доступ до файлів, вам слід налаштувати розташування сховищ</string>
|
||||
<string name="add_host">Додати вузол/IP</string>
|
||||
<string name="add_host_hint">Назва або IP-адреса вузла</string>
|
||||
<string name="no_players_connected">Не знайдено програвачів</string>
|
||||
<string name="mpris_player_on_device">%1$s на %2$s</string>
|
||||
<string name="send_files">Надіслати файли</string>
|
||||
@@ -228,7 +248,6 @@
|
||||
<string name="permission_explanation">Для роботи цього додатка потрібні додаткові права доступу</string>
|
||||
<string name="optional_permission_explanation">Щоб уможливити використання усіх функцій, вам слід надати програмі додаткові права доступу</string>
|
||||
<string name="plugins_need_optional_permission">Можливості деяких додатків вимкнено, оскільки програмі не вистачає прав доступу (натисніть, щоб дізнатися більше):</string>
|
||||
<string name="sftp_permission_explanation">Для доступу до ваших файлі із персонального комп’ютера програмі потрібні права доступу до сховища даних вашого телефону</string>
|
||||
<string name="share_optional_permission_explanation">Щоб спільного використовувати файли на вашому телефоні і робочому комп’ютері, вам слід надати програмі доступ до сховища даних вашого телефону</string>
|
||||
<string name="telepathy_permission_explanation">Щоб читати і писати SMS з вашого робочого комп’ютера, вам слід надати програмі доступ до SMS</string>
|
||||
<string name="telephony_permission_explanation">"Щоб переглядати дзвінки і SMS з робочого комп’ютера, вам слід надати програмі доступ до дзвінків і SMS"</string>
|
||||
@@ -283,6 +302,6 @@
|
||||
<string name="block_contents">Блокувати вміст сповіщень</string>
|
||||
<string name="block_images">Блокувати зображення у сповіщеннях</string>
|
||||
<string name="notification_channel_receivenotification">Сповіщення з інших пристроїв</string>
|
||||
<string name="take_picture">Створити знімок</string>
|
||||
<string name="plugin_photo_desc">Зробити знімок і надіслати його на інший пристрій</string>
|
||||
<string name="take_picture">Запустити камеру</string>
|
||||
<string name="plugin_photo_desc">Запустити додаток камери для спрощення знімання та передавання фотографій</string>
|
||||
</resources>
|
||||
|
@@ -174,7 +174,6 @@
|
||||
<string name="title_activity_notification_filter">通知过滤器</string>
|
||||
<string name="filter_apps_info">所选软件的通知将会被同步。</string>
|
||||
<string name="sftp_internal_storage">内部存储</string>
|
||||
<string name="sftp_all_files">所有文件</string>
|
||||
<string name="sftp_sdcard_num">SD卡%d</string>
|
||||
<string name="sftp_sdcard">SD卡</string>
|
||||
<string name="sftp_readonly">(只读)</string>
|
||||
@@ -206,7 +205,6 @@
|
||||
<string name="permission_explanation">这个插件需要权限才能工作</string>
|
||||
<string name="optional_permission_explanation">您需要授予额外权限以启用全部功能</string>
|
||||
<string name="plugins_need_optional_permission">因缺少权限,某些插件的一些功能已禁用(点击以查看更多信息):</string>
|
||||
<string name="sftp_permission_explanation">此应用需要手机存储权限才能从您的 PC 访问手机内的文件</string>
|
||||
<string name="share_optional_permission_explanation">您需要给予访问手机存储的权限才能在手机和桌面计算机之间分享文件</string>
|
||||
<string name="telepathy_permission_explanation">从计算机桌面读取、写入短消息需要向应用程序授予 SMS 权限</string>
|
||||
<string name="telephony_permission_explanation">您必须给予访问手机通话和短信的权限才能从桌面计算机查看通话记录和短信</string>
|
||||
|
@@ -38,6 +38,7 @@
|
||||
<string name="open_settings">開啟設定</string>
|
||||
<string name="no_permissions">您需要授予存取通知的權限</string>
|
||||
<string name="no_permission_mprisreceiver">為了要能控制您的媒體播放器,您需要提供「通知」的權限</string>
|
||||
<string name="no_permissions_remotekeyboard">若要接收鍵盤按鍵事件,您需要啟用 KDE 連線遠端鍵盤功能</string>
|
||||
<string name="send_ping">傳送Ping回應封包</string>
|
||||
<string name="open_mpris_controls">多媒體控制</string>
|
||||
<string name="remotekeyboard_editing_only_title">當編輯時只處理遠端按鍵</string>
|
||||
@@ -179,13 +180,32 @@
|
||||
<string name="title_activity_notification_filter">通知過濾器</string>
|
||||
<string name="filter_apps_info">將會以您選擇的App應用程式啟用同步通知</string>
|
||||
<string name="sftp_internal_storage">內部儲存空間</string>
|
||||
<string name="sftp_all_files">全部檔案</string>
|
||||
<string name="sftp_sdcard_num">SD卡 %d</string>
|
||||
<string name="sftp_sdcard">SD卡</string>
|
||||
<string name="sftp_readonly">(唯讀)</string>
|
||||
<string name="sftp_camera">相機圖片</string>
|
||||
<string name="add_device_dialog_title">新增裝置</string>
|
||||
<string name="add_device_hint">主機名稱 或 IP 位址</string>
|
||||
<string name="sftp_preference_detected_sdcards">已偵測到 SD 卡</string>
|
||||
<string name="sftp_preference_edit_sdcard_title">編輯 SD 卡</string>
|
||||
<string name="sftp_preference_configured_storage_locations">已設定儲存空間位置</string>
|
||||
<string name="sftp_preference_add_storage_location_title">新增儲存空間位置</string>
|
||||
<string name="sftp_preference_edit_storage_location">編輯儲存空間位置</string>
|
||||
<string name="sftp_preference_add_camera_shortcut">新增相機資料夾的捷徑</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_on">新增連結到相機資料夾的捷徑</string>
|
||||
<string name="sftp_preference_add_camera_shortcut_summary_off">請勿新增連結到相機資料夾的捷徑</string>
|
||||
<string name="sftp_storage_preference_storage_location">儲存空間位置</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">此位置已被設定</string>
|
||||
<string name="sftp_storage_preference_click_to_select">按一下選擇</string>
|
||||
<string name="sftp_storage_preference_display_name">顯示名稱</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">此顯示名稱已被使用</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">顯示名稱不得空白</string>
|
||||
<string name="sftp_action_mode_menu_delete">刪除</string>
|
||||
<string name="sftp_no_sdcard_detected">未偵測到 SD 卡</string>
|
||||
<string name="sftp_no_storage_locations_configured">未設定儲存空間位置</string>
|
||||
<string name="sftp_saf_permission_explanation">若要遠端存取檔案,您需先設定儲存空間位置</string>
|
||||
<string name="add_host">增加 host/IP</string>
|
||||
<string name="add_host_hint">主機名稱或 IP</string>
|
||||
<string name="no_players_connected">沒有發現播放器</string>
|
||||
<string name="mpris_player_on_device">%1$s on %2$s</string>
|
||||
<string name="send_files">傳送檔案</string>
|
||||
@@ -213,7 +233,6 @@
|
||||
<string name="permission_explanation">這附加元件需要權限以運作</string>
|
||||
<string name="optional_permission_explanation">你需要授予延伸的權限以啟用所有的功能</string>
|
||||
<string name="plugins_need_optional_permission">部份的附加元件因為缺乏權限,而導致功能被停用。(點擊以了解更多資訊):</string>
|
||||
<string name="sftp_permission_explanation">為了要從您的個人電腦存取檔案,這個應用程式需要權限以存取您的手機儲存空間。</string>
|
||||
<string name="share_optional_permission_explanation">為了要在您的手機與電腦之間分享檔案,你需要同意存取手機的儲存空間。</string>
|
||||
<string name="telepathy_permission_explanation">為了要在您的個人電腦上讀取與撰寫簡訊,你需要提供簡訊的權限。</string>
|
||||
<string name="telephony_permission_explanation">為了要在您的電腦上檢視手機通話與簡訊,你需要提供手機通話與簡訊的權限。</string>
|
||||
@@ -268,4 +287,6 @@
|
||||
<string name="block_contents">擋住通知內容</string>
|
||||
<string name="block_images">擋住通知中的圖片</string>
|
||||
<string name="notification_channel_receivenotification">其他裝置上的通知</string>
|
||||
<string name="take_picture">啟動相機</string>
|
||||
<string name="plugin_photo_desc">開啟相機應用程式以輕鬆拍攝並傳輸相片</string>
|
||||
</resources>
|
||||
|
@@ -39,6 +39,7 @@
|
||||
<string name="open_settings">Open settings</string>
|
||||
<string name="no_permissions">You need to grant permission to access notifications</string>
|
||||
<string name="no_permission_mprisreceiver">To be able to control your media players you need to grant access to the notifications</string>
|
||||
<string name="no_permissions_remotekeyboard">To receive keypresses you need to activate the KDE Connect Remote Keyboard</string>
|
||||
<string name="send_ping">Send ping</string>
|
||||
<string name="open_mpris_controls">Multimedia control</string>
|
||||
<string name="remotekeyboard_editing_only" translatable="false">remotekeyboard_editing_only</string>
|
||||
@@ -288,7 +289,7 @@
|
||||
<string name="plugins_need_optional_permission">Some plugins have features disabled because of lack of permission (tap for more info):</string>
|
||||
<string name="share_optional_permission_explanation">To share files between your phone and your desktop you need to give access to the phone\'s storage</string>
|
||||
<string name="telepathy_permission_explanation">To read and write SMS from your desktop you need to give permission to SMS</string>
|
||||
<string name="telephony_permission_explanation">To see phone calls and SMS from the desktop you need to give permission to phone calls and SMS</string>
|
||||
<string name="telephony_permission_explanation">To see phone calls from the desktop you need to give permission to access phone calls</string>
|
||||
<string name="telephony_optional_permission_explanation">To see a contact name instead of a phone number you need to give access to the phone\'s contacts</string>
|
||||
<string name="contacts_permission_explanation">To share your contacts book with the desktop, you need to give contacts permission</string>
|
||||
<string name="select_ringtone">Select a ringtone</string>
|
||||
|
@@ -419,7 +419,7 @@ public class BackgroundService extends Service {
|
||||
}).start();
|
||||
}
|
||||
|
||||
public static <T extends Plugin> void runWithPlugin(final Context c, final String deviceId, final Class<T> pluginClass, final PluginCallback<T> cb) {
|
||||
public static <T extends Plugin> void RunWithPlugin(final Context c, final String deviceId, final Class<T> pluginClass, final PluginCallback<T> cb) {
|
||||
RunCommand(c, service -> {
|
||||
Device device = service.getDevice(deviceId);
|
||||
|
||||
|
@@ -565,6 +565,11 @@ public class Device implements BaseLink.PacketReceiver {
|
||||
}
|
||||
} else if (isPaired()) {
|
||||
|
||||
// pluginsByIncomingInterface may not be built yet
|
||||
if(pluginsByIncomingInterface.isEmpty()) {
|
||||
reloadPluginsFromSettings();
|
||||
}
|
||||
|
||||
//If capabilities are not supported, iterate all plugins
|
||||
Collection<String> targetPlugins = pluginsByIncomingInterface.get(np.getType());
|
||||
if (targetPlugins != null && !targetPlugins.isEmpty()) {
|
||||
|
@@ -222,7 +222,7 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
|
||||
mCurrentX = event.getX();
|
||||
mCurrentY = event.getY();
|
||||
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> {
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> {
|
||||
float deltaX = (mCurrentX - mPrevX) * displayDpiMultiplier * mCurrentSensitivity;
|
||||
float deltaY = (mCurrentY - mPrevY) * displayDpiMultiplier * mCurrentSensitivity;
|
||||
|
||||
@@ -293,7 +293,7 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
|
||||
@Override
|
||||
public void onLongPress(MotionEvent e) {
|
||||
getWindow().getDecorView().performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendSingleHold);
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendSingleHold);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -303,13 +303,13 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
|
||||
|
||||
@Override
|
||||
public boolean onSingleTapConfirmed(MotionEvent e) {
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendSingleClick);
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendSingleClick);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onDoubleTap(MotionEvent e) {
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendDoubleClick);
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendDoubleClick);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -348,15 +348,15 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
|
||||
|
||||
|
||||
private void sendMiddleClick() {
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendMiddleClick);
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendMiddleClick);
|
||||
}
|
||||
|
||||
private void sendRightClick() {
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendRightClick);
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendRightClick);
|
||||
}
|
||||
|
||||
private void sendScroll(final float y) {
|
||||
BackgroundService.runWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> plugin.sendScroll(0, y));
|
||||
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> plugin.sendScroll(0, y));
|
||||
}
|
||||
|
||||
//TODO: Does not work on KitKat with or without requestFocus()
|
||||
|
@@ -326,7 +326,8 @@ public class MprisMediaSession implements SharedPreferences.OnSharedPreferenceCh
|
||||
.setSmallIcon(R.drawable.ic_play_white)
|
||||
.setShowWhen(false)
|
||||
.setColor(service.getResources().getColor(R.color.primary))
|
||||
.setVisibility(androidx.core.app.NotificationCompat.VISIBILITY_PUBLIC);
|
||||
.setVisibility(androidx.core.app.NotificationCompat.VISIBILITY_PUBLIC)
|
||||
.setSubText(service.getDevice(notificationDevice).getName());
|
||||
|
||||
if (!notificationPlayer.getTitle().isEmpty()) {
|
||||
notification.setContentTitle(notificationPlayer.getTitle());
|
||||
|
@@ -46,22 +46,11 @@ class MprisReceiverCallback extends MediaController.Callback {
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
@Override
|
||||
public void onPlaybackStateChanged(@NonNull PlaybackState state) {
|
||||
switch (state.getState()) {
|
||||
case PlaybackState.STATE_PLAYING:
|
||||
player.setPlaying(true);
|
||||
plugin.sendPlaying(player);
|
||||
break;
|
||||
case PlaybackState.STATE_PAUSED:
|
||||
player.setPaused(true);
|
||||
plugin.sendPlaying(player);
|
||||
break;
|
||||
}
|
||||
plugin.sendMetadata(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMetadataChanged(@Nullable MediaMetadata metadata) {
|
||||
if (metadata == null)
|
||||
return;
|
||||
plugin.sendMetadata(player);
|
||||
}
|
||||
|
||||
|
@@ -34,36 +34,59 @@ class MprisReceiverPlayer {
|
||||
|
||||
private final String name;
|
||||
|
||||
private boolean isPlaying;
|
||||
|
||||
MprisReceiverPlayer(MediaController controller, String name) {
|
||||
|
||||
this.controller = controller;
|
||||
this.name = name;
|
||||
|
||||
if (controller.getPlaybackState() != null) {
|
||||
isPlaying = controller.getPlaybackState().getState() == PlaybackState.STATE_PLAYING;
|
||||
}
|
||||
}
|
||||
|
||||
boolean isPlaying() {
|
||||
return isPlaying;
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
return state.getState() == PlaybackState.STATE_PLAYING;
|
||||
}
|
||||
|
||||
void setPlaying(boolean playing) {
|
||||
isPlaying = playing;
|
||||
boolean canPlay() {
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
if (state.getState() == PlaybackState.STATE_PLAYING) return true;
|
||||
|
||||
return (state.getActions() & (PlaybackState.ACTION_PLAY | PlaybackState.ACTION_PLAY_PAUSE)) != 0;
|
||||
}
|
||||
|
||||
boolean isPaused() {
|
||||
return !isPlaying;
|
||||
boolean canPause() {
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
if (state.getState() == PlaybackState.STATE_PAUSED) return true;
|
||||
|
||||
return (state.getActions() & (PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_PLAY_PAUSE)) != 0;
|
||||
}
|
||||
|
||||
void setPaused(boolean paused) {
|
||||
isPlaying = !paused;
|
||||
boolean canGoPrevious() {
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
return (state.getActions() & PlaybackState.ACTION_SKIP_TO_PREVIOUS) != 0;
|
||||
}
|
||||
|
||||
boolean canGoNext() {
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
return (state.getActions() & PlaybackState.ACTION_SKIP_TO_NEXT) != 0;
|
||||
}
|
||||
|
||||
boolean canSeek() {
|
||||
PlaybackState state = controller.getPlaybackState();
|
||||
if (state == null) return false;
|
||||
|
||||
return (state.getActions() & PlaybackState.ACTION_SEEK_TO) != 0;
|
||||
}
|
||||
|
||||
void playPause() {
|
||||
if (isPlaying) {
|
||||
if (isPlaying()) {
|
||||
controller.getTransportControls().pause();
|
||||
} else {
|
||||
controller.getTransportControls().play();
|
||||
@@ -75,24 +98,31 @@ class MprisReceiverPlayer {
|
||||
}
|
||||
|
||||
String getAlbum() {
|
||||
if (controller.getMetadata() == null)
|
||||
return "";
|
||||
String album = controller.getMetadata().getString(MediaMetadata.METADATA_KEY_ALBUM);
|
||||
MediaMetadata metadata = controller.getMetadata();
|
||||
if (metadata == null) return "";
|
||||
|
||||
String album = metadata.getString(MediaMetadata.METADATA_KEY_ALBUM);
|
||||
return album != null ? album : "";
|
||||
}
|
||||
|
||||
String getArtist() {
|
||||
if (controller.getMetadata() == null)
|
||||
return "";
|
||||
MediaMetadata metadata = controller.getMetadata();
|
||||
if (metadata == null) return "";
|
||||
|
||||
String artist = metadata.getString(MediaMetadata.METADATA_KEY_ARTIST);
|
||||
if (artist == null || artist.isEmpty()) artist = metadata.getString(MediaMetadata.METADATA_KEY_ALBUM_ARTIST);
|
||||
if (artist == null || artist.isEmpty()) artist = metadata.getString(MediaMetadata.METADATA_KEY_AUTHOR);
|
||||
if (artist == null || artist.isEmpty()) artist = metadata.getString(MediaMetadata.METADATA_KEY_WRITER);
|
||||
|
||||
String artist = controller.getMetadata().getString(MediaMetadata.METADATA_KEY_ALBUM_ARTIST);
|
||||
return artist != null ? artist : "";
|
||||
}
|
||||
|
||||
String getTitle() {
|
||||
if (controller.getMetadata() == null)
|
||||
return "";
|
||||
String title = controller.getMetadata().getString(MediaMetadata.METADATA_KEY_TITLE);
|
||||
MediaMetadata metadata = controller.getMetadata();
|
||||
if (metadata == null) return "";
|
||||
|
||||
String title = metadata.getString(MediaMetadata.METADATA_KEY_TITLE);
|
||||
if (title == null || title.isEmpty()) title = metadata.getString(MediaMetadata.METADATA_KEY_DISPLAY_TITLE);
|
||||
return title != null ? title : "";
|
||||
}
|
||||
|
||||
@@ -104,6 +134,18 @@ class MprisReceiverPlayer {
|
||||
controller.getTransportControls().skipToNext();
|
||||
}
|
||||
|
||||
void play() {
|
||||
controller.getTransportControls().play();
|
||||
}
|
||||
|
||||
void pause() {
|
||||
controller.getTransportControls().pause();
|
||||
}
|
||||
|
||||
void stop() {
|
||||
controller.getTransportControls().stop();
|
||||
}
|
||||
|
||||
int getVolume() {
|
||||
if (controller.getPlaybackInfo() == null)
|
||||
return 0;
|
||||
@@ -115,4 +157,15 @@ class MprisReceiverPlayer {
|
||||
return 0;
|
||||
return controller.getPlaybackState().getPosition();
|
||||
}
|
||||
|
||||
void setPosition(long position) {
|
||||
controller.getTransportControls().seekTo(position);
|
||||
}
|
||||
|
||||
long getLength() {
|
||||
MediaMetadata metadata = controller.getMetadata();
|
||||
if (metadata == null) return 0;
|
||||
|
||||
return metadata.getLong(MediaMetadata.METADATA_KEY_DURATION);
|
||||
}
|
||||
}
|
||||
|
@@ -45,6 +45,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
|
||||
//FIXME: Breaks on Android 4 because it extends OnActiveSessionsChangedListener
|
||||
//@PluginFactory.LoadablePlugin
|
||||
public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.OnActiveSessionsChangedListener {
|
||||
|
||||
@@ -78,6 +79,15 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
MediaSessionManager manager = (MediaSessionManager) context.getSystemService(Context.MEDIA_SESSION_SERVICE);
|
||||
if (manager != null) {
|
||||
manager.removeOnActiveSessionsChangedListener(MprisReceiverPlugin.this);
|
||||
}
|
||||
}
|
||||
|
||||
private void createPlayers(List<MediaController> sessions) {
|
||||
for (MediaController controller : sessions) {
|
||||
createPlayer(controller);
|
||||
@@ -116,10 +126,21 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
return true;
|
||||
}
|
||||
|
||||
if (np.has("SetPosition")) {
|
||||
long position = np.getLong("SetPosition", 0);
|
||||
player.setPosition(position);
|
||||
}
|
||||
|
||||
if (np.has("action")) {
|
||||
String action = np.getString("action");
|
||||
|
||||
switch (action) {
|
||||
case "Play":
|
||||
player.play();
|
||||
break;
|
||||
case "Pause":
|
||||
player.pause();
|
||||
break;
|
||||
case "PlayPause":
|
||||
player.playPause();
|
||||
break;
|
||||
@@ -128,6 +149,10 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
break;
|
||||
case "Previous":
|
||||
player.previous();
|
||||
break;
|
||||
case "Stop":
|
||||
player.stop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,6 +184,9 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
}
|
||||
|
||||
private void createPlayer(MediaController controller) {
|
||||
// Skip the media session we created ourselves as KDE Connect
|
||||
if (controller.getPackageName().equals(context.getPackageName())) return;
|
||||
|
||||
MprisReceiverPlayer player = new MprisReceiverPlayer(controller, AppsHelper.appNameLookup(context, controller.getPackageName()));
|
||||
controller.registerCallback(new MprisReceiverCallback(this, player), new Handler(Looper.getMainLooper()));
|
||||
players.put(player.getName(), player);
|
||||
@@ -170,20 +198,12 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
device.sendPacket(np);
|
||||
}
|
||||
|
||||
void sendPlaying(MprisReceiverPlayer player) {
|
||||
|
||||
NetworkPacket np = new NetworkPacket(MprisReceiverPlugin.PACKET_TYPE_MPRIS);
|
||||
np.set("player", player.getName());
|
||||
np.set("isPlaying", player.isPlaying());
|
||||
device.sendPacket(np);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinSdk() {
|
||||
return Build.VERSION_CODES.LOLLIPOP_MR1;
|
||||
}
|
||||
|
||||
public void sendMetadata(MprisReceiverPlayer player) {
|
||||
void sendMetadata(MprisReceiverPlayer player) {
|
||||
NetworkPacket np = new NetworkPacket(MprisReceiverPlugin.PACKET_TYPE_MPRIS);
|
||||
np.set("player", player.getName());
|
||||
if (player.getArtist().isEmpty()) {
|
||||
@@ -196,12 +216,12 @@ public class MprisReceiverPlugin extends Plugin implements MediaSessionManager.O
|
||||
np.set("album", player.getAlbum());
|
||||
np.set("isPlaying", player.isPlaying());
|
||||
np.set("pos", player.getPosition());
|
||||
device.sendPacket(np);
|
||||
}
|
||||
|
||||
public void sendVolume(MprisReceiverPlayer player) {
|
||||
NetworkPacket np = new NetworkPacket(MprisReceiverPlugin.PACKET_TYPE_MPRIS);
|
||||
np.set("player", player.getName());
|
||||
np.set("length", player.getLength());
|
||||
np.set("canPlay", player.canPlay());
|
||||
np.set("canPause", player.canPause());
|
||||
np.set("canGoPrevious", player.canGoPrevious());
|
||||
np.set("canGoNext", player.canGoNext());
|
||||
np.set("canSeek", player.canSeek());
|
||||
np.set("volume", player.getVolume());
|
||||
device.sendPacket(np);
|
||||
}
|
||||
|
@@ -466,8 +466,10 @@ public class NotificationsPlugin extends Plugin implements NotificationReceiver.
|
||||
|
||||
private void sendCurrentNotifications(NotificationReceiver service) {
|
||||
StatusBarNotification[] notifications = service.getActiveNotifications();
|
||||
for (StatusBarNotification notification : notifications) {
|
||||
sendNotification(notification);
|
||||
if (notifications != null) { //Can happen only on API 23 and lower
|
||||
for (StatusBarNotification notification : notifications) {
|
||||
sendNotification(notification);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -25,7 +25,7 @@ public class PhotoActivity extends AppCompatActivity {
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
|
||||
BackgroundService.runWithPlugin(this, getIntent().getStringExtra("deviceId"), PhotoPlugin.class, plugin -> {
|
||||
BackgroundService.RunWithPlugin(this, getIntent().getStringExtra("deviceId"), PhotoPlugin.class, plugin -> {
|
||||
this.plugin = plugin;
|
||||
});
|
||||
|
||||
|
@@ -27,6 +27,7 @@ import android.util.Log;
|
||||
import org.atteo.classindex.ClassIndex;
|
||||
import org.atteo.classindex.IndexAnnotated;
|
||||
import org.kde.kdeconnect.Device;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
|
@@ -52,7 +52,7 @@ public class PresenterActivity extends AppCompatActivity {
|
||||
|
||||
final String deviceId = getIntent().getStringExtra("deviceId");
|
||||
|
||||
BackgroundService.runWithPlugin(this, deviceId, PresenterPlugin.class, plugin -> runOnUiThread(() -> {
|
||||
BackgroundService.RunWithPlugin(this, deviceId, PresenterPlugin.class, plugin -> runOnUiThread(() -> {
|
||||
this.plugin = plugin;
|
||||
findViewById(R.id.next_button).setOnClickListener(v -> plugin.sendNext());
|
||||
findViewById(R.id.previous_button).setOnClickListener(v -> plugin.sendPrevious());
|
||||
|
@@ -23,6 +23,7 @@ package org.kde.kdeconnect.Plugins.RemoteKeyboardPlugin;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.SystemClock;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.util.SparseIntArray;
|
||||
import android.view.KeyEvent;
|
||||
@@ -34,6 +35,8 @@ import android.view.inputmethod.InputConnection;
|
||||
import org.kde.kdeconnect.NetworkPacket;
|
||||
import org.kde.kdeconnect.Plugins.Plugin;
|
||||
import org.kde.kdeconnect.Plugins.PluginFactory;
|
||||
import org.kde.kdeconnect.UserInterface.AlertDialogFragment;
|
||||
import org.kde.kdeconnect.UserInterface.StartActivityAlertDialogFragment;
|
||||
import org.kde.kdeconnect_tp.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -393,4 +396,22 @@ public class RemoteKeyboardPlugin extends Plugin {
|
||||
String getDeviceId() {
|
||||
return device.getDeviceId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkRequiredPermissions() {
|
||||
return Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS).contains("org.kde.kdeconnect_tp");
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlertDialogFragment getPermissionExplanationDialog(int requestCode) {
|
||||
return new StartActivityAlertDialogFragment.Builder()
|
||||
.setTitle(R.string.pref_plugin_remotekeyboard)
|
||||
.setMessage(R.string.no_permissions_remotekeyboard)
|
||||
.setPositiveButton(R.string.open_settings)
|
||||
.setNegativeButton(R.string.cancel)
|
||||
.setIntentAction(Settings.ACTION_INPUT_METHOD_SETTINGS)
|
||||
.setStartForResult(true)
|
||||
.setRequestCode(requestCode)
|
||||
.create();
|
||||
}
|
||||
}
|
||||
|
@@ -25,7 +25,6 @@ import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
@@ -40,7 +39,6 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.kde.kdeconnect.BackgroundService;
|
||||
import org.kde.kdeconnect.Device;
|
||||
import org.kde.kdeconnect.UserInterface.List.ListAdapter;
|
||||
import org.kde.kdeconnect.UserInterface.ThemeUtil;
|
||||
import org.kde.kdeconnect_tp.R;
|
||||
@@ -59,15 +57,8 @@ public class RunCommandActivity extends AppCompatActivity {
|
||||
private ArrayList<ListAdapter.Item> commandItems;
|
||||
|
||||
private void updateView() {
|
||||
BackgroundService.RunCommand(this, service -> {
|
||||
|
||||
final Device device = service.getDevice(deviceId);
|
||||
final RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class);
|
||||
if (plugin == null) {
|
||||
Log.e("RunCommandActivity", "device has no runcommand plugin!");
|
||||
return;
|
||||
}
|
||||
|
||||
BackgroundService.RunWithPlugin(this, deviceId, RunCommandPlugin.class, plugin -> {
|
||||
runOnUiThread(() -> {
|
||||
ListView view = findViewById(R.id.runcommandslist);
|
||||
|
||||
@@ -120,27 +111,25 @@ public class RunCommandActivity extends AppCompatActivity {
|
||||
boolean canAddCommands = BackgroundService.getInstance().getDevice(deviceId).getPlugin(RunCommandPlugin.class).canAddCommand();
|
||||
|
||||
FloatingActionButton addCommandButton = findViewById(R.id.add_command_button);
|
||||
addCommandButton.setVisibility(canAddCommands ? View.VISIBLE : View.GONE);
|
||||
if (canAddCommands) {
|
||||
addCommandButton.show();
|
||||
} else {
|
||||
addCommandButton.hide();
|
||||
}
|
||||
|
||||
addCommandButton.setOnClickListener(view -> BackgroundService.RunCommand(RunCommandActivity.this, service -> {
|
||||
addCommandButton.setOnClickListener(v -> {
|
||||
|
||||
final Device device = service.getDevice(deviceId);
|
||||
final RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class);
|
||||
if (plugin == null) {
|
||||
Log.e("RunCommandActivity", "device has no runcommand plugin!");
|
||||
return;
|
||||
}
|
||||
BackgroundService.RunWithPlugin(RunCommandActivity.this, deviceId, RunCommandPlugin.class, plugin -> {
|
||||
plugin.sendSetupPacket();
|
||||
AlertDialog dialog = new AlertDialog.Builder(RunCommandActivity.this)
|
||||
.setTitle(R.string.add_command)
|
||||
.setMessage(R.string.add_command_description)
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.create();
|
||||
dialog.show();
|
||||
});
|
||||
|
||||
plugin.sendSetupPacket();
|
||||
|
||||
AlertDialog dialog = new AlertDialog.Builder(RunCommandActivity.this)
|
||||
.setTitle(R.string.add_command)
|
||||
.setMessage(R.string.add_command_description)
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.create();
|
||||
dialog.show();
|
||||
|
||||
}));
|
||||
});
|
||||
|
||||
updateView();
|
||||
}
|
||||
@@ -171,14 +160,7 @@ public class RunCommandActivity extends AppCompatActivity {
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
BackgroundService.RunCommand(this, service -> {
|
||||
|
||||
final Device device = service.getDevice(deviceId);
|
||||
final RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class);
|
||||
if (plugin == null) {
|
||||
Log.e("RunCommandActivity", "device has no runcommand plugin!");
|
||||
return;
|
||||
}
|
||||
BackgroundService.RunWithPlugin(this, deviceId, RunCommandPlugin.class, plugin -> {
|
||||
plugin.addCommandsUpdatedCallback(commandsChangedCallback);
|
||||
});
|
||||
}
|
||||
@@ -187,14 +169,7 @@ public class RunCommandActivity extends AppCompatActivity {
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
||||
BackgroundService.RunCommand(this, service -> {
|
||||
|
||||
final Device device = service.getDevice(deviceId);
|
||||
final RunCommandPlugin plugin = device.getPlugin(RunCommandPlugin.class);
|
||||
if (plugin == null) {
|
||||
Log.e("RunCommandActivity", "device has no runcommand plugin!");
|
||||
return;
|
||||
}
|
||||
BackgroundService.RunWithPlugin(this, deviceId, RunCommandPlugin.class, plugin -> {
|
||||
plugin.removeCommandsUpdatedCallback(commandsChangedCallback);
|
||||
});
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright 2014 Albert Vaca Cintora <albertvaka@gmail.com>
|
||||
* Copyright 2019 Simon Redman <simon@ergotech.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
@@ -32,6 +33,7 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Telephony;
|
||||
import android.telephony.PhoneNumberUtils;
|
||||
import android.telephony.SmsManager;
|
||||
import android.telephony.SmsMessage;
|
||||
@@ -127,7 +129,7 @@ public class SMSPlugin extends Plugin {
|
||||
|
||||
//Log.e("TelephonyPlugin","Telephony event: " + action);
|
||||
|
||||
if ("android.provider.Telephony.SMS_RECEIVED".equals(action)) {
|
||||
if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(action)) {
|
||||
|
||||
final Bundle bundle = intent.getExtras();
|
||||
if (bundle == null) return;
|
||||
@@ -274,7 +276,7 @@ public class SMSPlugin extends Plugin {
|
||||
public boolean onCreate() {
|
||||
permissionExplanation = R.string.telepathy_permission_explanation;
|
||||
|
||||
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
|
||||
IntentFilter filter = new IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION);
|
||||
filter.setPriority(500);
|
||||
context.registerReceiver(receiver, filter);
|
||||
|
||||
@@ -428,6 +430,9 @@ public class SMSPlugin extends Plugin {
|
||||
|
||||
@Override
|
||||
public String[] getRequiredPermissions() {
|
||||
return new String[]{Manifest.permission.SEND_SMS};
|
||||
return new String[]{
|
||||
Manifest.permission.SEND_SMS,
|
||||
Manifest.permission.READ_SMS,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@@ -88,7 +88,7 @@ class RootFile implements SshFile {
|
||||
}
|
||||
|
||||
public String readSymbolicLink() {
|
||||
return null;
|
||||
return "";
|
||||
}
|
||||
|
||||
public void createSymbolicLink(SshFile destination) {
|
||||
|
@@ -89,7 +89,7 @@ public class SendFileActivity extends AppCompatActivity {
|
||||
if (uris.isEmpty()) {
|
||||
Log.w("SendFileActivity", "No files to send?");
|
||||
} else {
|
||||
BackgroundService.runWithPlugin(this, mDeviceId, SharePlugin.class, plugin -> plugin.queuedSendUriList(uris));
|
||||
BackgroundService.RunWithPlugin(this, mDeviceId, SharePlugin.class, plugin -> plugin.queuedSendUriList(uris));
|
||||
}
|
||||
}
|
||||
finish();
|
||||
|
@@ -113,7 +113,7 @@ public class ShareActivity extends AppCompatActivity {
|
||||
list.setOnItemClickListener((adapterView, view, i, l) -> {
|
||||
|
||||
Device device = devicesList.get(i - 1); //NOTE: -1 because of the title!
|
||||
BackgroundService.runWithPlugin(this, device.getDeviceId(), SharePlugin.class, plugin -> plugin.share(intent));
|
||||
BackgroundService.RunWithPlugin(this, device.getDeviceId(), SharePlugin.class, plugin -> plugin.share(intent));
|
||||
finish();
|
||||
});
|
||||
});
|
||||
@@ -147,7 +147,7 @@ public class ShareActivity extends AppCompatActivity {
|
||||
final String deviceId = intent.getStringExtra("deviceId");
|
||||
|
||||
if (deviceId != null) {
|
||||
BackgroundService.runWithPlugin(this, deviceId, SharePlugin.class, plugin -> {
|
||||
BackgroundService.RunWithPlugin(this, deviceId, SharePlugin.class, plugin -> {
|
||||
plugin.share(intent);
|
||||
finish();
|
||||
});
|
||||
|
@@ -67,7 +67,6 @@ public class SharePlugin extends Plugin {
|
||||
final static String KEY_NUMBER_OF_FILES = "numberOfFiles";
|
||||
final static String KEY_TOTAL_PAYLOAD_SIZE = "totalPayloadSize";
|
||||
|
||||
private final static boolean openUrlsDirectly = true;
|
||||
private BackgroundJobHandler backgroundJobHandler;
|
||||
private final Handler handler;
|
||||
|
||||
@@ -169,32 +168,7 @@ public class SharePlugin extends Plugin {
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
||||
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
|
||||
if (openUrlsDirectly) {
|
||||
context.startActivity(browserIntent);
|
||||
} else {
|
||||
Resources res = context.getResources();
|
||||
|
||||
PendingIntent resultPendingIntent = PendingIntent.getActivity(
|
||||
context,
|
||||
0,
|
||||
browserIntent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT
|
||||
);
|
||||
|
||||
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
|
||||
Notification noti = new NotificationCompat.Builder(context, NotificationHelper.Channels.DEFAULT)
|
||||
.setContentTitle(res.getString(R.string.received_url_title, device.getName()))
|
||||
.setContentText(res.getString(R.string.received_url_text, url))
|
||||
.setContentIntent(resultPendingIntent)
|
||||
.setTicker(res.getString(R.string.received_url_title, device.getName()))
|
||||
.setSmallIcon(R.drawable.ic_notification)
|
||||
.setAutoCancel(true)
|
||||
.setDefaults(Notification.DEFAULT_ALL)
|
||||
.build();
|
||||
|
||||
NotificationHelper.notifyCompat(notificationManager, (int) System.currentTimeMillis(), noti);
|
||||
}
|
||||
context.startActivity(browserIntent);
|
||||
}
|
||||
|
||||
private void receiveText(NetworkPacket np) {
|
||||
|
@@ -30,10 +30,10 @@ import org.kde.kdeconnect_tp.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@PluginFactory.LoadablePlugin
|
||||
public class SystemvolumePlugin extends Plugin {
|
||||
public class SystemVolumePlugin extends Plugin {
|
||||
|
||||
private final static String PACKET_TYPE_SYSTEMVOLUME = "kdeconnect.systemvolume";
|
||||
private final static String PACKET_TYPE_SYSTEMVOLUME_REQUEST = "kdeconnect.systemvolume.request";
|
||||
@@ -42,11 +42,11 @@ public class SystemvolumePlugin extends Plugin {
|
||||
void sinksChanged();
|
||||
}
|
||||
|
||||
private final HashMap<String, Sink> sinks;
|
||||
private final ConcurrentHashMap<String, Sink> sinks;
|
||||
private final ArrayList<SinkListener> listeners;
|
||||
|
||||
public SystemvolumePlugin() {
|
||||
sinks = new HashMap<>();
|
||||
public SystemVolumePlugin() {
|
||||
sinks = new ConcurrentHashMap<>();
|
||||
listeners = new ArrayList<>();
|
||||
}
|
||||
|
@@ -37,9 +37,9 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
|
||||
public class SystemvolumeFragment extends ListFragment implements Sink.UpdateListener, SystemvolumePlugin.SinkListener {
|
||||
public class SystemvolumeFragment extends ListFragment implements Sink.UpdateListener, SystemVolumePlugin.SinkListener {
|
||||
|
||||
private SystemvolumePlugin plugin;
|
||||
private SystemVolumePlugin plugin;
|
||||
private Activity activity;
|
||||
private SinkAdapter adapter;
|
||||
private Context context;
|
||||
@@ -63,7 +63,7 @@ public class SystemvolumeFragment extends ListFragment implements Sink.UpdateLis
|
||||
}
|
||||
|
||||
public void connectToPlugin(final String deviceId) {
|
||||
BackgroundService.runWithPlugin(activity, deviceId, SystemvolumePlugin.class, plugin -> {
|
||||
BackgroundService.RunWithPlugin(activity, deviceId, SystemVolumePlugin.class, plugin -> {
|
||||
this.plugin = plugin;
|
||||
plugin.addSinkListener(SystemvolumeFragment.this);
|
||||
plugin.requestSinkList();
|
||||
|
@@ -51,14 +51,11 @@ public class TelephonyPlugin extends Plugin {
|
||||
|
||||
|
||||
/**
|
||||
* Packet used for simple telephony events
|
||||
* Packet used for simple call events
|
||||
* <p>
|
||||
* It contains the key "event" which maps to a string indicating the type of event:
|
||||
* - "ringing" - A phone call is incoming
|
||||
* - "missedCall" - An incoming call was not answered
|
||||
* - "sms" - An incoming SMS message
|
||||
* - Note: As of this writing (15 May 2018) the SMS interface is being improved and this type of event
|
||||
* is no longer the preferred way of handling SMS. Use the packets defined by the SMS plugin instead.
|
||||
* <p>
|
||||
* Depending on the event, other fields may be defined
|
||||
*/
|
||||
@@ -70,18 +67,9 @@ public class TelephonyPlugin extends Plugin {
|
||||
* The two possible events used the be to request a message be sent or request the device
|
||||
* silence its ringer
|
||||
* <p>
|
||||
* In case an SMS was being requested, the body was like so:
|
||||
* { "sendSms": true,
|
||||
* "phoneNumber": "542904563213",
|
||||
* "messageBody": "Hi mom!"
|
||||
* }
|
||||
* <p>
|
||||
* In case a ringer muted was requested, the body looked like so:
|
||||
* { "action": "mute" }
|
||||
* <p>
|
||||
* As of 15 May 2018, the SMS interface is being improved. Use the packets defined by the
|
||||
* SMS plugin instead for SMS events
|
||||
* <p>
|
||||
* Ringer mute requests are best handled by PACKET_TYPE_TELEPHONY_REQUEST_MUTE
|
||||
* <p>
|
||||
* This packet type is retained for backwards-compatibility with old desktop applications,
|
||||
@@ -120,15 +108,15 @@ public class TelephonyPlugin extends Plugin {
|
||||
else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))
|
||||
intState = TelephonyManager.CALL_STATE_OFFHOOK;
|
||||
|
||||
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
|
||||
if (number == null)
|
||||
number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
|
||||
// We will get a second broadcast with the phone number https://developer.android.com/reference/android/telephony/TelephonyManager#ACTION_PHONE_STATE_CHANGED
|
||||
if (!intent.hasExtra(TelephonyManager.EXTRA_INCOMING_NUMBER))
|
||||
return;
|
||||
String number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
|
||||
|
||||
final int finalIntState = intState;
|
||||
final String finalNumber = number;
|
||||
|
||||
if (finalIntState != lastState) {
|
||||
callBroadcastReceived(finalIntState, finalNumber);
|
||||
callBroadcastReceived(finalIntState, number);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -255,9 +243,8 @@ public class TelephonyPlugin extends Plugin {
|
||||
|
||||
@Override
|
||||
public boolean onCreate() {
|
||||
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
|
||||
IntentFilter filter = new IntentFilter(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
|
||||
filter.setPriority(500);
|
||||
filter.addAction(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
|
||||
context.registerReceiver(receiver, filter);
|
||||
permissionExplanation = R.string.telephony_permission_explanation;
|
||||
optionalPermissionExplanation = R.string.telephony_optional_permission_explanation;
|
||||
@@ -314,7 +301,14 @@ public class TelephonyPlugin extends Plugin {
|
||||
|
||||
@Override
|
||||
public String[] getRequiredPermissions() {
|
||||
return new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_SMS};
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
return new String[]{
|
||||
Manifest.permission.READ_PHONE_STATE,
|
||||
Manifest.permission.READ_CALL_LOG
|
||||
};
|
||||
} else {
|
||||
return new String[0];
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -199,6 +199,7 @@ public class DeviceFragment extends Fragment {
|
||||
});
|
||||
|
||||
unbinder.unbind();
|
||||
rootView = null;
|
||||
|
||||
super.onDestroyView();
|
||||
}
|
||||
|
Reference in New Issue
Block a user