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

Compare commits

...

16 Commits

Author SHA1 Message Date
Albert Vaca
0ae3d487e3 Bumped version for release 2017-06-21 03:27:03 +02:00
Albert Vaca
37aab9a520 Ignore all exceptions from ContentResolver.query 2017-06-21 03:27:03 +02:00
Albert Vaca
c18dc3b724 Fix crash when trying to stop stfp while it was mounted 2017-06-21 03:23:29 +02:00
l10n daemon script
70a94a7e1d GIT_SILENT made messages (after extraction) 2017-06-13 05:10:21 +02:00
l10n daemon script
b57c22468c GIT_SILENT made messages (after extraction) 2017-06-05 04:40:58 +02:00
l10n daemon script
5c3607dde5 GIT_SILENT made messages (after extraction) 2017-05-30 04:50:50 +02:00
l10n daemon script
b9a366df09 GIT_SILENT Add new file (after extraction) 2017-05-27 04:52:01 +02:00
Albert Vaca
cea712ced9 Bumped version for release 2017-05-24 00:29:41 +02:00
Albert Vaca
124a971a1f Never crash if there is a problem in isOnMobileNetwork 2017-05-24 00:29:33 +02:00
Albert Vaca
82b42fda67 Fix NPE 2017-05-24 00:23:57 +02:00
Albert Vaca
7c02f79c22 Attempt to fix NPE 2017-05-24 00:21:45 +02:00
Albert Vaca
23d54eaedf Fix crash on Android 5.1 when calling registerReceiver(null)
Plus small optimization by re-using the NetworkPackage.
2017-05-24 00:11:43 +02:00
Albert Vaca
7ad141bb6d Revert "Fixing sent SMS not appearing in the SMS app on old phones"
Doesn't seem to actually work.

This reverts commit 40c9b67033.
2017-05-23 23:00:31 +02:00
Albert Vaca
e68925c852 Bumped version to release in Beta 2017-05-17 23:14:21 +02:00
Albert Vaca
62cab267b4 Bumped gradle version 2017-05-17 23:13:43 +02:00
Albert Vaca
40c9b67033 Fixing sent SMS not appearing in the SMS app on old phones
BUG: 368069
2017-05-17 23:13:33 +02:00
11 changed files with 310 additions and 67 deletions

View File

@@ -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="1630"
android:versionName="1.6.3">
android:versionCode="1650"
android:versionName="1.6.5">
<uses-sdk android:minSdkVersion="9"
android:targetSdkVersion="22" />

View File

@@ -3,7 +3,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.android.tools.build:gradle:2.3.2'
}
}

View File

@@ -91,7 +91,7 @@
<string name="received_file_title">Fitxer rebut des de %1s</string>
<string name="received_file_fail_title">Ha fallat en rebre el fitxer des de %1s</string>
<string name="received_file_text">Puntegeu per obrir «%1s»</string>
<string name="sent_file_title">Envia el fitxer a %1s</string>
<string name="sent_file_title">Fitxer enviat a %1s</string>
<string name="sent_file_text">%1s</string>
<string name="sent_file_failed_title">Ha fallat en enviar el fitxer a %1s</string>
<string name="sent_file_failed_text">%1s</string>

View File

@@ -1,18 +1,27 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="pref_plugin_telephony">Notifications du téléphonie</string>
<string name="pref_plugin_telephony">Notifications de téléphonie</string>
<string name="pref_plugin_telephony_desc">Envoie des notifications pour les SMS et les appels</string>
<string name="pref_plugin_battery">Rapport sur la batterie</string>
<string name="pref_plugin_battery_desc">Rapport périodique sur l\'état de la batterie</string>
<string name="pref_plugin_sftp">Exposer le système de fichiers</string>
<string name="pref_plugin_sftp_desc">Permettre de parcourir le système de fichiers du périphérique à distance</string>
<string name="pref_plugin_clipboard">Synchronisation avec le presse-papiers</string>
<string name="pref_plugin_clipboard_desc">Partage le contenu du presse-papiers</string>
<string name="pref_plugin_mousepad">Contrôle distant</string>
<string name="pref_plugin_mousepad_desc">Utilisez votre téléphone ou tablette comme un pavé tactile et un clavier</string>
<string name="pref_plugin_remotekeyboard">Recevoir les appuis de touches distants</string>
<string name="pref_plugin_remotekeyboard_desc">Recevoir les appuis de touches des périphériques distants</string>
<string name="pref_plugin_mpris">Contrôles multimédia</string>
<string name="pref_plugin_mpris_desc">Fournit une télécommande pour votre lecteur multimédia</string>
<string name="pref_plugin_runcommand">Exécuter une commande</string>
<string name="pref_plugin_runcommand_desc">Exécuter des commandes à distance sur votre téléphone ou tablette</string>
<string name="pref_plugin_ping">Commande « Ping »</string>
<string name="pref_plugin_ping_desc">Envoie et reçoit des commandes « Ping »</string>
<string name="pref_plugin_notifications">Synchronisation des notifications</string>
<string name="pref_plugin_notifications_desc">Accédez à vos notifications depuis d\'autres périphériques</string>
<string name="pref_plugin_receive_notifications">Recevoir les notifications</string>
<string name="pref_plugin_receive_notifications_desc">Recevoir les notifications du périphérique et les afficher dans Android</string>
<string name="pref_plugin_sharereceiver">Partager et recevoir</string>
<string name="pref_plugin_sharereceiver_desc">Partagez des URLs et des fichiers entre périphériques</string>
<string name="plugin_not_available">Cette fonctionnalité n\'est pas disponible dans votre version de Android</string>
@@ -23,10 +32,16 @@
<string name="no_permissions">Vous devez accorder la permission d\'accéder aux notifications</string>
<string name="send_ping">Envoyer un « Ping »</string>
<string name="open_mpris_controls">Contrôles multimédia</string>
<string name="remotekeyboard_editing_only_title">Gérer les appuis de touches à distance uniquement lors de l\'édition</string>
<string name="remotekeyboard_not_connected">Aucune connexion active d\'un clavier sans fil disponible, établissez-en une dans KDE Connect</string>
<string name="remotekeyboard_connected">La connexion au clavier sans fil est active</string>
<string name="remotekeyboard_multiple_connections">Plusieurs connexions à des claviers sans fil sont disponibles, sélectionnez le périphérique à configurer</string>
<string name="open_mousepad">Contrôle distant</string>
<string name="mousepad_info">Déplacer le doigt sur l\'écran pour bouger le pointeur de la souris. Appuyez pour cliquer et utiliser deux/trois doigts pour les clic droit et centre. Appuyez longtemps pour faire un glisser déplacer.</string>
<string name="mousepad_double_tap_settings_title">Action pour l\'appui à deux doigts</string>
<string name="mousepad_triple_tap_settings_title">Action pour l\'appui à trois doigts</string>
<string name="mousepad_sensitivity_settings_title">Définir la sensibilité du pavé tactile</string>
<string name="mousepad_scroll_direction_title">Inverser la direction du défilement</string>
<string-array name="mousepad_tap_entries">
<item>Clic droit</item>
<item>Clic central</item>
@@ -34,54 +49,63 @@
</string-array>
<string name="mousepad_double_default">Droite</string>
<string name="mousepad_triple_default">Milieu</string>
<string name="mousepad_sensitivity_default">par défaut</string>
<string-array name="mousepad_sensitivity_entries">
<item>Slowest</item>
<item>Above Slowest</item>
<item>Default</item>
<item>Above Default</item>
<item>Fastest</item>
<item>Le plus lent</item>
<item>Assez lent</item>
<item>Par défaut</item>
<item>Assez rapide</item>
<item>Le plus rapide</item>
</string-array>
<string name="category_connected_devices">Périphériques connectés</string>
<string name="category_not_paired_devices">Périphériques disponibles</string>
<string name="category_remembered_devices">Périphériques mémorisés</string>
<string name="plugins_failed_to_load">Le chargement des modules externes a échoué (cliquez pour plus d\'informations) :</string>
<string name="device_menu_plugins">Paramètres du module externe</string>
<string name="device_menu_unpair">Désapparier</string>
<string name="device_menu_unpair">Dissocier</string>
<string name="device_not_reachable">Périphérique inaccessible</string>
<string name="pair_new_device">Associer un nouveau périphérique</string>
<string name="unknown_device">Périphérique inconnu</string>
<string name="error_not_reachable">Périphérique inaccessible</string>
<string name="error_already_requested">L\'appariement a déjà été demandé</string>
<string name="error_already_paired">Périphérique déjà appar</string>
<string name="error_already_requested">L\'association a déjà été demandée</string>
<string name="error_already_paired">Périphérique déjà assoc</string>
<string name="error_could_not_send_package">Il est impossible d\'envoyer un paquet</string>
<string name="error_timed_out">Délai expiré</string>
<string name="error_canceled_by_user">Annulé par l\'utilisateur</string>
<string name="error_canceled_by_other_peer">Annulé par un autre homologue</string>
<string name="error_invalid_key">Clé reçue non valable</string>
<string name="encryption_info_title">Informations de chiffrement</string>
<string name="encryption_info_msg_no_ssl">Ce périphérique n\'utilise pas une version récente de KDE Connect qui utilise l\'ancienne méthode de chiffrement.</string>
<string name="my_device_fingerprint">L\'empreinte SHA1 du certificat de votre appareil est :</string>
<string name="remote_device_fingerprint">L\'empreinte SHA1 du certificat du périphérique distant est :</string>
<string name="pair_requested">Paire demandée</string>
<string name="pairing_request_from">Demande d\'appariement provenant de %1s</string>
<string name="pairing_request_from">Demande d\'association provenant de %1s</string>
<string name="received_url_title">Lien reçu de %1s</string>
<string name="received_url_text">Appuyez pour ouvrir %1s</string>
<string name="incoming_file_title">Réception d\'un fichier en cours depuis %1s</string>
<string name="incoming_file_text">%1s</string>
<string name="outgoing_file_title">Envoi d\'un fichier à %1s</string>
<string name="outgoing_files_title">Envoi de fichiers à %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="outgoing_files_text">Envoi de %1$d sur %2$d fichiers</string>
<string name="received_file_title">Fichier reçu de %1s</string>
<string name="received_file_fail_title">Impossible de recevoir le fichier depuis : %1s</string>
<string name="received_file_text">Appuyez pour ouvrir %1s</string>
<string name="sent_file_title">Fichier envoyé à %1s</string>
<string name="sent_file_text">%1s</string>
<string name="sent_file_failed_title">Impossible d\'envoyer le fichier à %1s</string>
<string name="sent_file_failed_text">%1s</string>
<string name="tap_to_answer">Cliquer pour répondre</string>
<string name="reconnect">Reconnecter</string>
<string name="right_click">Envoyer un clic droit</string>
<string name="middle_click">Envoyer un clic central</string>
<string name="show_keyboard">Afficher le clavier</string>
<string name="device_not_paired">Périphérique non appar</string>
<string name="request_pairing">Demande d\'appariement</string>
<string name="device_not_paired">Périphérique non assoc</string>
<string name="request_pairing">Demande d\'association</string>
<string name="pairing_accept">Accepter</string>
<string name="pairing_reject">Rejeter</string>
<string name="device">Périphérique</string>
<string name="pair_device">Apparier un périphérique</string>
<string name="pair_device">Associer un périphérique</string>
<string name="remote_control">Contrôle distant</string>
<string name="settings">Paramètres de connexion de KDE</string>
<string name="mpris_play">Lire</string>
@@ -111,9 +135,15 @@
<string name="invalid_device_name">Nom de périphérique non valable</string>
<string name="shareplugin_text_saved">Texte reçu et enregistré dans le presse-papiers</string>
<string name="custom_devices_settings">Liste personnalisée de périphériques</string>
<string name="pair_device_action">Associer un nouveau périphérique</string>
<string name="unpair_device_action">Dissocier %s</string>
<string name="custom_device_list">Ajouter des périphériques par IP</string>
<string name="share_notification_preference">Notifications sonores</string>
<string name="share_notification_preference_summary">Vibrer et jouer un son quand un fichier est reçu</string>
<string name="share_destination_customize">Personnaliser le dossier de destination</string>
<string name="share_destination_customize_summary_disabled">Les fichiers reçus apparaîtront dans le dossier de téléchargement</string>
<string name="share_destination_customize_summary_enabled">Les fichiers seront enregistrés dans le dossier ci-dessous</string>
<string name="share_destination_folder_preference">Dossier de destination</string>
<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>
@@ -123,8 +153,27 @@
<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="add_host_hint">"Nom d\'hôte ou adresse IP "</string>
<string name="no_players_connected">Aucun lecteur trouvé</string>
<string name="custom_dev_list_help">N\'utilisez cette option que si votre périphérique n\'est pas détecté automatiquement. Saisissez l\'adresse IP ou le nom d\'hôte ci-dessous et appuyez sur le bouton pour l\'ajouter à la liste. Appuyez sur un élément existant pour le retirer de la liste.</string>
<string name="mpris_player_on_device">%1$s sur %2$s</string>
<string name="send_files">Envoyer des fichiers</string>
<string name="pairing_title">Périphériques KDE Connect</string>
<string name="pairing_description">Les autres périphériques utilisant KDE Connect dans votre réseau apparaissent ici.</string>
<string name="device_paired">Périphérique associé</string>
<string name="device_rename_title">Renommer le périphérique</string>
<string name="device_rename_confirm">Renommer</string>
<string name="refresh">Mettre à jour</string>
<string name="unreachable_description">Ce périphérique associé n\'est pas joignable. Assurez-vous qu\'il est bien connecté au même réseau.</string>
<string name="on_data_message">Il semble que vous utilisiez une connexion de données mobile. KDE Connect fonctionne uniquement sur un réseau local.</string>
<string name="no_file_browser">Aucun navigateur de fichiers installé.</string>
<string name="pref_plugin_telepathy">Envoyer un SMS</string>
<string name="pref_plugin_telepathy_desc">Envoyer des SMS depuis votre bureau</string>
<string name="plugin_not_supported">Ce module externe n\'est pas géré par le périphérique</string>
<string name="findmyphone_title">Trouver mon téléphone</string>
<string name="findmyphone_title_tablet">Trouver ma tablette</string>
<string name="findmyphone_description">Fait sonner le périphérique pour vous aider à le retrouver</string>
<string name="findmyphone_found">Trouvé</string>
<string name="open">Ouvrir</string>
<string name="close">Fermer</string>
</resources>

179
res/values-sr/strings.xml Normal file
View File

@@ -0,0 +1,179 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="pref_plugin_telephony">Обавештења телефона</string>
<string name="pref_plugin_telephony_desc">Шаље обавештења за СМС и позиве</string>
<string name="pref_plugin_battery">Извештај о батерији</string>
<string name="pref_plugin_battery_desc">Периодично извештава о стању батерије</string>
<string name="pref_plugin_sftp">Приступ фајл систему</string>
<string name="pref_plugin_sftp_desc">Дозвољава даљински приступ фајл систему уређаја</string>
<string name="pref_plugin_clipboard">Усклађени клипборд</string>
<string name="pref_plugin_clipboard_desc">Дељење садржаја клипборда</string>
<string name="pref_plugin_mousepad">Даљински унос</string>
<string name="pref_plugin_mousepad_desc">Користите телефон или таблет као додирник и тастатуру</string>
<string name="pref_plugin_remotekeyboard">Пријем даљинских тастера</string>
<string name="pref_plugin_remotekeyboard_desc">Примање тастерских догађаја са удаљених уређаја</string>
<string name="pref_plugin_mpris">Управљање мултимедијом</string>
<string name="pref_plugin_mpris_desc">Омогућава даљинско управљање медија плејером</string>
<string name="pref_plugin_runcommand">Извршавање наредбе</string>
<string name="pref_plugin_runcommand_desc">Даљински окида наредбе са телефона или таблета</string>
<string name="pref_plugin_ping">Пинг</string>
<string name="pref_plugin_ping_desc">Шаље и прима пингове</string>
<string name="pref_plugin_notifications">Усклађена обавештења</string>
<string name="pref_plugin_notifications_desc">Приступа вашим обавештењима са другог уређаја</string>
<string name="pref_plugin_receive_notifications">Пријем обавештења</string>
<string name="pref_plugin_receive_notifications_desc">Прима обавештења са других уређаја и приказује их на Андроиду</string>
<string name="pref_plugin_sharereceiver">Дели и примај</string>
<string name="pref_plugin_sharereceiver_desc">Дели фајлове и УРЛ‑ове између уређаја</string>
<string name="plugin_not_available">Ова могућност није доступна на вашој верзији Андроида</string>
<string name="device_list_empty">Нема уређаја</string>
<string name="ok">У реду</string>
<string name="cancel">Откажи</string>
<string name="open_settings">Отвори поставке</string>
<string name="no_permissions">Морате дати дозволу за приступ обавештењима</string>
<string name="send_ping">Пошаљи пинг</string>
<string name="open_mpris_controls">Контрола мултимедије</string>
<string name="remotekeyboard_editing_only_title">Користи даљинске дугмиће само при уређивању</string>
<string name="remotekeyboard_not_connected">Нема активне везе даљинске тастатуре. Успоставите је у КДЕ‑конекцији</string>
<string name="remotekeyboard_connected">Веза даљинске тастатуре је активна</string>
<string name="remotekeyboard_multiple_connections">Постоји више од једне везе даљинске тастатуре. Изаберите уређај да бисте подесили</string>
<string name="open_mousepad">Даљински унос</string>
<string name="mousepad_info">Померајте прст по екрану да бисте померали показивач миша. Тапните за клик или користите два/три прста за десни или средњи клик. Задржите за превуци и пусти.</string>
<string name="mousepad_double_tap_settings_title">Радња за додир са два прста</string>
<string name="mousepad_triple_tap_settings_title">Радња за додир са три прста</string>
<string name="mousepad_sensitivity_settings_title">Постави осетљивост додирника</string>
<string name="mousepad_scroll_direction_title">Обрни смер клизања</string>
<string-array name="mousepad_tap_entries">
<item>десни клик</item>
<item>средњи клик</item>
<item>ништа</item>
</string-array>
<string name="mousepad_double_default">десни</string>
<string name="mousepad_triple_default">средњи</string>
<string name="mousepad_sensitivity_default">подразумевано</string>
<string-array name="mousepad_sensitivity_entries">
<item>најспорије</item>
<item>мало спорије</item>
<item>подразумевано</item>
<item>мало брже</item>
<item>најбрже</item>
</string-array>
<string name="category_connected_devices">Повезани уређаји</string>
<string name="category_not_paired_devices">Доступни уређаји</string>
<string name="category_remembered_devices">Упамћени уређаји</string>
<string name="plugins_failed_to_load">Неуспело учитавање прикључка (тапните за више информација):</string>
<string name="device_menu_plugins">Поставке прикључака</string>
<string name="device_menu_unpair">Распари</string>
<string name="device_not_reachable">Упарени уређај није доступан</string>
<string name="pair_new_device">Упари нов уређај</string>
<string name="unknown_device">Непознат уређај</string>
<string name="error_not_reachable">Уређај није доступан</string>
<string name="error_already_requested">Упаривање је већ тражено</string>
<string name="error_already_paired">Уређај је већ упарен</string>
<string name="error_could_not_send_package">Не могу да пошаљем пакет</string>
<string name="error_timed_out">Истекло је време</string>
<string name="error_canceled_by_user">Корисник отказао</string>
<string name="error_canceled_by_other_peer">Отказала друга страна</string>
<string name="error_invalid_key">Примљен је неисправан кључ</string>
<string name="encryption_info_title">Подаци о шифровању</string>
<string name="encryption_info_msg_no_ssl">Друга страна не користи најновију верзију, стога се користи старији метод шифровања.</string>
<string name="my_device_fingerprint">СХА1 отисак сертификата вашег уређаја је:</string>
<string name="remote_device_fingerprint">СХА1 отисак сертификата удаљеног уређаја је:</string>
<string name="pair_requested">Упаривање је тражено</string>
<string name="pairing_request_from">Захтев за упаривање са %1s</string>
<string name="received_url_title">Примљена веза са %1s</string>
<string name="received_url_text">Тапните да отворите „%1s“</string>
<string name="incoming_file_title">Долазни фајл са %1s</string>
<string name="incoming_file_text">%1s</string>
<string name="outgoing_file_title">Шаљем фајл на %1s</string>
<string name="outgoing_files_title">Шаљем фајлове на %1s</string>
<string name="outgoing_file_text">%1s</string>
<string name="outgoing_files_text">Послато %1$d од %2$d фајлова</string>
<string name="received_file_title">Примљен фајл са %1s</string>
<string name="received_file_fail_title">Неуспео пријем фајла са %1s</string>
<string name="received_file_text">Тапните да отворите „%1s“</string>
<string name="sent_file_title">Послат фајл на %1s</string>
<string name="sent_file_text">%1s</string>
<string name="sent_file_failed_title">Неуспело слање фајла на %1s</string>
<string name="sent_file_failed_text">%1s</string>
<string name="tap_to_answer">Тапните да одговорите</string>
<string name="reconnect">Поново повежи</string>
<string name="right_click">Пошаљи десни клик</string>
<string name="middle_click">Пошаљи средњи клик</string>
<string name="show_keyboard">Прикажи тастатуру</string>
<string name="device_not_paired">Уређај није упарен</string>
<string name="request_pairing">Тражи упаривање</string>
<string name="pairing_accept">Прихвати</string>
<string name="pairing_reject">Одбаци</string>
<string name="device">Уређај</string>
<string name="pair_device">Упари уређај</string>
<string name="remote_control">Даљинско управљање</string>
<string name="settings">Поставке за КДЕ‑конекцију</string>
<string name="mpris_play">Пусти</string>
<string name="mpris_previous">Претходно</string>
<string name="mpris_rew">Премотај</string>
<string name="mpris_ff">Брзо унапред</string>
<string name="mpris_next">Следеће</string>
<string name="mpris_volume">Јачина</string>
<string name="mpris_settings">Поставке мултимедије</string>
<string name="mpris_time_settings_title">Напред/назад дугмад</string>
<string name="mpris_time_settings_summary">Подесите време прескакања за напред/назад дугмад.</string>
<string-array name="mpris_time_entries">
<item>10 секунди</item>
<item>20 секунди</item>
<item>30 секунди</item>
<item>1 минут</item>
<item>2 минута</item>
</string-array>
<string name="share_to">Дели...</string>
<string name="protocol_version_older">Овај уређај користи стару верзију протокола</string>
<string name="protocol_version_newer">Овај уређај користи новију верзију протокола</string>
<string name="general_settings">Опште поставке</string>
<string name="plugin_settings">Поставке</string>
<string name="plugin_settings_with_name">%s — поставке</string>
<string name="device_name">Назив уређаја</string>
<string name="device_name_preference_summary">%s</string>
<string name="invalid_device_name">Неисправан назив уређаја</string>
<string name="shareplugin_text_saved">Примљен текст, сачуван у клипборд</string>
<string name="custom_devices_settings">Списак посебних уређаја</string>
<string name="pair_device_action">Упари нови уређај</string>
<string name="unpair_device_action">Распари %s</string>
<string name="custom_device_list">Додај уређај по ИП адреси</string>
<string name="share_notification_preference">Бучна обавештења</string>
<string name="share_notification_preference_summary">Вибрирај и пусти звук кад примаш фајл</string>
<string name="share_destination_customize">Прилагоди одредишну фасциклу</string>
<string name="share_destination_customize_summary_disabled">Фајлови се смештају у Downloads</string>
<string name="share_destination_customize_summary_enabled">Фајлови се смештају у фасциклу испод</string>
<string name="share_destination_folder_preference">Одредишна фасцикла</string>
<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">Додај домаћина/ИП</string>
<string name="add_host_hint">Име домаћина или ИП</string>
<string name="no_players_connected">Нисам нашао плејере</string>
<string name="custom_dev_list_help">Користите ову опцију само ако се ваши уређаји не приказују аутоматски. Унесите ИП адресу или име домаћина и додирните дугме да га додате на листу. Додирните постојећу ставку да бисте је уклонили.</string>
<string name="mpris_player_on_device">%1$s на %2$s</string>
<string name="send_files">Пошаљи фајлове</string>
<string name="pairing_title">Уређаји КДЕ‑конекције</string>
<string name="pairing_description">Други уређаји на вашој мрежи на којима ради КДЕ‑конекција, појавиће се овде.</string>
<string name="device_paired">Уређај упарен</string>
<string name="device_rename_title">Преименовање уређаја</string>
<string name="device_rename_confirm">Преименуј</string>
<string name="refresh">Освежи</string>
<string name="unreachable_description">Овај упарени уређај није доступан. Проверите да ли је повезан на исту мрежу.</string>
<string name="on_data_message">Чини се да сте на мобилној мрежи. КДЕ‑конекција ради само на локалној мрежи.</string>
<string name="no_file_browser">Нема инсталираних прегледача фајлова.</string>
<string name="pref_plugin_telepathy">Шаљи СМС</string>
<string name="pref_plugin_telepathy_desc">Шаљите текстуалне поруке помоћу рачунара</string>
<string name="plugin_not_supported">Уређај не подржава овај прикључак</string>
<string name="findmyphone_title">Нађи мој телефон</string>
<string name="findmyphone_title_tablet">Нађи мој таблет</string>
<string name="findmyphone_description">Активира звоно уређаја како бисте га пронашли</string>
<string name="findmyphone_found">Нађен</string>
<string name="open">Отвори</string>
<string name="close">Затвори</string>
</resources>

View File

@@ -59,7 +59,7 @@ public class ContactsHelper {
, PhoneLookup.ID */
},
null, null, null);
} catch (IllegalArgumentException e) {
} catch (Exception e) {
return contactInfo;
}

View File

@@ -18,34 +18,39 @@ public class NetworkHelper {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
return false; //No good way to know it
}
boolean mobile = false;
final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = connMgr.getAllNetworks();
for (Network network : networks) {
NetworkInfo info = connMgr.getNetworkInfo(network);
if (info == null) {
continue;
}
if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
mobile = info.isConnected();
continue;
}
//Log.e(info.getTypeName(),""+info.isAvailable());
if (info.isAvailable()) return false; //We are connected to at least one non-mobile network
}
if (mobile) { //We suspect we are on a mobile net
try {
//Check the number of network neighbours, on data it should be 0
LineNumberReader is = new LineNumberReader(new FileReader("/proc/net/arp"));
is.skip(Long.MAX_VALUE);
//Log.e("NetworkHelper", "procnetarp has " + is.getLineNumber() + " lines");
if (is.getLineNumber() > 1) { //The first line are the headers
return false; //I have neighbours, so this doesn't look like a mobile network
try {
boolean mobile = false;
final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = connMgr.getAllNetworks();
for (Network network : networks) {
NetworkInfo info = connMgr.getNetworkInfo(network);
if (info == null) {
continue;
}
} catch (Exception e) {
Log.e("NetworkHelper", "Exception reading procnetarp");
e.printStackTrace();
if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
mobile = info.isConnected();
continue;
}
//Log.e(info.getTypeName(),""+info.isAvailable());
if (info.isAvailable()) return false; //We are connected to at least one non-mobile network
}
if (mobile) { //We suspect we are on a mobile net
try {
//Check the number of network neighbours, on data it should be 0
LineNumberReader is = new LineNumberReader(new FileReader("/proc/net/arp"));
is.skip(Long.MAX_VALUE);
//Log.e("NetworkHelper", "procnetarp has " + is.getLineNumber() + " lines");
if (is.getLineNumber() > 1) { //The first line are the headers
return false; //I have neighbours, so this doesn't look like a mobile network
}
} catch (Exception e) {
Log.e("NetworkHelper", "Exception reading procnetarp");
e.printStackTrace();
}
}
} catch(Exception e) {
e.printStackTrace();
Log.d("isOnMobileNetwork", "Something went wrong, but this is non-critical.");
}
return false;
}

View File

@@ -40,7 +40,7 @@ public class BatteryPlugin extends Plugin {
private static final int THRESHOLD_EVENT_NONE= 0;
private static final int THRESHOLD_EVENT_BATTERY_LOW = 1;
private NetworkPackage lastInfo = null;
private NetworkPackage batteryInfo = new NetworkPackage(PACKAGE_TYPE_BATTERY);
@Override
public String getDisplayName() {
@@ -56,18 +56,18 @@ public class BatteryPlugin extends Plugin {
@Override
public void onReceive(Context context, Intent batteryIntent) {
Intent batteryChargeIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryChargeIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryChargeIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
int currentCharge = level*100 / scale;
boolean isCharging = (0 != batteryChargeIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
int plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
int currentCharge = (level == -1)? batteryInfo.getInt("currentCharge") : level*100 / scale;
boolean isCharging = (plugged == -1)? batteryInfo.getBoolean("isCharging") : (0 != plugged);
boolean lowBattery = Intent.ACTION_BATTERY_LOW.equals(batteryIntent.getAction());
int thresholdEvent = lowBattery? THRESHOLD_EVENT_BATTERY_LOW : THRESHOLD_EVENT_NONE;
if (lastInfo != null
&& isCharging == lastInfo.getBoolean("isCharging")
&& currentCharge == lastInfo.getInt("currentCharge")
&& thresholdEvent == lastInfo.getInt("thresholdEvent")
if (isCharging == batteryInfo.getBoolean("isCharging")
&& currentCharge == batteryInfo.getInt("currentCharge")
&& thresholdEvent == batteryInfo.getInt("thresholdEvent")
) {
//Do not send again if nothing has changed
@@ -75,12 +75,10 @@ public class BatteryPlugin extends Plugin {
} else {
NetworkPackage np = new NetworkPackage(PACKAGE_TYPE_BATTERY);
np.set("currentCharge", currentCharge);
np.set("isCharging", isCharging);
np.set("thresholdEvent", thresholdEvent);
device.sendPackage(np);
lastInfo = np;
batteryInfo.set("currentCharge", currentCharge);
batteryInfo.set("isCharging", isCharging);
batteryInfo.set("thresholdEvent", thresholdEvent);
device.sendPackage(batteryInfo);
}
@@ -89,8 +87,10 @@ public class BatteryPlugin extends Plugin {
@Override
public boolean onCreate() {
context.registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
context.registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_LOW));
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
intentFilter.addAction(Intent.ACTION_BATTERY_LOW);
context.registerReceiver(receiver, intentFilter);
return true;
}
@@ -104,9 +104,7 @@ public class BatteryPlugin extends Plugin {
public boolean onPackageReceived(NetworkPackage np) {
if (np.getBoolean("request")) {
if (lastInfo != null) {
device.sendPackage(lastInfo);
}
device.sendPackage(batteryInfo);
}
return true;

View File

@@ -120,6 +120,10 @@ public class NotificationsPlugin extends Plugin implements NotificationReceiver.
@Override
public void onNotificationRemoved(StatusBarNotification statusBarNotification) {
if (statusBarNotification == null) {
Log.w("onNotificationRemoved", "notification is null");
return;
}
String id = getNotificationKeyCompat(statusBarNotification);
NetworkPackage np = new NetworkPackage(PACKAGE_TYPE_NOTIFICATION);
np.set("id", id);

View File

@@ -125,7 +125,7 @@ class SimpleSftpServer {
public void stop() {
try {
started = false;
sshd.stop();
sshd.stop(true);
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -458,6 +458,10 @@ public class DeviceFragment extends Fragment {
BackgroundService.RunCommand(activity, new BackgroundService.InstanceCallback() {
public void onServiceStart(BackgroundService service) {
Device dev = service.getDevice(devId);
if (dev == null) {
Log.w("rejectPairing", "Device no longer exists: "+devId);
return;
}
activity.getSupportActionBar().setTitle(dev.getName());
dev.addPairingCallback(frag.pairingCallback);
@@ -477,6 +481,10 @@ public class DeviceFragment extends Fragment {
BackgroundService.RunCommand(activity, new BackgroundService.InstanceCallback() {
public void onServiceStart(BackgroundService service) {
Device dev = service.getDevice(devId);
if (dev == null) {
Log.w("rejectPairing", "Device no longer exists: "+devId);
return;
}
activity.getSupportActionBar().setTitle(dev.getName());
dev.addPairingCallback(frag.pairingCallback);