Browse Source

Merge branch 'master' of https://github.com/owncloud/android into material_buttons

Andy Scherzinger 9 years ago
parent
commit
ecdb95fa0c
87 changed files with 835 additions and 236 deletions
  1. 1 1
      owncloud-android-library
  2. 2 0
      res/values-ar/strings.xml
  3. 3 0
      res/values-bg-rBG/strings.xml
  4. 2 0
      res/values-ca/strings.xml
  5. 8 0
      res/values-cs-rCZ/strings.xml
  6. 1 0
      res/values-cy-rGB/strings.xml
  7. 4 0
      res/values-da/strings.xml
  8. 4 0
      res/values-de/strings.xml
  9. 15 0
      res/values-el/strings.xml
  10. 3 0
      res/values-en-rGB/strings.xml
  11. 2 0
      res/values-eo/strings.xml
  12. 2 0
      res/values-es-rAR/strings.xml
  13. 8 0
      res/values-es/strings.xml
  14. 4 0
      res/values-et-rEE/strings.xml
  15. 12 0
      res/values-fi-rFI/strings.xml
  16. 8 0
      res/values-fr/strings.xml
  17. 21 0
      res/values-gl/strings.xml
  18. 2 0
      res/values-he/strings.xml
  19. 2 0
      res/values-hr/strings.xml
  20. 3 0
      res/values-hu-rHU/strings.xml
  21. 5 0
      res/values-hy/strings.xml
  22. 1 0
      res/values-ia/strings.xml
  23. 1 0
      res/values-is/strings.xml
  24. 8 0
      res/values-it/strings.xml
  25. 27 0
      res/values-ja-rJP/strings.xml
  26. 2 0
      res/values-ka-rGE/strings.xml
  27. 2 0
      res/values-km/strings.xml
  28. 2 0
      res/values-kn/strings.xml
  29. 7 0
      res/values-ko/strings.xml
  30. 1 0
      res/values-ku-rIQ/strings.xml
  31. 2 0
      res/values-lb/strings.xml
  32. 1 0
      res/values-lo/strings.xml
  33. 15 0
      res/values-lt-rLT/strings.xml
  34. 2 0
      res/values-lv/strings.xml
  35. 3 0
      res/values-mk/strings.xml
  36. 1 0
      res/values-mn/strings.xml
  37. 8 0
      res/values-nl/strings.xml
  38. 2 0
      res/values-oc/strings.xml
  39. 1 0
      res/values-pa/strings.xml
  40. 3 0
      res/values-pl/strings.xml
  41. 10 2
      res/values-pt-rBR/strings.xml
  42. 7 0
      res/values-pt-rPT/strings.xml
  43. 19 0
      res/values-sk-rSK/strings.xml
  44. 8 0
      res/values-sq/strings.xml
  45. 3 0
      res/values-sv/strings.xml
  46. 1 0
      res/values-ta-rLK/strings.xml
  47. 17 2
      res/values-th-rTH/strings.xml
  48. 4 0
      res/values-tr/strings.xml
  49. 2 0
      res/values-ug/strings.xml
  50. 4 0
      res/values-uk/strings.xml
  51. 2 0
      res/values-vi/strings.xml
  52. 4 0
      res/values-zh-rCN/strings.xml
  53. 2 0
      res/values-zh-rHK/strings.xml
  54. 14 1
      src/com/owncloud/android/authentication/AuthenticatorActivity.java
  55. 181 0
      src/com/owncloud/android/datamodel/FileDataStorageManager.java
  56. 29 0
      src/com/owncloud/android/datamodel/OCFile.java
  57. 34 2
      src/com/owncloud/android/db/ProviderMeta.java
  58. 6 1
      src/com/owncloud/android/files/FileMenuFilter.java
  59. 51 0
      src/com/owncloud/android/operations/GetCapabilitiesOperarion.java
  60. 16 1
      src/com/owncloud/android/operations/RefreshFolderOperation.java
  61. 3 4
      src/com/owncloud/android/operations/common/SyncOperation.java
  62. 122 131
      src/com/owncloud/android/providers/FileContentProvider.java
  63. 17 35
      src/com/owncloud/android/ui/preview/PreviewMediaFragment.java
  64. 7 8
      src/com/owncloud/android/ui/preview/PreviewVideoActivity.java
  65. 71 48
      user_manual/android_app.rst
  66. BIN
      user_manual/images/android-1.png
  67. BIN
      user_manual/images/android-10.png
  68. BIN
      user_manual/images/android-11.png
  69. BIN
      user_manual/images/android-2.png
  70. BIN
      user_manual/images/android-3.png
  71. BIN
      user_manual/images/android-4.png
  72. BIN
      user_manual/images/android-5.png
  73. BIN
      user_manual/images/android-6.png
  74. BIN
      user_manual/images/android-7.png
  75. BIN
      user_manual/images/android-8.png
  76. BIN
      user_manual/images/android-9.png
  77. BIN
      user_manual/images/android-downloads.png
  78. BIN
      user_manual/images/android-file-list.png
  79. BIN
      user_manual/images/android-file-options.png
  80. BIN
      user_manual/images/android-file.png
  81. BIN
      user_manual/images/android-files-page.png
  82. BIN
      user_manual/images/android-first-screen.jpg
  83. BIN
      user_manual/images/android-help.png
  84. BIN
      user_manual/images/android-new-account.png
  85. BIN
      user_manual/images/android-settings.png
  86. BIN
      user_manual/images/android-ssl-cert.png
  87. BIN
      user_manual/images/android-upload.png

+ 1 - 1
owncloud-android-library

@@ -1 +1 @@
-Subproject commit 32ab89fc308af2a51b9b7ded7fb40fc786dfd8a6
+Subproject commit b09969d078b3a790b01c8d61a7298a37439a9f24

+ 2 - 0
res/values-ar/strings.xml

@@ -255,4 +255,6 @@
   <string name="folder_picker_choose_button_text">اختيار</string>
   <string name="folder_picker_choose_button_text">اختيار</string>
   <string name="prefs_category_security">الأمان</string>
   <string name="prefs_category_security">الأمان</string>
   <string name="auth_host_address">عنوان الخادم</string>
   <string name="auth_host_address">عنوان الخادم</string>
+  <string name="share_dialog_title">مشاركة</string>
+  <string name="share_search">البحث</string>
 </resources>
 </resources>

+ 3 - 0
res/values-bg-rBG/strings.xml

@@ -303,6 +303,7 @@
   <string name="prefs_instant_video_upload_path_title">Качване на видео път</string>
   <string name="prefs_instant_video_upload_path_title">Качване на видео път</string>
   <string name="shared_subject_header">споделен</string>
   <string name="shared_subject_header">споделен</string>
   <string name="with_you_subject_header">с теб</string>
   <string name="with_you_subject_header">с теб</string>
+  <string name="subject_user_shared_with_you">%1$s споделен \"%2$s\" с теб</string>
   <string name="auth_refresh_button">Обнови връзката</string>
   <string name="auth_refresh_button">Обнови връзката</string>
   <string name="auth_host_address">Адрес на сървъра</string>
   <string name="auth_host_address">Адрес на сървъра</string>
   <string name="common_error_out_memory">Няма достатъчно памет</string>
   <string name="common_error_out_memory">Няма достатъчно памет</string>
@@ -315,4 +316,6 @@
   <string name="file_list__footer__files">%1$d файла</string>
   <string name="file_list__footer__files">%1$d файла</string>
   <string name="file_list__footer__files_and_folder">%1$d файла, 1 папка</string>
   <string name="file_list__footer__files_and_folder">%1$d файла, 1 папка</string>
   <string name="file_list__footer__files_and_folders">%1$d файла, %2$d папки</string>
   <string name="file_list__footer__files_and_folders">%1$d файла, %2$d папки</string>
+  <string name="share_dialog_title">Споделяне</string>
+  <string name="share_search">Търсене</string>
 </resources>
 </resources>

+ 2 - 0
res/values-ca/strings.xml

@@ -261,4 +261,6 @@
   <string name="folder_picker_choose_button_text">Escull</string>
   <string name="folder_picker_choose_button_text">Escull</string>
   <string name="prefs_category_security">Seguretat</string>
   <string name="prefs_category_security">Seguretat</string>
   <string name="auth_host_address">Adreça del servidor</string>
   <string name="auth_host_address">Adreça del servidor</string>
+  <string name="share_dialog_title">Compartir</string>
+  <string name="share_search">Cerca</string>
 </resources>
 </resources>

+ 8 - 0
res/values-cs-rCZ/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Náhled seznamu</string>
   <string name="list_layout">Náhled seznamu</string>
   <string name="action_share_file">Sdílet odkaz</string>
   <string name="action_share_file">Sdílet odkaz</string>
   <string name="action_unshare_file">Zrušit sdílení odkazu</string>
   <string name="action_unshare_file">Zrušit sdílení odkazu</string>
+  <string name="action_share_with_users">Sdílet s uživateli</string>
   <string name="common_yes">Ano</string>
   <string name="common_yes">Ano</string>
   <string name="common_no">Ne</string>
   <string name="common_no">Ne</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -243,6 +244,9 @@
   <string name="ssl_validator_label_validity_to">Pro:</string>
   <string name="ssl_validator_label_validity_to">Pro:</string>
   <string name="ssl_validator_label_signature">Podpis:</string>
   <string name="ssl_validator_label_signature">Podpis:</string>
   <string name="ssl_validator_label_signature_algorithm">Alogritmus:</string>
   <string name="ssl_validator_label_signature_algorithm">Alogritmus:</string>
+  <string name="digest_algorithm_not_available">Tento algoritmus není na vašem telefonu dostupný.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Otisk:</string>
+  <string name="certificate_load_problem">Došlo k problému s načtením certifikátu.</string>
   <string name="ssl_validator_null_cert">Certifikát nemohl být zobrazen.</string>
   <string name="ssl_validator_null_cert">Certifikát nemohl být zobrazen.</string>
   <string name="ssl_validator_no_info_about_error">- Žádné informace o této chybě</string>
   <string name="ssl_validator_no_info_about_error">- Žádné informace o této chybě</string>
   <string name="placeholder_sentence">Zástupný text</string>
   <string name="placeholder_sentence">Zástupný text</string>
@@ -336,4 +340,8 @@ správce systému.</string>
   <string name="share_no_users">Zatím nebyla s uživateli sdílena žádná data</string>
   <string name="share_no_users">Zatím nebyla s uživateli sdílena žádná data</string>
   <string name="share_add_user_or_group">Přidat uživatele nebo skupinu</string>
   <string name="share_add_user_or_group">Přidat uživatele nebo skupinu</string>
   <string name="share_search">Hledat</string>
   <string name="share_search">Hledat</string>
+  <string name="search_users_and_groups_hint">Prohledat uživatele a skupiny</string>
+  <string name="share_group_clarification">%1$s (skupina)</string>
+  <string name="share_sharee_unavailable">Omlouváme se, verze vašeho serveru neumožňuje v klientské aplikaci sdílení dat mezi uživateli.
+\nKontaktujte prosím svého administrátora</string>
 </resources>
 </resources>

+ 1 - 0
res/values-cy-rGB/strings.xml

@@ -130,4 +130,5 @@
   <string name="empty"></string>
   <string name="empty"></string>
   <string name="prefs_category_accounts">Cyfrifon</string>
   <string name="prefs_category_accounts">Cyfrifon</string>
   <string name="folder_picker_choose_button_text">Dewisiwch</string>
   <string name="folder_picker_choose_button_text">Dewisiwch</string>
+  <string name="share_search">Chwilio</string>
 </resources>
 </resources>

+ 4 - 0
res/values-da/strings.xml

@@ -313,6 +313,8 @@
   <string name="prefs_instant_video_upload_path_title">Sti til videoupload</string>
   <string name="prefs_instant_video_upload_path_title">Sti til videoupload</string>
   <string name="shared_subject_header">delt</string>
   <string name="shared_subject_header">delt</string>
   <string name="with_you_subject_header">med dig</string>
   <string name="with_you_subject_header">med dig</string>
+  <string name="subject_user_shared_with_you">%1$s delte \"%2$s\" med dig</string>
+  <string name="subject_shared_with_you">\"%1$s\" er blevet delt med dig</string>
   <string name="auth_refresh_button">Genopfrisk forbindelsen</string>
   <string name="auth_refresh_button">Genopfrisk forbindelsen</string>
   <string name="auth_host_address">Serveradresse</string>
   <string name="auth_host_address">Serveradresse</string>
   <string name="common_error_out_memory">Ikke tilstrækkelig hukommelse</string>
   <string name="common_error_out_memory">Ikke tilstrækkelig hukommelse</string>
@@ -325,4 +327,6 @@
   <string name="file_list__footer__files">%1$d filer</string>
   <string name="file_list__footer__files">%1$d filer</string>
   <string name="file_list__footer__files_and_folder">%1$d filer, 1 mape</string>
   <string name="file_list__footer__files_and_folder">%1$d filer, 1 mape</string>
   <string name="file_list__footer__files_and_folders">%1$d filer, %2$d mapper</string>
   <string name="file_list__footer__files_and_folders">%1$d filer, %2$d mapper</string>
+  <string name="share_dialog_title">Deling</string>
+  <string name="share_search">Søg</string>
 </resources>
 </resources>

+ 4 - 0
res/values-de/strings.xml

@@ -315,6 +315,8 @@
   <string name="prefs_instant_video_upload_path_title">Verzeichnis zum Hochladen der Videos</string>
   <string name="prefs_instant_video_upload_path_title">Verzeichnis zum Hochladen der Videos</string>
   <string name="shared_subject_header">geteilt</string>
   <string name="shared_subject_header">geteilt</string>
   <string name="with_you_subject_header">Mit Dir</string>
   <string name="with_you_subject_header">Mit Dir</string>
+  <string name="subject_user_shared_with_you">%1$s hat \"%2$s\" mit Dir geteilt</string>
+  <string name="subject_shared_with_you">\"%1$s\" wurde mit dir geteilt</string>
   <string name="auth_refresh_button">Verbindung aktualisieren</string>
   <string name="auth_refresh_button">Verbindung aktualisieren</string>
   <string name="auth_host_address">Serveradresse</string>
   <string name="auth_host_address">Serveradresse</string>
   <string name="common_error_out_memory">Nicht genügend Speicher</string>
   <string name="common_error_out_memory">Nicht genügend Speicher</string>
@@ -327,4 +329,6 @@
   <string name="file_list__footer__files">%1$d Dateien</string>
   <string name="file_list__footer__files">%1$d Dateien</string>
   <string name="file_list__footer__files_and_folder">%1$d Dateien, 1 Ordner</string>
   <string name="file_list__footer__files_and_folder">%1$d Dateien, 1 Ordner</string>
   <string name="file_list__footer__files_and_folders">%1$d Dateien, %2$d Ordner</string>
   <string name="file_list__footer__files_and_folders">%1$d Dateien, %2$d Ordner</string>
+  <string name="share_dialog_title">Teilen</string>
+  <string name="share_search">Suche</string>
 </resources>
 </resources>

+ 15 - 0
res/values-el/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Διάταξη Λίστας</string>
   <string name="list_layout">Διάταξη Λίστας</string>
   <string name="action_share_file">Διαμοιρασμός συνδέσμου</string>
   <string name="action_share_file">Διαμοιρασμός συνδέσμου</string>
   <string name="action_unshare_file">Ακύρωση διαμοιρασμού συνδέσμου</string>
   <string name="action_unshare_file">Ακύρωση διαμοιρασμού συνδέσμου</string>
+  <string name="action_share_with_users">Διαμοιρασμός με χρήστες</string>
   <string name="common_yes">Ναι</string>
   <string name="common_yes">Ναι</string>
   <string name="common_no">Όχι</string>
   <string name="common_no">Όχι</string>
   <string name="common_ok">ΟΚ</string>
   <string name="common_ok">ΟΚ</string>
@@ -244,6 +245,9 @@
   <string name="ssl_validator_label_validity_to">Μέχρι:</string>
   <string name="ssl_validator_label_validity_to">Μέχρι:</string>
   <string name="ssl_validator_label_signature">Υπογραφή:</string>
   <string name="ssl_validator_label_signature">Υπογραφή:</string>
   <string name="ssl_validator_label_signature_algorithm">Αλγόριθμος:</string>
   <string name="ssl_validator_label_signature_algorithm">Αλγόριθμος:</string>
+  <string name="digest_algorithm_not_available">Ο αλγόριθμος digest δεν είναι διαθέσιμος στο τηλέφωνό σας.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Ψηφιακό αποτύπωμα:</string>
+  <string name="certificate_load_problem">Πρόβλημα φόρτωσης του πιστοποιητικού.</string>
   <string name="ssl_validator_null_cert">Δεν μπορεί να εμφανιστεί το πιστοποιητικό.</string>
   <string name="ssl_validator_null_cert">Δεν μπορεί να εμφανιστεί το πιστοποιητικό.</string>
   <string name="ssl_validator_no_info_about_error">- Καμμία πληροφορία σχετικά με το σφάλμα</string>
   <string name="ssl_validator_no_info_about_error">- Καμμία πληροφορία σχετικά με το σφάλμα</string>
   <string name="placeholder_sentence">Αυτό είναι ένα σημείο κράτησης θέσης</string>
   <string name="placeholder_sentence">Αυτό είναι ένα σημείο κράτησης θέσης</string>
@@ -318,6 +322,8 @@
   <string name="sync_folder_failed_content">Ο συγχρονισμός του φακέλου %1$s δεν μπόρεσε να ολοκληρωθεί</string>
   <string name="sync_folder_failed_content">Ο συγχρονισμός του φακέλου %1$s δεν μπόρεσε να ολοκληρωθεί</string>
   <string name="shared_subject_header">διαμοιρασμένα</string>
   <string name="shared_subject_header">διαμοιρασμένα</string>
   <string name="with_you_subject_header">με εσάς</string>
   <string name="with_you_subject_header">με εσάς</string>
+  <string name="subject_user_shared_with_you">Ο %1$s διαμοιράστηκε το \"%2$s\" με εσάς</string>
+  <string name="subject_shared_with_you">\"%1$s\" μοιράστηκε μαζί σας</string>
   <string name="auth_refresh_button">Ανανέωση σύνδεσης</string>
   <string name="auth_refresh_button">Ανανέωση σύνδεσης</string>
   <string name="auth_host_address">Διεύθυνση διακομιστή</string>
   <string name="auth_host_address">Διεύθυνση διακομιστή</string>
   <string name="common_error_out_memory">Δεν υπάρχει αρκετή μνήμη</string>
   <string name="common_error_out_memory">Δεν υπάρχει αρκετή μνήμη</string>
@@ -330,4 +336,13 @@
   <string name="file_list__footer__files">%1$d αρχεία</string>
   <string name="file_list__footer__files">%1$d αρχεία</string>
   <string name="file_list__footer__files_and_folder">%1$d αρχεία, 1 φάκελος</string>
   <string name="file_list__footer__files_and_folder">%1$d αρχεία, 1 φάκελος</string>
   <string name="file_list__footer__files_and_folders">%1$d αρχεία, %2$d φάκελοι</string>
   <string name="file_list__footer__files_and_folders">%1$d αρχεία, %2$d φάκελοι</string>
+  <string name="share_dialog_title">Διαμοιρασμός</string>
+  <string name="share_with_user_section_title">Διαμοιρασμός με χρήστες και ομάδες</string>
+  <string name="share_no_users">Δεν έχουν διαμοιραστεί ακόμα δεδομένα με τους χρήστες</string>
+  <string name="share_add_user_or_group">Προσθήκη χρήστη ή ομάδας</string>
+  <string name="share_search">Αναζήτηση</string>
+  <string name="search_users_and_groups_hint">Αναζήτηση χρηστών και ομάδων</string>
+  <string name="share_group_clarification">%1$s (ομάδα)</string>
+  <string name="share_sharee_unavailable">Δεν επιτρέπεται ο διαμοιρασμός μεταξύ χρηστών μέσω εφαρμογής, σε αυτή την έκδοση.
+\nΕπικοινωνήστε με το διαχειριστή του συστήματος</string>
 </resources>
 </resources>

+ 3 - 0
res/values-en-rGB/strings.xml

@@ -295,7 +295,10 @@
   <string name="prefs_category_instant_uploading">Instant Uploads</string>
   <string name="prefs_category_instant_uploading">Instant Uploads</string>
   <string name="prefs_category_security">Security</string>
   <string name="prefs_category_security">Security</string>
   <string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
   <string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
+  <string name="subject_user_shared_with_you">%1$s shared \"%2$s\" with you</string>
   <string name="auth_refresh_button">Refresh connection</string>
   <string name="auth_refresh_button">Refresh connection</string>
   <string name="auth_host_address">Server address</string>
   <string name="auth_host_address">Server address</string>
   <string name="common_error_out_memory">Not enough memory</string>
   <string name="common_error_out_memory">Not enough memory</string>
+  <string name="share_dialog_title">Sharing</string>
+  <string name="share_search">Search</string>
 </resources>
 </resources>

+ 2 - 0
res/values-eo/strings.xml

@@ -186,4 +186,6 @@
   <string name="auth_host_address">Servila adreso</string>
   <string name="auth_host_address">Servila adreso</string>
   <string name="file_list__footer__file">1 dosiero</string>
   <string name="file_list__footer__file">1 dosiero</string>
   <string name="file_list__footer__files">%1$d dosieroj</string>
   <string name="file_list__footer__files">%1$d dosieroj</string>
+  <string name="share_dialog_title">Kunhavigo</string>
+  <string name="share_search">Serĉi</string>
 </resources>
 </resources>

+ 2 - 0
res/values-es-rAR/strings.xml

@@ -276,4 +276,6 @@
   <string name="prefs_category_security">Seguridad</string>
   <string name="prefs_category_security">Seguridad</string>
   <string name="prefs_instant_video_upload_path_title">Dirección de subida del video</string>
   <string name="prefs_instant_video_upload_path_title">Dirección de subida del video</string>
   <string name="auth_host_address">Dirección del servidor</string>
   <string name="auth_host_address">Dirección del servidor</string>
+  <string name="share_dialog_title">Compartiendo</string>
+  <string name="share_search">Buscar</string>
 </resources>
 </resources>

+ 8 - 0
res/values-es/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Diseño de lista</string>
   <string name="list_layout">Diseño de lista</string>
   <string name="action_share_file">Compartir con enlace</string>
   <string name="action_share_file">Compartir con enlace</string>
   <string name="action_unshare_file">Dejar de compartir</string>
   <string name="action_unshare_file">Dejar de compartir</string>
+  <string name="action_share_with_users">Compartir con usuarios</string>
   <string name="common_yes">Sí</string>
   <string name="common_yes">Sí</string>
   <string name="common_no">No</string>
   <string name="common_no">No</string>
   <string name="common_ok">Aceptar</string>
   <string name="common_ok">Aceptar</string>
@@ -244,6 +245,8 @@
   <string name="ssl_validator_label_validity_to">A:</string>
   <string name="ssl_validator_label_validity_to">A:</string>
   <string name="ssl_validator_label_signature">Firma:</string>
   <string name="ssl_validator_label_signature">Firma:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Firma:</string>
+  <string name="certificate_load_problem">Existe un problema al cargar el certificado.</string>
   <string name="ssl_validator_null_cert">No se ha podido mostrar el certificado</string>
   <string name="ssl_validator_null_cert">No se ha podido mostrar el certificado</string>
   <string name="ssl_validator_no_info_about_error">- No hay información acerca del error</string>
   <string name="ssl_validator_no_info_about_error">- No hay información acerca del error</string>
   <string name="placeholder_sentence">Esto es un marcador de posición</string>
   <string name="placeholder_sentence">Esto es un marcador de posición</string>
@@ -333,6 +336,11 @@
   <string name="file_list__footer__files_and_folder">%1$d archivos, 1 carpeta</string>
   <string name="file_list__footer__files_and_folder">%1$d archivos, 1 carpeta</string>
   <string name="file_list__footer__files_and_folders">%1$d archivos, %2$d carpetas</string>
   <string name="file_list__footer__files_and_folders">%1$d archivos, %2$d carpetas</string>
   <string name="share_dialog_title">Compartiendo</string>
   <string name="share_dialog_title">Compartiendo</string>
+  <string name="share_with_user_section_title">Compartir con Usuarios y Grupos</string>
+  <string name="share_no_users">Aún no se ha compartido con ningún usuario.</string>
   <string name="share_add_user_or_group">Añadir usuario o grupo</string>
   <string name="share_add_user_or_group">Añadir usuario o grupo</string>
   <string name="share_search">Buscar</string>
   <string name="share_search">Buscar</string>
+  <string name="search_users_and_groups_hint">Buscar usuarios y grupos</string>
+  <string name="share_group_clarification">%1$s (grupo)</string>
+  <string name="share_sharee_unavailable">Lo siento, compartir no está disponible en su servidor.\nPor favor, contacte con su administrador</string>
 </resources>
 </resources>

+ 4 - 0
res/values-et-rEE/strings.xml

@@ -318,6 +318,8 @@ Allpool on loend kohalikest failidest ning serveris asuvatest failidest %5$s, mi
   <string name="prefs_instant_video_upload_path_title">Video üleslaadimise asukoht</string>
   <string name="prefs_instant_video_upload_path_title">Video üleslaadimise asukoht</string>
   <string name="shared_subject_header">jagatud</string>
   <string name="shared_subject_header">jagatud</string>
   <string name="with_you_subject_header">sinuga</string>
   <string name="with_you_subject_header">sinuga</string>
+  <string name="subject_user_shared_with_you">%1$s jagas sinuga \"%2$s\"</string>
+  <string name="subject_shared_with_you">\"%1$s\" on sinuga jagatud</string>
   <string name="auth_refresh_button">Värskenda ühendust</string>
   <string name="auth_refresh_button">Värskenda ühendust</string>
   <string name="auth_host_address">Serveri aadress</string>
   <string name="auth_host_address">Serveri aadress</string>
   <string name="common_error_out_memory">Mälu pole piisavalt</string>
   <string name="common_error_out_memory">Mälu pole piisavalt</string>
@@ -330,4 +332,6 @@ Allpool on loend kohalikest failidest ning serveris asuvatest failidest %5$s, mi
   <string name="file_list__footer__files">%1$d faili</string>
   <string name="file_list__footer__files">%1$d faili</string>
   <string name="file_list__footer__files_and_folder">%1$d faili, 1 kaust</string>
   <string name="file_list__footer__files_and_folder">%1$d faili, 1 kaust</string>
   <string name="file_list__footer__files_and_folders">%1$d faili, %2$d kausta</string>
   <string name="file_list__footer__files_and_folders">%1$d faili, %2$d kausta</string>
+  <string name="share_dialog_title">Jagamine</string>
+  <string name="share_search">Otsi</string>
 </resources>
 </resources>

+ 12 - 0
res/values-fi-rFI/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Luettelon asettelu</string>
   <string name="list_layout">Luettelon asettelu</string>
   <string name="action_share_file">Jaa linkki</string>
   <string name="action_share_file">Jaa linkki</string>
   <string name="action_unshare_file">Poista linkin jako</string>
   <string name="action_unshare_file">Poista linkin jako</string>
+  <string name="action_share_with_users">Jaa käyttäjien kanssa</string>
   <string name="common_yes">Kyllä</string>
   <string name="common_yes">Kyllä</string>
   <string name="common_no">Ei</string>
   <string name="common_no">Ei</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -235,6 +236,8 @@
   <string name="ssl_validator_label_validity_to">Päättyen:</string>
   <string name="ssl_validator_label_validity_to">Päättyen:</string>
   <string name="ssl_validator_label_signature">Allekirjoitus:</string>
   <string name="ssl_validator_label_signature">Allekirjoitus:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmi:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmi:</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Sormenjälki:</string>
+  <string name="certificate_load_problem">Varmennetta ladatessa ilmeni ongelmia.</string>
   <string name="ssl_validator_null_cert">Varmennetta ei voi näyttää.</string>
   <string name="ssl_validator_null_cert">Varmennetta ei voi näyttää.</string>
   <string name="ssl_validator_no_info_about_error">- Ei lisätietoja virheestä</string>
   <string name="ssl_validator_no_info_about_error">- Ei lisätietoja virheestä</string>
   <string name="placeholder_filetype">PNG-kuva</string>
   <string name="placeholder_filetype">PNG-kuva</string>
@@ -295,9 +298,12 @@
   <string name="copy_file_error">Tätä tiedostoa tai kansiota kopioitaessa tapahtui virhe</string>
   <string name="copy_file_error">Tätä tiedostoa tai kansiota kopioitaessa tapahtui virhe</string>
   <string name="prefs_category_instant_uploading">Välittömät lähetykset</string>
   <string name="prefs_category_instant_uploading">Välittömät lähetykset</string>
   <string name="prefs_category_security">Tietoturva</string>
   <string name="prefs_category_security">Tietoturva</string>
+  <string name="prefs_instant_video_upload_path_title">Videoiden lähetyspolku</string>
   <string name="sync_folder_failed_content">Kansion %1$s synkronointia ei voitu suorittaa kokonaan</string>
   <string name="sync_folder_failed_content">Kansion %1$s synkronointia ei voitu suorittaa kokonaan</string>
   <string name="shared_subject_header">jaettu</string>
   <string name="shared_subject_header">jaettu</string>
   <string name="with_you_subject_header">kanssasi</string>
   <string name="with_you_subject_header">kanssasi</string>
+  <string name="subject_user_shared_with_you">%1$s jakoi kohteen \"%2$s\" kanssasi</string>
+  <string name="subject_shared_with_you">\"%1$s\" on jaettu kanssasi</string>
   <string name="auth_refresh_button">Päivitä yhteys</string>
   <string name="auth_refresh_button">Päivitä yhteys</string>
   <string name="auth_host_address">Palvelimen osoite</string>
   <string name="auth_host_address">Palvelimen osoite</string>
   <string name="common_error_out_memory">Muistia ei ole riittävästi</string>
   <string name="common_error_out_memory">Muistia ei ole riittävästi</string>
@@ -310,4 +316,10 @@
   <string name="file_list__footer__files">%1$d tiedostoa</string>
   <string name="file_list__footer__files">%1$d tiedostoa</string>
   <string name="file_list__footer__files_and_folder">%1$d tiedostoa, 1 kansio</string>
   <string name="file_list__footer__files_and_folder">%1$d tiedostoa, 1 kansio</string>
   <string name="file_list__footer__files_and_folders">%1$d tiedostoa, %2$d kansiota</string>
   <string name="file_list__footer__files_and_folders">%1$d tiedostoa, %2$d kansiota</string>
+  <string name="share_dialog_title">Jakaminen</string>
+  <string name="share_with_user_section_title">Jaa käyttäjien tai ryhmien kanssa</string>
+  <string name="share_add_user_or_group">Lisää käyttäjä tai ryhmä</string>
+  <string name="share_search">Etsi</string>
+  <string name="search_users_and_groups_hint">Etsi käyttäjiä ja ryhmiä</string>
+  <string name="share_group_clarification">%1$s (ryhmä)</string>
 </resources>
 </resources>

+ 8 - 0
res/values-fr/strings.xml

@@ -85,6 +85,7 @@ Téléchargez-le ici : %2$s</string>
   <string name="list_layout">Affichage en liste</string>
   <string name="list_layout">Affichage en liste</string>
   <string name="action_share_file">Partager le lien</string>
   <string name="action_share_file">Partager le lien</string>
   <string name="action_unshare_file">Ne plus partager ce lien</string>
   <string name="action_unshare_file">Ne plus partager ce lien</string>
+  <string name="action_share_with_users">Partager avec des utilisateurs</string>
   <string name="common_yes">Oui</string>
   <string name="common_yes">Oui</string>
   <string name="common_no">Non</string>
   <string name="common_no">Non</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -249,6 +250,9 @@ Ci-dessous la liste des fichiers locaux, et les fichiers distants dans %5$s auxq
   <string name="ssl_validator_label_validity_to">Au :</string>
   <string name="ssl_validator_label_validity_to">Au :</string>
   <string name="ssl_validator_label_signature">Signature :</string>
   <string name="ssl_validator_label_signature">Signature :</string>
   <string name="ssl_validator_label_signature_algorithm">Algorithme :</string>
   <string name="ssl_validator_label_signature_algorithm">Algorithme :</string>
+  <string name="digest_algorithm_not_available">Cet algorithme de hachage n\'est pas disponible sur votre téléphone.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Empreinte numérique :</string>
+  <string name="certificate_load_problem">Le chargement du certificat pose problème.</string>
   <string name="ssl_validator_null_cert">Impossible d\'afficher le certificat.</string>
   <string name="ssl_validator_null_cert">Impossible d\'afficher le certificat.</string>
   <string name="ssl_validator_no_info_about_error">- Aucune information sur l\'erreur</string>
   <string name="ssl_validator_no_info_about_error">- Aucune information sur l\'erreur</string>
   <string name="placeholder_sentence">Ceci est un espace réservé</string>
   <string name="placeholder_sentence">Ceci est un espace réservé</string>
@@ -341,4 +345,8 @@ Ci-dessous la liste des fichiers locaux, et les fichiers distants dans %5$s auxq
   <string name="share_no_users">Aucune donnée partagée avec des utilisateurs pour le moment</string>
   <string name="share_no_users">Aucune donnée partagée avec des utilisateurs pour le moment</string>
   <string name="share_add_user_or_group">Ajouter un Utilisateur ou un Groupe</string>
   <string name="share_add_user_or_group">Ajouter un Utilisateur ou un Groupe</string>
   <string name="share_search">Rechercher</string>
   <string name="share_search">Rechercher</string>
+  <string name="search_users_and_groups_hint">Chercher parmi les utilisateurs et groupes</string>
+  <string name="share_group_clarification">%1$s (groupe)</string>
+  <string name="share_sharee_unavailable">Désolé, la version du serveur ne permet pas aux applications d\'initier des partage avec d\'autres utilisateurs.
+\nVeuillez contacter votre administrateur</string>
 </resources>
 </resources>

+ 21 - 0
res/values-gl/strings.xml

@@ -72,6 +72,7 @@ Descárgueo de aquí: %2$s</string>
   <string name="file_list_seconds_ago">segundos atrás</string>
   <string name="file_list_seconds_ago">segundos atrás</string>
   <string name="file_list_empty">Aquí non hai nada. Envíe algo!</string>
   <string name="file_list_empty">Aquí non hai nada. Envíe algo!</string>
   <string name="file_list_loading">Cargando...</string>
   <string name="file_list_loading">Cargando...</string>
+  <string name="file_list_no_app_for_file_type">Non se atopou un App para este tipo de ficheiro!</string>
   <string name="local_file_list_empty">Non hai ficheiros neste cartafol.</string>
   <string name="local_file_list_empty">Non hai ficheiros neste cartafol.</string>
   <string name="filedetails_select_file">Prema nun ficheiro para que amose a información adicional.</string>
   <string name="filedetails_select_file">Prema nun ficheiro para que amose a información adicional.</string>
   <string name="filedetails_size">Tamaño:</string>
   <string name="filedetails_size">Tamaño:</string>
@@ -79,13 +80,16 @@ Descárgueo de aquí: %2$s</string>
   <string name="filedetails_created">Creado:</string>
   <string name="filedetails_created">Creado:</string>
   <string name="filedetails_modified">Modificado:</string>
   <string name="filedetails_modified">Modificado:</string>
   <string name="filedetails_download">Descargar</string>
   <string name="filedetails_download">Descargar</string>
+  <string name="filedetails_sync_file">Sincronizar</string>
   <string name="filedetails_renamed_in_upload_msg">O ficheiro foi renomeado a %1$s durante o envío</string>
   <string name="filedetails_renamed_in_upload_msg">O ficheiro foi renomeado a %1$s durante o envío</string>
   <string name="list_layout">Deseño da lista</string>
   <string name="list_layout">Deseño da lista</string>
   <string name="action_share_file">Ligazón para compartir</string>
   <string name="action_share_file">Ligazón para compartir</string>
   <string name="action_unshare_file">Deixar de compartir a ligazón</string>
   <string name="action_unshare_file">Deixar de compartir a ligazón</string>
+  <string name="action_share_with_users">Compartir con usuarios</string>
   <string name="common_yes">Si</string>
   <string name="common_yes">Si</string>
   <string name="common_no">Non</string>
   <string name="common_no">Non</string>
   <string name="common_ok">Aceptar</string>
   <string name="common_ok">Aceptar</string>
+  <string name="common_cancel_sync">Parar a sincronización</string>
   <string name="common_cancel">Cancelar</string>
   <string name="common_cancel">Cancelar</string>
   <string name="common_save_exit">Gardar e saír</string>
   <string name="common_save_exit">Gardar e saír</string>
   <string name="common_error">Erro</string>
   <string name="common_error">Erro</string>
@@ -200,6 +204,7 @@ Descárgueo de aquí: %2$s</string>
   <string name="confirmation_remove_folder_alert">Confirma que quere retirar %1$s e o seu contido?</string>
   <string name="confirmation_remove_folder_alert">Confirma que quere retirar %1$s e o seu contido?</string>
   <string name="confirmation_remove_local">Só local</string>
   <string name="confirmation_remove_local">Só local</string>
   <string name="confirmation_remove_folder_local">Só local</string>
   <string name="confirmation_remove_folder_local">Só local</string>
+  <string name="confirmation_remove_remote">Desde servidor</string>
   <string name="confirmation_remove_remote_and_local">Remoto e local</string>
   <string name="confirmation_remove_remote_and_local">Remoto e local</string>
   <string name="remove_success_msg">Retirado correctamente</string>
   <string name="remove_success_msg">Retirado correctamente</string>
   <string name="remove_fail_msg">Non foi posíbel retiralo</string>
   <string name="remove_fail_msg">Non foi posíbel retiralo</string>
@@ -304,12 +309,19 @@ Descárgueo de aquí: %2$s</string>
   <string name="move_file_invalid_overwrite">Este ficheiro xa existe no cartafol de destino</string>
   <string name="move_file_invalid_overwrite">Este ficheiro xa existe no cartafol de destino</string>
   <string name="move_file_error">Produciuse un erro ao tentar mover este ficheiro ou cartafol.</string>
   <string name="move_file_error">Produciuse un erro ao tentar mover este ficheiro ou cartafol.</string>
   <string name="forbidden_permissions_move">para mover este ficheiro</string>
   <string name="forbidden_permissions_move">para mover este ficheiro</string>
+  <string name="copy_file_not_found">Non se puido copiar. Por favor comprobe que o ficheiro existe</string>
+  <string name="copy_file_invalid_into_descendent">Non é posible copiar un cartafol nun descendente seu</string>
   <string name="copy_file_invalid_overwrite">Este ficheiro xa existe no cartafol de destino</string>
   <string name="copy_file_invalid_overwrite">Este ficheiro xa existe no cartafol de destino</string>
+  <string name="copy_file_error">Oconteceu un erro mentras se intentaba copiar este ficheiro ou cartafol</string>
+  <string name="forbidden_permissions_copy">copiar este ficheiro</string>
   <string name="prefs_category_instant_uploading">Envío instantáneo</string>
   <string name="prefs_category_instant_uploading">Envío instantáneo</string>
   <string name="prefs_category_security">Seguridade</string>
   <string name="prefs_category_security">Seguridade</string>
   <string name="prefs_instant_video_upload_path_title">Enviar a ruta do vídeo</string>
   <string name="prefs_instant_video_upload_path_title">Enviar a ruta do vídeo</string>
+  <string name="sync_folder_failed_content">A sincronización do cartafol %1$s non se completou</string>
   <string name="shared_subject_header">compartido</string>
   <string name="shared_subject_header">compartido</string>
   <string name="with_you_subject_header">con vostede</string>
   <string name="with_you_subject_header">con vostede</string>
+  <string name="subject_user_shared_with_you">%1$s compartiu «%2$s» con vostede</string>
+  <string name="subject_shared_with_you">«%1$s» foi compartido con vostede</string>
   <string name="auth_refresh_button">Actualizar a conexión</string>
   <string name="auth_refresh_button">Actualizar a conexión</string>
   <string name="auth_host_address">Enderezo do servidor</string>
   <string name="auth_host_address">Enderezo do servidor</string>
   <string name="common_error_out_memory">Non hai memoria abondo</string>
   <string name="common_error_out_memory">Non hai memoria abondo</string>
@@ -322,4 +334,13 @@ Descárgueo de aquí: %2$s</string>
   <string name="file_list__footer__files">%1$d ficheiros</string>
   <string name="file_list__footer__files">%1$d ficheiros</string>
   <string name="file_list__footer__files_and_folder">%1$d ficheiros, 1 cartafol</string>
   <string name="file_list__footer__files_and_folder">%1$d ficheiros, 1 cartafol</string>
   <string name="file_list__footer__files_and_folders">%1$d ficheiros, %2$d cartafoles</string>
   <string name="file_list__footer__files_and_folders">%1$d ficheiros, %2$d cartafoles</string>
+  <string name="share_dialog_title">Compartindo</string>
+  <string name="share_with_user_section_title">Compartir con Usuarios e Grupos</string>
+  <string name="share_no_users">Aínda non hai datos compartidos con usuarios</string>
+  <string name="share_add_user_or_group">Engadir Usuario ou Grupo</string>
+  <string name="share_search">Buscar</string>
+  <string name="search_users_and_groups_hint">Buscar usuarios e grupos</string>
+  <string name="share_group_clarification">%1$s (grupo)</string>
+  <string name="share_sharee_unavailable">Sentímolo, pero a versión do seu servidor non permite compartir con usuarios desde o cliente.
+\nPor favor contacte co seu administrador</string>
 </resources>
 </resources>

+ 2 - 0
res/values-he/strings.xml

@@ -251,4 +251,6 @@
   <string name="folder_picker_choose_button_text">בחירה</string>
   <string name="folder_picker_choose_button_text">בחירה</string>
   <string name="prefs_category_security">אבטחה</string>
   <string name="prefs_category_security">אבטחה</string>
   <string name="auth_host_address">כתובת שרת</string>
   <string name="auth_host_address">כתובת שרת</string>
+  <string name="share_dialog_title">שיתוף</string>
+  <string name="share_search">חיפוש</string>
 </resources>
 </resources>

+ 2 - 0
res/values-hr/strings.xml

@@ -65,4 +65,6 @@
   <string name="folder_picker_choose_button_text">Odaberite</string>
   <string name="folder_picker_choose_button_text">Odaberite</string>
   <string name="prefs_category_security">Sigurnost</string>
   <string name="prefs_category_security">Sigurnost</string>
   <string name="auth_host_address">Adresa poslužitelja</string>
   <string name="auth_host_address">Adresa poslužitelja</string>
+  <string name="share_dialog_title">Dijeljenje zajedničkih resursa</string>
+  <string name="share_search">pretraži</string>
 </resources>
 </resources>

+ 3 - 0
res/values-hu-rHU/strings.xml

@@ -192,6 +192,7 @@
   <string name="sync_file_nothing_to_do_msg">Az állományok már szinkonizálva vannak</string>
   <string name="sync_file_nothing_to_do_msg">Az állományok már szinkonizálva vannak</string>
   <string name="create_dir_fail_msg">A könyvtárt nem lehet létrehozni</string>
   <string name="create_dir_fail_msg">A könyvtárt nem lehet létrehozni</string>
   <string name="filename_forbidden_characters">Nem megendedett karakterek: / \\ &lt; &gt; : \" | ? *</string>
   <string name="filename_forbidden_characters">Nem megendedett karakterek: / \\ &lt; &gt; : \" | ? *</string>
+  <string name="filename_forbidden_charaters_from_server">A fájlnév legalább egy érvénytelen karaktert tartalmaz!</string>
   <string name="filename_empty">A fájl név nem lehet üres</string>
   <string name="filename_empty">A fájl név nem lehet üres</string>
   <string name="wait_a_moment">Egy pillanat...</string>
   <string name="wait_a_moment">Egy pillanat...</string>
   <string name="filedisplay_unexpected_bad_get_content">Váratlan hiba; válassza ki a fájlt más programból</string>
   <string name="filedisplay_unexpected_bad_get_content">Váratlan hiba; válassza ki a fájlt más programból</string>
@@ -267,4 +268,6 @@
   <string name="file_list__footer__files">%1$d fájl</string>
   <string name="file_list__footer__files">%1$d fájl</string>
   <string name="file_list__footer__files_and_folder">%1$d fájl, 1 könyvtár</string>
   <string name="file_list__footer__files_and_folder">%1$d fájl, 1 könyvtár</string>
   <string name="file_list__footer__files_and_folders">%1$d fájl, %2$d könyvtár</string>
   <string name="file_list__footer__files_and_folders">%1$d fájl, %2$d könyvtár</string>
+  <string name="share_dialog_title">Megosztás</string>
+  <string name="share_search">Keresés</string>
 </resources>
 </resources>

+ 5 - 0
res/values-hy/strings.xml

@@ -8,10 +8,12 @@
     	<item>Biggest - Smallest</item>-->
     	<item>Biggest - Smallest</item>-->
   <!--TODO re-enable when "Accounts" is available in Navigation Drawer-->
   <!--TODO re-enable when "Accounts" is available in Navigation Drawer-->
   <!--<string name="drawer_item_accounts">Accounts</string>-->
   <!--<string name="drawer_item_accounts">Accounts</string>-->
+  <string name="drawer_item_all_files">Բոլոր ֆայլերը</string>
   <!--TODO re-enable when "On Device" is available
   <!--TODO re-enable when "On Device" is available
     <string name="drawer_item_on_device">On device</string>-->
     <string name="drawer_item_on_device">On device</string>-->
   <string name="drawer_close">Փակել</string>
   <string name="drawer_close">Փակել</string>
   <string name="drawer_open">Բացել</string>
   <string name="drawer_open">Բացել</string>
+  <string name="auth_username">Օգտանուն</string>
   <string name="auth_password">Գաղտնաբառ</string>
   <string name="auth_password">Գաղտնաբառ</string>
   <string name="sync_string_files">Ֆայլեր</string>
   <string name="sync_string_files">Ֆայլեր</string>
   <string name="uploader_btn_new_folder_text">Նոր պանակ</string>
   <string name="uploader_btn_new_folder_text">Նոր պանակ</string>
@@ -22,6 +24,8 @@
   <string name="common_yes">Այո</string>
   <string name="common_yes">Այո</string>
   <string name="common_no">Ոչ</string>
   <string name="common_no">Ոչ</string>
   <string name="common_cancel">Չեղարկել</string>
   <string name="common_cancel">Չեղարկել</string>
+  <string name="common_error">Սխալ</string>
+  <string name="uploader_info_dirname">Պանակի անուն</string>
   <string name="common_rename">Վերանվանել</string>
   <string name="common_rename">Վերանվանել</string>
   <string name="ssl_validator_label_C">Երկիր.</string>
   <string name="ssl_validator_label_C">Երկիր.</string>
   <string name="ssl_validator_label_validity_from">Ումից.</string>
   <string name="ssl_validator_label_validity_from">Ումից.</string>
@@ -29,6 +33,7 @@
   <string name="placeholder_filesize">389 ԿԲ</string>
   <string name="placeholder_filesize">389 ԿԲ</string>
   <string name="activity_chooser_send_file_title">Ուղարկել</string>
   <string name="activity_chooser_send_file_title">Ուղարկել</string>
   <string name="empty"></string>
   <string name="empty"></string>
+  <string name="username">Օգտանուն</string>
   <string name="file_list__footer__folder">1 պանակ</string>
   <string name="file_list__footer__folder">1 պանակ</string>
   <string name="file_list__footer__folders">%1$d պանակ</string>
   <string name="file_list__footer__folders">%1$d պանակ</string>
   <string name="file_list__footer__file">1 ֆայլ</string>
   <string name="file_list__footer__file">1 ֆայլ</string>

+ 1 - 0
res/values-ia/strings.xml

@@ -45,4 +45,5 @@
   <string name="prefs_category_accounts">Contos</string>
   <string name="prefs_category_accounts">Contos</string>
   <string name="saml_authentication_wrong_pass">Contrasigno errate</string>
   <string name="saml_authentication_wrong_pass">Contrasigno errate</string>
   <string name="folder_picker_choose_button_text">Seliger</string>
   <string name="folder_picker_choose_button_text">Seliger</string>
+  <string name="share_search">Cercar</string>
 </resources>
 </resources>

+ 1 - 0
res/values-is/strings.xml

@@ -35,4 +35,5 @@
   <string name="actionbar_move">Færa</string>
   <string name="actionbar_move">Færa</string>
   <string name="folder_picker_choose_button_text">Veldu</string>
   <string name="folder_picker_choose_button_text">Veldu</string>
   <string name="auth_host_address">Host nafn netþjóns</string>
   <string name="auth_host_address">Host nafn netþjóns</string>
+  <string name="share_search">Leita</string>
 </resources>
 </resources>

+ 8 - 0
res/values-it/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Struttura elenco</string>
   <string name="list_layout">Struttura elenco</string>
   <string name="action_share_file">Condividi collegamento</string>
   <string name="action_share_file">Condividi collegamento</string>
   <string name="action_unshare_file">Rimuovi condivisione collegamento</string>
   <string name="action_unshare_file">Rimuovi condivisione collegamento</string>
+  <string name="action_share_with_users">Condividi con utenti</string>
   <string name="common_yes">Sì</string>
   <string name="common_yes">Sì</string>
   <string name="common_no">No</string>
   <string name="common_no">No</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -244,6 +245,9 @@
   <string name="ssl_validator_label_validity_to">A:</string>
   <string name="ssl_validator_label_validity_to">A:</string>
   <string name="ssl_validator_label_signature">Firma:</string>
   <string name="ssl_validator_label_signature">Firma:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
+  <string name="digest_algorithm_not_available">Questo algoritmo digest non è disponibile sul tuo telefono.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Impronta digitale:</string>
+  <string name="certificate_load_problem">Si è verificato un problema durante il caricamento del certificato.</string>
   <string name="ssl_validator_null_cert">Il certificato non può essere mostrato.</string>
   <string name="ssl_validator_null_cert">Il certificato non può essere mostrato.</string>
   <string name="ssl_validator_no_info_about_error">- Nessuna informazione sull\'errore</string>
   <string name="ssl_validator_no_info_about_error">- Nessuna informazione sull\'errore</string>
   <string name="placeholder_sentence">Questo è un segnaposto</string>
   <string name="placeholder_sentence">Questo è un segnaposto</string>
@@ -337,4 +341,8 @@
   <string name="share_no_users">Ancora nessun dato condiviso con gli utenti </string>
   <string name="share_no_users">Ancora nessun dato condiviso con gli utenti </string>
   <string name="share_add_user_or_group">Aggiungi utente o gruppo</string>
   <string name="share_add_user_or_group">Aggiungi utente o gruppo</string>
   <string name="share_search">Cerca</string>
   <string name="share_search">Cerca</string>
+  <string name="search_users_and_groups_hint">Cerca utenti e gruppi</string>
+  <string name="share_group_clarification">%1$s (gruppo)</string>
+  <string name="share_sharee_unavailable">Spiacenti, la versione del tuo server non consente la condivisione con utenti dai client.
+\nContatta il tuo amministratore.</string>
 </resources>
 </resources>

+ 27 - 0
res/values-ja-rJP/strings.xml

@@ -72,6 +72,7 @@
   <string name="file_list_seconds_ago">数秒前</string>
   <string name="file_list_seconds_ago">数秒前</string>
   <string name="file_list_empty">ここには何もありません。何かアップロードしてください。</string>
   <string name="file_list_empty">ここには何もありません。何かアップロードしてください。</string>
   <string name="file_list_loading">読込中...</string>
   <string name="file_list_loading">読込中...</string>
+  <string name="file_list_no_app_for_file_type">この種類のファイルに対応するアプリはありません!</string>
   <string name="local_file_list_empty">このフォルダーにはファイルがありません。</string>
   <string name="local_file_list_empty">このフォルダーにはファイルがありません。</string>
   <string name="filedetails_select_file">ファイルをタップすると追加情報が表示されます。</string>
   <string name="filedetails_select_file">ファイルをタップすると追加情報が表示されます。</string>
   <string name="filedetails_size">サイズ:</string>
   <string name="filedetails_size">サイズ:</string>
@@ -79,13 +80,16 @@
   <string name="filedetails_created">作成:</string>
   <string name="filedetails_created">作成:</string>
   <string name="filedetails_modified">更新:</string>
   <string name="filedetails_modified">更新:</string>
   <string name="filedetails_download">ダウンロード</string>
   <string name="filedetails_download">ダウンロード</string>
+  <string name="filedetails_sync_file">ファイルを同期</string>
   <string name="filedetails_renamed_in_upload_msg">アップロード中にファイル名を %1$s に変更しました</string>
   <string name="filedetails_renamed_in_upload_msg">アップロード中にファイル名を %1$s に変更しました</string>
   <string name="list_layout">リストレイアウト</string>
   <string name="list_layout">リストレイアウト</string>
   <string name="action_share_file">URLで共有</string>
   <string name="action_share_file">URLで共有</string>
   <string name="action_unshare_file">未共有のリンク</string>
   <string name="action_unshare_file">未共有のリンク</string>
+  <string name="action_share_with_users">ユーザーと共有</string>
   <string name="common_yes">はい</string>
   <string name="common_yes">はい</string>
   <string name="common_no">いいえ</string>
   <string name="common_no">いいえ</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
+  <string name="common_cancel_sync">同期をキャンセル</string>
   <string name="common_cancel">キャンセル</string>
   <string name="common_cancel">キャンセル</string>
   <string name="common_save_exit">保存して終了</string>
   <string name="common_save_exit">保存して終了</string>
   <string name="common_error">エラー</string>
   <string name="common_error">エラー</string>
@@ -200,6 +204,8 @@
   <string name="confirmation_remove_folder_alert">本当に %1$s およびそのコンテンツを削除してもよろしいですか?</string>
   <string name="confirmation_remove_folder_alert">本当に %1$s およびそのコンテンツを削除してもよろしいですか?</string>
   <string name="confirmation_remove_local">ローカルのみ</string>
   <string name="confirmation_remove_local">ローカルのみ</string>
   <string name="confirmation_remove_folder_local">ローカルのみ</string>
   <string name="confirmation_remove_folder_local">ローカルのみ</string>
+  <string name="confirmation_remove_remote">サーバーから</string>
+  <string name="confirmation_remove_remote_and_local">リモートとローカルの両方</string>
   <string name="remove_success_msg">削除に成功しました</string>
   <string name="remove_success_msg">削除に成功しました</string>
   <string name="remove_fail_msg">削除を完了できませんでした</string>
   <string name="remove_fail_msg">削除を完了できませんでした</string>
   <string name="rename_dialog_title">新しい名前を入力</string>
   <string name="rename_dialog_title">新しい名前を入力</string>
@@ -240,6 +246,9 @@
   <string name="ssl_validator_label_validity_to">先:</string>
   <string name="ssl_validator_label_validity_to">先:</string>
   <string name="ssl_validator_label_signature">署名:</string>
   <string name="ssl_validator_label_signature">署名:</string>
   <string name="ssl_validator_label_signature_algorithm">アルゴリズム:</string>
   <string name="ssl_validator_label_signature_algorithm">アルゴリズム:</string>
+  <string name="digest_algorithm_not_available">このスマートフォンでは、ダイジェストアルゴリズムが利用できません。</string>
+  <string name="ssl_validator_label_certificate_fingerprint">フィンガープリント:</string>
+  <string name="certificate_load_problem">証明書の読み込みに問題がありました。</string>
   <string name="ssl_validator_null_cert">証明書が表示できません。</string>
   <string name="ssl_validator_null_cert">証明書が表示できません。</string>
   <string name="ssl_validator_no_info_about_error">-エラーについての詳細情報はありません</string>
   <string name="ssl_validator_no_info_about_error">-エラーについての詳細情報はありません</string>
   <string name="placeholder_sentence">これはプレースホルダです</string>
   <string name="placeholder_sentence">これはプレースホルダです</string>
@@ -254,6 +263,8 @@
   <string name="conflict_title">ファイルが競合</string>
   <string name="conflict_title">ファイルが競合</string>
   <string name="conflict_message">どちらのファイルを保存したいですか?両方のバージョンを選択した場合は、ファイル名の後ろに数字を追加したファイルのコピーを作成します。</string>
   <string name="conflict_message">どちらのファイルを保存したいですか?両方のバージョンを選択した場合は、ファイル名の後ろに数字を追加したファイルのコピーを作成します。</string>
   <string name="conflict_keep_both">両方を保持</string>
   <string name="conflict_keep_both">両方を保持</string>
+  <string name="conflict_use_local_version">ローカルのもの</string>
+  <string name="conflict_use_server_version">サーバーのもの</string>
   <string name="preview_image_description">イメージプレビュー</string>
   <string name="preview_image_description">イメージプレビュー</string>
   <string name="preview_image_error_unknown_format">この画像は表示できません</string>
   <string name="preview_image_error_unknown_format">この画像は表示できません</string>
   <string name="error__upload__local_file_not_copied">%1$s は、ローカルフォルダー %2$s  にコピーできませんでした。</string>
   <string name="error__upload__local_file_not_copied">%1$s は、ローカルフォルダー %2$s  にコピーできませんでした。</string>
@@ -301,12 +312,19 @@
   <string name="move_file_invalid_overwrite">そのファイルは宛先フォルダーにすでに存在します。</string>
   <string name="move_file_invalid_overwrite">そのファイルは宛先フォルダーにすでに存在します。</string>
   <string name="move_file_error">このファイルまたはフォルダーを移動する際にエラーが発生しました</string>
   <string name="move_file_error">このファイルまたはフォルダーを移動する際にエラーが発生しました</string>
   <string name="forbidden_permissions_move">このファイルを移動</string>
   <string name="forbidden_permissions_move">このファイルを移動</string>
+  <string name="copy_file_not_found">コピーできません。ファイルがあるか確認してください。</string>
+  <string name="copy_file_invalid_into_descendent">フォルダーを子フォルダーへコピーすることはできません。</string>
   <string name="copy_file_invalid_overwrite">そのファイルは宛先フォルダーにすでに存在します。</string>
   <string name="copy_file_invalid_overwrite">そのファイルは宛先フォルダーにすでに存在します。</string>
+  <string name="copy_file_error">このファイルまたはフォルダーをコピーする際にエラーが発生しました</string>
+  <string name="forbidden_permissions_copy">このファイルをコピー</string>
   <string name="prefs_category_instant_uploading">自動アップロード</string>
   <string name="prefs_category_instant_uploading">自動アップロード</string>
   <string name="prefs_category_security">セキュリティ</string>
   <string name="prefs_category_security">セキュリティ</string>
   <string name="prefs_instant_video_upload_path_title">動画のアップロードパス</string>
   <string name="prefs_instant_video_upload_path_title">動画のアップロードパス</string>
+  <string name="sync_folder_failed_content">%1$s フォルダーの同期が完了しませんでした。</string>
   <string name="shared_subject_header">共有中</string>
   <string name="shared_subject_header">共有中</string>
   <string name="with_you_subject_header">あなたと</string>
   <string name="with_you_subject_header">あなたと</string>
+  <string name="subject_user_shared_with_you">%1$s は \"%2$s\" をあなたと共有しました</string>
+  <string name="subject_shared_with_you">\"%1$s\" があなたと共有しました</string>
   <string name="auth_refresh_button">再接続中</string>
   <string name="auth_refresh_button">再接続中</string>
   <string name="auth_host_address">サーバーアドレス</string>
   <string name="auth_host_address">サーバーアドレス</string>
   <string name="common_error_out_memory">十分なメモリがありません</string>
   <string name="common_error_out_memory">十分なメモリがありません</string>
@@ -319,4 +337,13 @@
   <string name="file_list__footer__files">%1$d ファイル</string>
   <string name="file_list__footer__files">%1$d ファイル</string>
   <string name="file_list__footer__files_and_folder">%1$d ファイル、1 フォルダー</string>
   <string name="file_list__footer__files_and_folder">%1$d ファイル、1 フォルダー</string>
   <string name="file_list__footer__files_and_folders">%1$d ファイル、%2$d フォルダー</string>
   <string name="file_list__footer__files_and_folders">%1$d ファイル、%2$d フォルダー</string>
+  <string name="share_dialog_title">共有</string>
+  <string name="share_with_user_section_title">ユーザーまたはグループに共有</string>
+  <string name="share_no_users">ユーザーと共有されているデータはありません</string>
+  <string name="share_add_user_or_group">ユーザーまたはグループを追加</string>
+  <string name="share_search">検索</string>
+  <string name="search_users_and_groups_hint">ユーザーとグループを検索</string>
+  <string name="share_group_clarification">%1$s (グループ)</string>
+  <string name="share_sharee_unavailable">申し訳ありませんが、このサーバーのバージョンではこのクライアントアプリ上で他のユーザーと共有することができません。
+        \n管理者に相談してしてください。</string>
 </resources>
 </resources>

+ 2 - 0
res/values-ka-rGE/strings.xml

@@ -141,4 +141,6 @@
   <string name="folder_picker_choose_button_text">არჩევა</string>
   <string name="folder_picker_choose_button_text">არჩევა</string>
   <string name="prefs_category_security">უსაფრთხოება</string>
   <string name="prefs_category_security">უსაფრთხოება</string>
   <string name="auth_host_address">სერვერის მისამართი</string>
   <string name="auth_host_address">სერვერის მისამართი</string>
+  <string name="share_dialog_title">გაზიარება</string>
+  <string name="share_search">ძებნა</string>
 </resources>
 </resources>

+ 2 - 0
res/values-km/strings.xml

@@ -103,4 +103,6 @@
   <string name="folder_picker_choose_button_text">ជ្រើស</string>
   <string name="folder_picker_choose_button_text">ជ្រើស</string>
   <string name="prefs_category_security">សុវត្ថិភាព</string>
   <string name="prefs_category_security">សុវត្ថិភាព</string>
   <string name="auth_host_address">អាសយដ្ឋាន​ម៉ាស៊ីន​បម្រើ</string>
   <string name="auth_host_address">អាសយដ្ឋាន​ម៉ាស៊ីន​បម្រើ</string>
+  <string name="share_dialog_title">ការ​ចែក​រំលែក</string>
+  <string name="share_search">ស្វែង​រក</string>
 </resources>
 </resources>

+ 2 - 0
res/values-kn/strings.xml

@@ -39,4 +39,6 @@
   <string name="folder_picker_choose_button_text">ಆಯ್ಕೆ</string>
   <string name="folder_picker_choose_button_text">ಆಯ್ಕೆ</string>
   <string name="prefs_category_security">ಭದ್ರತೆ</string>
   <string name="prefs_category_security">ಭದ್ರತೆ</string>
   <string name="auth_host_address">ಪರಿಚಾರಕ ಗಣಕಯಂತ್ರದ ವಿಳಾಸ</string>
   <string name="auth_host_address">ಪರಿಚಾರಕ ಗಣಕಯಂತ್ರದ ವಿಳಾಸ</string>
+  <string name="share_dialog_title">ಹಂಚಿಕೆ</string>
+  <string name="share_search">ಹುಡುಕು</string>
 </resources>
 </resources>

+ 7 - 0
res/values-ko/strings.xml

@@ -314,6 +314,8 @@
   <string name="prefs_instant_video_upload_path_title">동영상 업로드 경로</string>
   <string name="prefs_instant_video_upload_path_title">동영상 업로드 경로</string>
   <string name="shared_subject_header">공유됨</string>
   <string name="shared_subject_header">공유됨</string>
   <string name="with_you_subject_header">여러분과</string>
   <string name="with_you_subject_header">여러분과</string>
+  <string name="subject_user_shared_with_you">%1$s 님이 \"%2$s\" 항목을 여러분과 공유하였습니다</string>
+  <string name="subject_shared_with_you">\"%1$s\"을(를) 여러분과 공유하였습니다</string>
   <string name="auth_refresh_button">연결 새로 고침</string>
   <string name="auth_refresh_button">연결 새로 고침</string>
   <string name="auth_host_address">서버 주소</string>
   <string name="auth_host_address">서버 주소</string>
   <string name="common_error_out_memory">메모리 부족</string>
   <string name="common_error_out_memory">메모리 부족</string>
@@ -326,4 +328,9 @@
   <string name="file_list__footer__files">파일 %1$d개</string>
   <string name="file_list__footer__files">파일 %1$d개</string>
   <string name="file_list__footer__files_and_folder">파일 %1$d개, 폴더 1개</string>
   <string name="file_list__footer__files_and_folder">파일 %1$d개, 폴더 1개</string>
   <string name="file_list__footer__files_and_folders">파일 %1$d개, 폴더 %2$d개</string>
   <string name="file_list__footer__files_and_folders">파일 %1$d개, 폴더 %2$d개</string>
+  <string name="share_dialog_title">공유</string>
+  <string name="share_with_user_section_title">Share with Users and Groups</string>
+  <string name="share_no_users">No data shared with users yet</string>
+  <string name="share_add_user_or_group">Add User or Group</string>
+  <string name="share_search">검색</string>
 </resources>
 </resources>

+ 1 - 0
res/values-ku-rIQ/strings.xml

@@ -37,4 +37,5 @@
   <string name="empty"></string>
   <string name="empty"></string>
   <string name="prefs_category_accounts">هەژمارەکان</string>
   <string name="prefs_category_accounts">هەژمارەکان</string>
   <string name="auth_host_address">ناونیشانی ڕاژه</string>
   <string name="auth_host_address">ناونیشانی ڕاژه</string>
+  <string name="share_search">بگەڕێ</string>
 </resources>
 </resources>

+ 2 - 0
res/values-lb/strings.xml

@@ -227,6 +227,8 @@
   <string name="prefs_category_instant_uploading">Direkt eropgeluede Fichieren</string>
   <string name="prefs_category_instant_uploading">Direkt eropgeluede Fichieren</string>
   <string name="prefs_category_security">Sécherheet</string>
   <string name="prefs_category_security">Sécherheet</string>
   <string name="prefs_instant_video_upload_path_title">Pad fir d\'Eropluede vun de Videoen</string>
   <string name="prefs_instant_video_upload_path_title">Pad fir d\'Eropluede vun de Videoen</string>
+  <string name="subject_user_shared_with_you">%1$s huet \"%2$s\" mat dir gedeelt</string>
   <string name="auth_refresh_button">Connectioun opfrëschen</string>
   <string name="auth_refresh_button">Connectioun opfrëschen</string>
   <string name="auth_host_address">Server-Adress</string>
   <string name="auth_host_address">Server-Adress</string>
+  <string name="share_search">Sichen</string>
 </resources>
 </resources>

+ 1 - 0
res/values-lo/strings.xml

@@ -8,4 +8,5 @@
     <string name="drawer_item_on_device">On device</string>-->
     <string name="drawer_item_on_device">On device</string>-->
   <string name="common_error_unknown">ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ສາເຫດ</string>
   <string name="common_error_unknown">ຂໍ້ຜິດພາດທີ່ບໍ່ຮູ້ສາເຫດ</string>
   <string name="empty"></string>
   <string name="empty"></string>
+  <string name="share_dialog_title">ການແບ່ງປັນ</string>
 </resources>
 </resources>

+ 15 - 0
res/values-lt-rLT/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Sąrašo išdėstymas</string>
   <string name="list_layout">Sąrašo išdėstymas</string>
   <string name="action_share_file">Dalintis nuoroda</string>
   <string name="action_share_file">Dalintis nuoroda</string>
   <string name="action_unshare_file">Nebesidalinti nuoroda</string>
   <string name="action_unshare_file">Nebesidalinti nuoroda</string>
+  <string name="action_share_with_users">Dalintis su vartotojais</string>
   <string name="common_yes">Taip</string>
   <string name="common_yes">Taip</string>
   <string name="common_no">Ne</string>
   <string name="common_no">Ne</string>
   <string name="common_ok">Gerai</string>
   <string name="common_ok">Gerai</string>
@@ -243,6 +244,9 @@
   <string name="ssl_validator_label_validity_to">Iki:</string>
   <string name="ssl_validator_label_validity_to">Iki:</string>
   <string name="ssl_validator_label_signature">Parašas:</string>
   <string name="ssl_validator_label_signature">Parašas:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmas:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmas:</string>
+  <string name="digest_algorithm_not_available">Tavo telefonas nepalaiko digest algoritmo.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Kontrolinis kodas:</string>
+  <string name="certificate_load_problem">Klaida įkeliant sertifikatą.</string>
   <string name="ssl_validator_null_cert">Sertifikatas negali būti parodytas.</string>
   <string name="ssl_validator_null_cert">Sertifikatas negali būti parodytas.</string>
   <string name="ssl_validator_no_info_about_error">- Nėra informacijos apie klaidą</string>
   <string name="ssl_validator_no_info_about_error">- Nėra informacijos apie klaidą</string>
   <string name="placeholder_sentence">Rezervas</string>
   <string name="placeholder_sentence">Rezervas</string>
@@ -316,6 +320,8 @@
   <string name="sync_folder_failed_content">%1$s sinchronizavimas negali būti užbaigtas.</string>
   <string name="sync_folder_failed_content">%1$s sinchronizavimas negali būti užbaigtas.</string>
   <string name="shared_subject_header">Dalinamasi</string>
   <string name="shared_subject_header">Dalinamasi</string>
   <string name="with_you_subject_header">su jumis</string>
   <string name="with_you_subject_header">su jumis</string>
+  <string name="subject_user_shared_with_you">%1$s dalinamasi \"%2$s\" su jumis</string>
+  <string name="subject_shared_with_you">\"%1$s\" dalinamasi su jumis</string>
   <string name="auth_refresh_button">Atnaujinti sujungimą</string>
   <string name="auth_refresh_button">Atnaujinti sujungimą</string>
   <string name="auth_host_address">Serverio adresas</string>
   <string name="auth_host_address">Serverio adresas</string>
   <string name="common_error_out_memory">Nepakanka atminties</string>
   <string name="common_error_out_memory">Nepakanka atminties</string>
@@ -328,4 +334,13 @@
   <string name="file_list__footer__files">%1$d failai</string>
   <string name="file_list__footer__files">%1$d failai</string>
   <string name="file_list__footer__files_and_folder">%1$d failai, 1 aplankas</string>
   <string name="file_list__footer__files_and_folder">%1$d failai, 1 aplankas</string>
   <string name="file_list__footer__files_and_folders">%1$d failai, %2$d aplankai</string>
   <string name="file_list__footer__files_and_folders">%1$d failai, %2$d aplankai</string>
+  <string name="share_dialog_title">Dalijimasis</string>
+  <string name="share_with_user_section_title">Dalintis su vartotojais ir grupėmis</string>
+  <string name="share_no_users">Su vartotojais niekuo nesidalinama</string>
+  <string name="share_add_user_or_group">Pridėti vartotoją ar grupę</string>
+  <string name="share_search">Ieškoti</string>
+  <string name="search_users_and_groups_hint">Surasti vartotoją ar grupę</string>
+  <string name="share_group_clarification">%1$s (grupė)</string>
+  <string name="share_sharee_unavailable">Serveris nepalaiko dalinimosi su vartotojais kliente.
+\nSusisiekite su administratoriumi.</string>
 </resources>
 </resources>

+ 2 - 0
res/values-lv/strings.xml

@@ -189,4 +189,6 @@
   <string name="username">Lietotājvārds</string>
   <string name="username">Lietotājvārds</string>
   <string name="file_list__footer__folder">1 mape</string>
   <string name="file_list__footer__folder">1 mape</string>
   <string name="file_list__footer__file">1 datne</string>
   <string name="file_list__footer__file">1 datne</string>
+  <string name="share_dialog_title">Dalīšanās</string>
+  <string name="share_search">Meklēt</string>
 </resources>
 </resources>

+ 3 - 0
res/values-mk/strings.xml

@@ -292,6 +292,9 @@
   <string name="prefs_category_instant_uploading">Инстант прикачувања</string>
   <string name="prefs_category_instant_uploading">Инстант прикачувања</string>
   <string name="prefs_category_security">Безбедност</string>
   <string name="prefs_category_security">Безбедност</string>
   <string name="prefs_instant_video_upload_path_title">Прикачи патека на видео</string>
   <string name="prefs_instant_video_upload_path_title">Прикачи патека на видео</string>
+  <string name="subject_user_shared_with_you">%1$s сподели \"%2$s\" со тебе</string>
   <string name="auth_refresh_button">Освежи ја конекцијата</string>
   <string name="auth_refresh_button">Освежи ја конекцијата</string>
   <string name="auth_host_address">Адреса на сервер</string>
   <string name="auth_host_address">Адреса на сервер</string>
+  <string name="share_dialog_title">Споделување</string>
+  <string name="share_search">Барај</string>
 </resources>
 </resources>

+ 1 - 0
res/values-mn/strings.xml

@@ -18,4 +18,5 @@
   <string name="common_remove">Устгах</string>
   <string name="common_remove">Устгах</string>
   <string name="empty"></string>
   <string name="empty"></string>
   <string name="prefs_category_security">Аюулгүй байдал</string>
   <string name="prefs_category_security">Аюулгүй байдал</string>
+  <string name="share_dialog_title">Түгээлт</string>
 </resources>
 </resources>

+ 8 - 0
res/values-nl/strings.xml

@@ -85,6 +85,7 @@ Download hier: %2$s</string>
   <string name="list_layout">Lijst layout</string>
   <string name="list_layout">Lijst layout</string>
   <string name="action_share_file">Deel link</string>
   <string name="action_share_file">Deel link</string>
   <string name="action_unshare_file">Link niet meer delen</string>
   <string name="action_unshare_file">Link niet meer delen</string>
+  <string name="action_share_with_users">Delen met gebruiker</string>
   <string name="common_yes">Ja</string>
   <string name="common_yes">Ja</string>
   <string name="common_no">Nee</string>
   <string name="common_no">Nee</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -247,6 +248,9 @@ Hieronder staan de lokale bestanden en de externe bestanden in %5$s waar ze naar
   <string name="ssl_validator_label_validity_to">Aan:</string>
   <string name="ssl_validator_label_validity_to">Aan:</string>
   <string name="ssl_validator_label_signature">Handtekening:</string>
   <string name="ssl_validator_label_signature">Handtekening:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritme:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritme:</string>
+  <string name="digest_algorithm_not_available">Dit digest algoritme is niet beschikbaar op uw telefoon.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Vingerafdruk:</string>
+  <string name="certificate_load_problem">Er is een probleem met het laden van het certificaat.</string>
   <string name="ssl_validator_null_cert">Het certificaat kon niet worden getoond.</string>
   <string name="ssl_validator_null_cert">Het certificaat kon niet worden getoond.</string>
   <string name="ssl_validator_no_info_about_error">- Geen informatie over de fout</string>
   <string name="ssl_validator_no_info_about_error">- Geen informatie over de fout</string>
   <string name="placeholder_sentence">Dit is een plaatshouder</string>
   <string name="placeholder_sentence">Dit is een plaatshouder</string>
@@ -340,4 +344,8 @@ Hieronder staan de lokale bestanden en de externe bestanden in %5$s waar ze naar
   <string name="share_no_users">Nog geen gegevens met gebruikers gedeeld</string>
   <string name="share_no_users">Nog geen gegevens met gebruikers gedeeld</string>
   <string name="share_add_user_or_group">Toevoegen gebruiker of groep</string>
   <string name="share_add_user_or_group">Toevoegen gebruiker of groep</string>
   <string name="share_search">Zoeken</string>
   <string name="share_search">Zoeken</string>
+  <string name="search_users_and_groups_hint">Zoeken naar gebruikers en groepen</string>
+  <string name="share_group_clarification">%1$s (groep)</string>
+  <string name="share_sharee_unavailable">Sorry, uw serverversie staat niet toe om binnen de clients te delen met gebruikers.
+Neem contact op met uw beheerder</string>
 </resources>
 </resources>

+ 2 - 0
res/values-oc/strings.xml

@@ -85,6 +85,7 @@ Telecargatz-lo aicí : %2$s</string>
   <string name="list_layout">Afichatge en lista</string>
   <string name="list_layout">Afichatge en lista</string>
   <string name="action_share_file">Partejar lo ligam</string>
   <string name="action_share_file">Partejar lo ligam</string>
   <string name="action_unshare_file">Partejar pas mai aqueste ligam</string>
   <string name="action_unshare_file">Partejar pas mai aqueste ligam</string>
+  <string name="action_share_with_users">Partejar amb d\'Utilizaires</string>
   <string name="common_yes">Òc</string>
   <string name="common_yes">Òc</string>
   <string name="common_no">Non</string>
   <string name="common_no">Non</string>
   <string name="common_ok">D\'acòrdi</string>
   <string name="common_ok">D\'acòrdi</string>
@@ -341,4 +342,5 @@ En rason d\'aquesta modificacion, totes los fichièrs mandats amb de versions an
   <string name="share_no_users">Cap de donada es pas partejada amb d\'utilizaires pel moment</string>
   <string name="share_no_users">Cap de donada es pas partejada amb d\'utilizaires pel moment</string>
   <string name="share_add_user_or_group">Apondre un utilizaire o un grop</string>
   <string name="share_add_user_or_group">Apondre un utilizaire o un grop</string>
   <string name="share_search">Recercar</string>
   <string name="share_search">Recercar</string>
+  <string name="search_users_and_groups_hint">Recercar d\'utilizaires e de gropes</string>
 </resources>
 </resources>

+ 1 - 0
res/values-pa/strings.xml

@@ -119,4 +119,5 @@
   <string name="prefs_category_accounts">ਅਕਾਊਂਟ</string>
   <string name="prefs_category_accounts">ਅਕਾਊਂਟ</string>
   <string name="folder_picker_choose_button_text">ਚੁਣੋ</string>
   <string name="folder_picker_choose_button_text">ਚੁਣੋ</string>
   <string name="auth_host_address">ਸਰਵਰ ਐਡਰੈਸ</string>
   <string name="auth_host_address">ਸਰਵਰ ਐਡਰੈਸ</string>
+  <string name="share_search">ਖੋਜ</string>
 </resources>
 </resources>

+ 3 - 0
res/values-pl/strings.xml

@@ -307,6 +307,7 @@
   <string name="prefs_instant_video_upload_path_title">Katalog wysyłania dla wideo</string>
   <string name="prefs_instant_video_upload_path_title">Katalog wysyłania dla wideo</string>
   <string name="shared_subject_header">udostępniony</string>
   <string name="shared_subject_header">udostępniony</string>
   <string name="with_you_subject_header">z tobą</string>
   <string name="with_you_subject_header">z tobą</string>
+  <string name="subject_user_shared_with_you">%1$s wspólne \"%2$s\" z tobą</string>
   <string name="auth_refresh_button">Odśwież połączenie</string>
   <string name="auth_refresh_button">Odśwież połączenie</string>
   <string name="auth_host_address">Adres Serwera</string>
   <string name="auth_host_address">Adres Serwera</string>
   <string name="common_error_out_memory">Brak wystarczającej pamięci</string>
   <string name="common_error_out_memory">Brak wystarczającej pamięci</string>
@@ -315,4 +316,6 @@
   <string name="file_list__footer__folders">%1$d folderów</string>
   <string name="file_list__footer__folders">%1$d folderów</string>
   <string name="file_list__footer__file">1 plik</string>
   <string name="file_list__footer__file">1 plik</string>
   <string name="file_list__footer__file_and_folder">1 plik , 1 folder</string>
   <string name="file_list__footer__file_and_folder">1 plik , 1 folder</string>
+  <string name="share_dialog_title">Udostępnianie</string>
+  <string name="share_search">Wyszukaj</string>
 </resources>
 </resources>

+ 10 - 2
res/values-pt-rBR/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Lista de Layout</string>
   <string name="list_layout">Lista de Layout</string>
   <string name="action_share_file">Compartilhar link</string>
   <string name="action_share_file">Compartilhar link</string>
   <string name="action_unshare_file">Descompartilhar o link</string>
   <string name="action_unshare_file">Descompartilhar o link</string>
+  <string name="action_share_with_users">Compartilhado com usuários</string>
   <string name="common_yes">Sim</string>
   <string name="common_yes">Sim</string>
   <string name="common_no">Não</string>
   <string name="common_no">Não</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -244,6 +245,9 @@
   <string name="ssl_validator_label_validity_to">Para:</string>
   <string name="ssl_validator_label_validity_to">Para:</string>
   <string name="ssl_validator_label_signature">Assinatura:</string>
   <string name="ssl_validator_label_signature">Assinatura:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmo:</string>
+  <string name="digest_algorithm_not_available">Este algoritmo de resumo não está disponível no seu telefone.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Impressão digital:</string>
+  <string name="certificate_load_problem">Existe um problema ao carregar o certificado.</string>
   <string name="ssl_validator_null_cert">O certificado não pode ser mostrado.</string>
   <string name="ssl_validator_null_cert">O certificado não pode ser mostrado.</string>
   <string name="ssl_validator_no_info_about_error">- Nenhuma informação sobre o erro</string>
   <string name="ssl_validator_no_info_about_error">- Nenhuma informação sobre o erro</string>
   <string name="placeholder_sentence">Este é um espaço reservado</string>
   <string name="placeholder_sentence">Este é um espaço reservado</string>
@@ -333,8 +337,12 @@
   <string name="file_list__footer__files_and_folder">%1$d arquivos, 1 pasta</string>
   <string name="file_list__footer__files_and_folder">%1$d arquivos, 1 pasta</string>
   <string name="file_list__footer__files_and_folders">%1$d arquivos, %2$d pastas</string>
   <string name="file_list__footer__files_and_folders">%1$d arquivos, %2$d pastas</string>
   <string name="share_dialog_title">Compartilhamento</string>
   <string name="share_dialog_title">Compartilhamento</string>
-  <string name="share_with_user_section_title">Compartilhar com Usuários ou Grupos</string>
-  <string name="share_no_users">Nenhum dado compartilhados comusuários ainda</string>
+  <string name="share_with_user_section_title">Compartilhar com Usuários e Grupos</string>
+  <string name="share_no_users">Ainda não existe nenhum dado compartilhado com usuários</string>
   <string name="share_add_user_or_group">Adicionar Usuário ou Grupo</string>
   <string name="share_add_user_or_group">Adicionar Usuário ou Grupo</string>
   <string name="share_search">Perquisar</string>
   <string name="share_search">Perquisar</string>
+  <string name="search_users_and_groups_hint">Pesquisar usuários e grupos</string>
+  <string name="share_group_clarification">%1$s (grupo)</string>
+  <string name="share_sharee_unavailable">Desculpe, sua versão do servidor não permite compartilhamento com usuários que também são clientes.
+        \nEntre em contato com o administrador</string>
 </resources>
 </resources>

+ 7 - 0
res/values-pt-rPT/strings.xml

@@ -316,6 +316,8 @@
   <string name="sync_folder_failed_content">Não foi possível completar a sincronização da pasta %1$s</string>
   <string name="sync_folder_failed_content">Não foi possível completar a sincronização da pasta %1$s</string>
   <string name="shared_subject_header">partilhado</string>
   <string name="shared_subject_header">partilhado</string>
   <string name="with_you_subject_header">consigo</string>
   <string name="with_you_subject_header">consigo</string>
+  <string name="subject_user_shared_with_you">%1$s partilhou \"%2$s\" consigo</string>
+  <string name="subject_shared_with_you">\"%1$s\" foi partilhado consigo</string>
   <string name="auth_refresh_button">Recarregar ligação</string>
   <string name="auth_refresh_button">Recarregar ligação</string>
   <string name="auth_host_address">Endereço do servidor</string>
   <string name="auth_host_address">Endereço do servidor</string>
   <string name="common_error_out_memory">Falta de memória</string>
   <string name="common_error_out_memory">Falta de memória</string>
@@ -328,4 +330,9 @@
   <string name="file_list__footer__files">%1$d ficheiros</string>
   <string name="file_list__footer__files">%1$d ficheiros</string>
   <string name="file_list__footer__files_and_folder">%1$d ficheiros, 1 pasta</string>
   <string name="file_list__footer__files_and_folder">%1$d ficheiros, 1 pasta</string>
   <string name="file_list__footer__files_and_folders">%1$d ficheiros, %2$d pastas</string>
   <string name="file_list__footer__files_and_folders">%1$d ficheiros, %2$d pastas</string>
+  <string name="share_dialog_title">Partilha</string>
+  <string name="share_with_user_section_title">Partilhar com Utilizadores e Grupos</string>
+  <string name="share_no_users">Ainda não foram partilhados os dados com os utilizadores</string>
+  <string name="share_add_user_or_group">Adicionar Utilziador ou Grupo</string>
+  <string name="share_search">Procurar</string>
 </resources>
 </resources>

+ 19 - 0
res/values-sk-rSK/strings.xml

@@ -71,6 +71,7 @@
   <string name="file_list_seconds_ago">pred sekundami</string>
   <string name="file_list_seconds_ago">pred sekundami</string>
   <string name="file_list_empty">Žiadny súbor. Nahrajte niečo!</string>
   <string name="file_list_empty">Žiadny súbor. Nahrajte niečo!</string>
   <string name="file_list_loading">Načítavam...</string>
   <string name="file_list_loading">Načítavam...</string>
+  <string name="file_list_no_app_for_file_type">Nenašla sa aplikácia pre tento typ súboru!</string>
   <string name="local_file_list_empty">V tomto priečinku nie sú žiadne súbory.</string>
   <string name="local_file_list_empty">V tomto priečinku nie sú žiadne súbory.</string>
   <string name="filedetails_select_file">Viac informácií získate kliknutím na súbor.</string>
   <string name="filedetails_select_file">Viac informácií získate kliknutím na súbor.</string>
   <string name="filedetails_size">Veľkosť:</string>
   <string name="filedetails_size">Veľkosť:</string>
@@ -78,13 +79,16 @@
   <string name="filedetails_created">Vytvorený:</string>
   <string name="filedetails_created">Vytvorený:</string>
   <string name="filedetails_modified">Zmenený:</string>
   <string name="filedetails_modified">Zmenený:</string>
   <string name="filedetails_download">Stiahnuť</string>
   <string name="filedetails_download">Stiahnuť</string>
+  <string name="filedetails_sync_file">Synchronizovať</string>
   <string name="filedetails_renamed_in_upload_msg">Súbor bol premenovaný na %1$s počas nahrávania</string>
   <string name="filedetails_renamed_in_upload_msg">Súbor bol premenovaný na %1$s počas nahrávania</string>
   <string name="list_layout">Rozvrhnutie zoznamu</string>
   <string name="list_layout">Rozvrhnutie zoznamu</string>
   <string name="action_share_file">Zdieľať linku</string>
   <string name="action_share_file">Zdieľať linku</string>
   <string name="action_unshare_file">Zrušiť zdieľanie odkazu</string>
   <string name="action_unshare_file">Zrušiť zdieľanie odkazu</string>
+  <string name="action_share_with_users">Zdieľať s používateľmi</string>
   <string name="common_yes">Áno</string>
   <string name="common_yes">Áno</string>
   <string name="common_no">Nie</string>
   <string name="common_no">Nie</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
+  <string name="common_cancel_sync">Zrušiť synchronizáciu</string>
   <string name="common_cancel">Zrušiť</string>
   <string name="common_cancel">Zrušiť</string>
   <string name="common_save_exit">Uložiť a ukončiť</string>
   <string name="common_save_exit">Uložiť a ukončiť</string>
   <string name="common_error">Chyba</string>
   <string name="common_error">Chyba</string>
@@ -241,6 +245,9 @@
   <string name="ssl_validator_label_validity_to">Do: </string>
   <string name="ssl_validator_label_validity_to">Do: </string>
   <string name="ssl_validator_label_signature">Podpis:</string>
   <string name="ssl_validator_label_signature">Podpis:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmus:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmus:</string>
+  <string name="digest_algorithm_not_available">Algoritmus digest nie je na vašom telefóne dostupný.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Odtlačok:</string>
+  <string name="certificate_load_problem">Nastal problém s načítaním certifikátu.</string>
   <string name="ssl_validator_null_cert">Certifikát nemohol byť zobrazený.</string>
   <string name="ssl_validator_null_cert">Certifikát nemohol byť zobrazený.</string>
   <string name="ssl_validator_no_info_about_error">- Žiadne informácie o tejto chybe</string>
   <string name="ssl_validator_no_info_about_error">- Žiadne informácie o tejto chybe</string>
   <string name="placeholder_sentence">Toto je \"placeholder\"</string>
   <string name="placeholder_sentence">Toto je \"placeholder\"</string>
@@ -312,8 +319,11 @@
   <string name="prefs_category_instant_uploading">Okamžité nahratie</string>
   <string name="prefs_category_instant_uploading">Okamžité nahratie</string>
   <string name="prefs_category_security">Zabezpečenie</string>
   <string name="prefs_category_security">Zabezpečenie</string>
   <string name="prefs_instant_video_upload_path_title">Cesta pre nahrávanie videí</string>
   <string name="prefs_instant_video_upload_path_title">Cesta pre nahrávanie videí</string>
+  <string name="sync_folder_failed_content">Synchronizáciu priečinka %1$s nebolo možné dokončiť</string>
   <string name="shared_subject_header">zdieľané</string>
   <string name="shared_subject_header">zdieľané</string>
   <string name="with_you_subject_header">s vami</string>
   <string name="with_you_subject_header">s vami</string>
+  <string name="subject_user_shared_with_you">%1$s vám zdieľal \"%2$s\"</string>
+  <string name="subject_shared_with_you">\"%1$s\" bol s vami nazdieľaný</string>
   <string name="auth_refresh_button">Obnoviť pripojenie</string>
   <string name="auth_refresh_button">Obnoviť pripojenie</string>
   <string name="auth_host_address">Adresa servera</string>
   <string name="auth_host_address">Adresa servera</string>
   <string name="common_error_out_memory">Nedostatok pamäte</string>
   <string name="common_error_out_memory">Nedostatok pamäte</string>
@@ -326,4 +336,13 @@
   <string name="file_list__footer__files">%1$d súb.</string>
   <string name="file_list__footer__files">%1$d súb.</string>
   <string name="file_list__footer__files_and_folder">%1$d súb., 1 priečinok</string>
   <string name="file_list__footer__files_and_folder">%1$d súb., 1 priečinok</string>
   <string name="file_list__footer__files_and_folders">%1$d súb., %2$d prieč.</string>
   <string name="file_list__footer__files_and_folders">%1$d súb., %2$d prieč.</string>
+  <string name="share_dialog_title">Zdieľanie</string>
+  <string name="share_with_user_section_title">Zdieľať s používateľmi alebo skupinami</string>
+  <string name="share_no_users">Zatiaľ s používateľmi nezdieľate žiadne dáta.</string>
+  <string name="share_add_user_or_group">Pridať používateľa alebo skupinu</string>
+  <string name="share_search">Hľadať</string>
+  <string name="search_users_and_groups_hint">Vyhľadať používateľov alebo skupiny</string>
+  <string name="share_group_clarification">%1$s (skupina)</string>
+  <string name="share_sharee_unavailable">Je nám ľúto, vaša verzia servera neumožňuje zdieľanie s používateľmi alebo skupinami.
+\nProsím, obráťte sa na svojho správcu</string>
 </resources>
 </resources>

+ 8 - 0
res/values-sq/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">Skemë Liste</string>
   <string name="list_layout">Skemë Liste</string>
   <string name="action_share_file">Ndajeni lidhjen me të tjerët</string>
   <string name="action_share_file">Ndajeni lidhjen me të tjerët</string>
   <string name="action_unshare_file">Zhbëjeni ndarjen e lidhjes me të tjerët</string>
   <string name="action_unshare_file">Zhbëjeni ndarjen e lidhjes me të tjerët</string>
+  <string name="action_share_with_users">Ndajeni me përdoruesit</string>
   <string name="common_yes">Po</string>
   <string name="common_yes">Po</string>
   <string name="common_no">Jo</string>
   <string name="common_no">Jo</string>
   <string name="common_ok">OK</string>
   <string name="common_ok">OK</string>
@@ -241,6 +242,9 @@
   <string name="ssl_validator_label_validity_to">Deri më:</string>
   <string name="ssl_validator_label_validity_to">Deri më:</string>
   <string name="ssl_validator_label_signature">Nënshkrim:</string>
   <string name="ssl_validator_label_signature">Nënshkrim:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritëm:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritëm:</string>
+  <string name="digest_algorithm_not_available">Ky algoritëm digest s’është i passhëm në telefonin tuaj.</string>
+  <string name="ssl_validator_label_certificate_fingerprint">Shenja gishtash:</string>
+  <string name="certificate_load_problem">Pati një problem gjatë ngarkimit të dëshmisë.</string>
   <string name="ssl_validator_null_cert">Dëshmia s\’u shfaq dot.</string>
   <string name="ssl_validator_null_cert">Dëshmia s\’u shfaq dot.</string>
   <string name="ssl_validator_no_info_about_error">- Pa të dhëna rreth gabimit</string>
   <string name="ssl_validator_no_info_about_error">- Pa të dhëna rreth gabimit</string>
   <string name="placeholder_sentence">Kjo është një vendmbajtëse</string>
   <string name="placeholder_sentence">Kjo është një vendmbajtëse</string>
@@ -333,4 +337,8 @@
   <string name="share_no_users">Ende pa të dhëna të ndara me përdorues</string>
   <string name="share_no_users">Ende pa të dhëna të ndara me përdorues</string>
   <string name="share_add_user_or_group">Shtoni Përdorues ose Grup</string>
   <string name="share_add_user_or_group">Shtoni Përdorues ose Grup</string>
   <string name="share_search">Kërko</string>
   <string name="share_search">Kërko</string>
+  <string name="search_users_and_groups_hint">Kërkoni për grupe dhe përdorues</string>
+  <string name="share_group_clarification">%1$s (grup)</string>
+  <string name="share_sharee_unavailable">Na ndjeni, versioni juaj i shërbyesit nuk lejon ndarje me përdorues brenda klientësh.
+        \nJu lutemi, lidhuni me përgjegjësin tuaj</string>
 </resources>
 </resources>

+ 3 - 0
res/values-sv/strings.xml

@@ -281,5 +281,8 @@
   <string name="prefs_category_instant_uploading">Direktuppladning</string>
   <string name="prefs_category_instant_uploading">Direktuppladning</string>
   <string name="prefs_category_security">Säkerhet</string>
   <string name="prefs_category_security">Säkerhet</string>
   <string name="prefs_instant_video_upload_path_title">Uppladdnings-sökväg för video</string>
   <string name="prefs_instant_video_upload_path_title">Uppladdnings-sökväg för video</string>
+  <string name="subject_user_shared_with_you">%1$s delade \"%2$s\" med dig</string>
   <string name="auth_host_address">Serveradress</string>
   <string name="auth_host_address">Serveradress</string>
+  <string name="share_dialog_title">Dela</string>
+  <string name="share_search">Sök</string>
 </resources>
 </resources>

+ 1 - 0
res/values-ta-rLK/strings.xml

@@ -126,4 +126,5 @@
   <string name="prefs_category_accounts">கணக்குகள்</string>
   <string name="prefs_category_accounts">கணக்குகள்</string>
   <string name="folder_picker_choose_button_text">தெரிவுசெய்க </string>
   <string name="folder_picker_choose_button_text">தெரிவுசெய்க </string>
   <string name="auth_host_address">சேவையக முகவரி</string>
   <string name="auth_host_address">சேவையக முகவரி</string>
+  <string name="share_search">தேடுதல்</string>
 </resources>
 </resources>

+ 17 - 2
res/values-th-rTH/strings.xml

@@ -84,6 +84,7 @@
   <string name="list_layout">เค้าโครงรายการ</string>
   <string name="list_layout">เค้าโครงรายการ</string>
   <string name="action_share_file">แชร์ลิงค์</string>
   <string name="action_share_file">แชร์ลิงค์</string>
   <string name="action_unshare_file">ยกเลิกการแชร์ลิงค์</string>
   <string name="action_unshare_file">ยกเลิกการแชร์ลิงค์</string>
+  <string name="action_share_with_users">แชร์กับผู้ใช้</string>
   <string name="common_yes">ตกลง</string>
   <string name="common_yes">ตกลง</string>
   <string name="common_no">ไม่ตกลง</string>
   <string name="common_no">ไม่ตกลง</string>
   <string name="common_ok">ตกลง</string>
   <string name="common_ok">ตกลง</string>
@@ -201,7 +202,7 @@
   <string name="confirmation_remove_folder_alert">คุณต้องการที่จะลบ %1$s และเนื้อหาของมัน?</string>
   <string name="confirmation_remove_folder_alert">คุณต้องการที่จะลบ %1$s และเนื้อหาของมัน?</string>
   <string name="confirmation_remove_local">เฉพาะต้นทางเท่านั้น</string>
   <string name="confirmation_remove_local">เฉพาะต้นทางเท่านั้น</string>
   <string name="confirmation_remove_folder_local">เฉพาะต้นทางเท่านั้น</string>
   <string name="confirmation_remove_folder_local">เฉพาะต้นทางเท่านั้น</string>
-  <string name="confirmation_remove_remote">จากเซิฟเวอร์</string>
+  <string name="confirmation_remove_remote">จากเซิร์ฟเวอร์</string>
   <string name="confirmation_remove_remote_and_local">รีโมท &amp; ต้นทาง</string>
   <string name="confirmation_remove_remote_and_local">รีโมท &amp; ต้นทาง</string>
   <string name="remove_success_msg">ลบเรียบร้อยแล้ว</string>
   <string name="remove_success_msg">ลบเรียบร้อยแล้ว</string>
   <string name="remove_fail_msg">ไม่สามารถลบได้</string>
   <string name="remove_fail_msg">ไม่สามารถลบได้</string>
@@ -243,6 +244,9 @@
   <string name="ssl_validator_label_validity_to">ถึง:</string>
   <string name="ssl_validator_label_validity_to">ถึง:</string>
   <string name="ssl_validator_label_signature">ลายเซ็นต์:</string>
   <string name="ssl_validator_label_signature">ลายเซ็นต์:</string>
   <string name="ssl_validator_label_signature_algorithm">อัลกอริทึ่ม:</string>
   <string name="ssl_validator_label_signature_algorithm">อัลกอริทึ่ม:</string>
+  <string name="digest_algorithm_not_available">อัลกอริทึมย่อยนี้ไม่สามารถใช้งานบนโทรศัพท์ของคุณ</string>
+  <string name="ssl_validator_label_certificate_fingerprint">ลายนิ้วมือ:</string>
+  <string name="certificate_load_problem">มีปัญหาในการโหลดใบรับรอง</string>
   <string name="ssl_validator_null_cert">ไม่สามารถแสดงใบรับรอง</string>
   <string name="ssl_validator_null_cert">ไม่สามารถแสดงใบรับรอง</string>
   <string name="ssl_validator_no_info_about_error">- ไม่มีข้อมูลเกี่ยวกับข้อผิดพลาด</string>
   <string name="ssl_validator_no_info_about_error">- ไม่มีข้อมูลเกี่ยวกับข้อผิดพลาด</string>
   <string name="placeholder_sentence">นี่คือ placeholder</string>
   <string name="placeholder_sentence">นี่คือ placeholder</string>
@@ -258,7 +262,7 @@
   <string name="conflict_message">ไฟล์ใดที่คุณต้องการที่จะเก็บ? หากคุณเลือกทั้งสองรุ่น ไฟล์ต้นทางจะมีจำนวนชื่อเพิ่ม</string>
   <string name="conflict_message">ไฟล์ใดที่คุณต้องการที่จะเก็บ? หากคุณเลือกทั้งสองรุ่น ไฟล์ต้นทางจะมีจำนวนชื่อเพิ่ม</string>
   <string name="conflict_keep_both">เก็บไว้ทั้งสองอย่าง</string>
   <string name="conflict_keep_both">เก็บไว้ทั้งสองอย่าง</string>
   <string name="conflict_use_local_version">เวอร์ชันต้นทาง</string>
   <string name="conflict_use_local_version">เวอร์ชันต้นทาง</string>
-  <string name="conflict_use_server_version">เวอร์ชันเซิฟเวอร์</string>
+  <string name="conflict_use_server_version">เวอร์ชันเซิร์ฟเวอร์</string>
   <string name="preview_image_description">แสดงรูปภาพตัวอย่าง</string>
   <string name="preview_image_description">แสดงรูปภาพตัวอย่าง</string>
   <string name="preview_image_error_unknown_format">ไม่สามารถแสดงรูปภาพนี้ได้</string>
   <string name="preview_image_error_unknown_format">ไม่สามารถแสดงรูปภาพนี้ได้</string>
   <string name="error__upload__local_file_not_copied">%1$s ไม่สามารถคัดลอกไปยังโฟลเดอร์ %2$s ในเครื่อง</string>
   <string name="error__upload__local_file_not_copied">%1$s ไม่สามารถคัดลอกไปยังโฟลเดอร์ %2$s ในเครื่อง</string>
@@ -316,6 +320,8 @@
   <string name="sync_folder_failed_content">ประสานข้อมูลโฟลเดอร์ %1$s ไม่สำเร็จ</string>
   <string name="sync_folder_failed_content">ประสานข้อมูลโฟลเดอร์ %1$s ไม่สำเร็จ</string>
   <string name="shared_subject_header">ถูกแชร์</string>
   <string name="shared_subject_header">ถูกแชร์</string>
   <string name="with_you_subject_header">กับคุณ</string>
   <string name="with_you_subject_header">กับคุณ</string>
+  <string name="subject_user_shared_with_you">%1$s ได้แชร์ \"%2$s\" กับคุณ</string>
+  <string name="subject_shared_with_you">\"%1$s\" ได้ถูกแชร์กับคุณ</string>
   <string name="auth_refresh_button">ฟื้นฟูการเชื่อมต่อ</string>
   <string name="auth_refresh_button">ฟื้นฟูการเชื่อมต่อ</string>
   <string name="auth_host_address">ที่อยู่เซิร์ฟเวอร์</string>
   <string name="auth_host_address">ที่อยู่เซิร์ฟเวอร์</string>
   <string name="common_error_out_memory">หน่วยความจำไม่พอ</string>
   <string name="common_error_out_memory">หน่วยความจำไม่พอ</string>
@@ -328,4 +334,13 @@
   <string name="file_list__footer__files">%1$d ไฟล์</string>
   <string name="file_list__footer__files">%1$d ไฟล์</string>
   <string name="file_list__footer__files_and_folder">%1$d ไฟล์, 1 โฟลเดอร์</string>
   <string name="file_list__footer__files_and_folder">%1$d ไฟล์, 1 โฟลเดอร์</string>
   <string name="file_list__footer__files_and_folders">%1$d ไฟล์, %2$d โฟลเดอร์</string>
   <string name="file_list__footer__files_and_folders">%1$d ไฟล์, %2$d โฟลเดอร์</string>
+  <string name="share_dialog_title">การแชร์ข้อมูล</string>
+  <string name="share_with_user_section_title">แชร์ไปยังผู้ใช้หรือกลุ่ม</string>
+  <string name="share_no_users">ยังไม่มีข้อมูลที่แชร์กับผู้ใช้ในตอนนี้</string>
+  <string name="share_add_user_or_group">เพิ่มผู้ใช่หรือกลุ่ม</string>
+  <string name="share_search">ค้นหา</string>
+  <string name="search_users_and_groups_hint">ค้นหาผู้ใช้และกลุ่ม</string>
+  <string name="share_group_clarification">%1$s (กลุ่ม)</string>
+  <string name="share_sharee_unavailable">ขออภัย รุ่นเซิร์ฟเวอร์ของคุณไม่อนุญาตให้แชร์กับผู้ใช้ภายในไคลเอนต์
+\nกรุณาติดต่อผู้ดูแลระบบ</string>
 </resources>
 </resources>

+ 4 - 0
res/values-tr/strings.xml

@@ -314,6 +314,8 @@
   <string name="prefs_instant_video_upload_path_title">Video Yükleme Yolu</string>
   <string name="prefs_instant_video_upload_path_title">Video Yükleme Yolu</string>
   <string name="shared_subject_header">sizinle</string>
   <string name="shared_subject_header">sizinle</string>
   <string name="with_you_subject_header">paylaştı</string>
   <string name="with_you_subject_header">paylaştı</string>
+  <string name="subject_user_shared_with_you">%1$s, sizinle \"%2$s\" paylaşımını yaptı</string>
+  <string name="subject_shared_with_you">\"%1$s\" sizinle paylaşıldı</string>
   <string name="auth_refresh_button">Bağlantıyı yenile</string>
   <string name="auth_refresh_button">Bağlantıyı yenile</string>
   <string name="auth_host_address">Sunucu adresi</string>
   <string name="auth_host_address">Sunucu adresi</string>
   <string name="common_error_out_memory">Yeterli hafıza yok</string>
   <string name="common_error_out_memory">Yeterli hafıza yok</string>
@@ -326,4 +328,6 @@
   <string name="file_list__footer__files">%1$d dosya</string>
   <string name="file_list__footer__files">%1$d dosya</string>
   <string name="file_list__footer__files_and_folder">%1$d dosya, 1 klasör</string>
   <string name="file_list__footer__files_and_folder">%1$d dosya, 1 klasör</string>
   <string name="file_list__footer__files_and_folders">%1$d dosya, %2$d klasör</string>
   <string name="file_list__footer__files_and_folders">%1$d dosya, %2$d klasör</string>
+  <string name="share_dialog_title">Paylaşım</string>
+  <string name="share_search">Ara</string>
 </resources>
 </resources>

+ 2 - 0
res/values-ug/strings.xml

@@ -51,4 +51,6 @@
   <string name="prefs_category_accounts">ھېساباتلار</string>
   <string name="prefs_category_accounts">ھېساباتلار</string>
   <string name="prefs_category_security">بىخەتەرلىك</string>
   <string name="prefs_category_security">بىخەتەرلىك</string>
   <string name="auth_host_address">مۇلازىمېتىر ئادرىسى</string>
   <string name="auth_host_address">مۇلازىمېتىر ئادرىسى</string>
+  <string name="share_dialog_title">ھەمبەھىر</string>
+  <string name="share_search">ئىزدە</string>
 </resources>
 </resources>

+ 4 - 0
res/values-uk/strings.xml

@@ -314,6 +314,8 @@
   <string name="prefs_instant_video_upload_path_title">Шлях завантаження відео</string>
   <string name="prefs_instant_video_upload_path_title">Шлях завантаження відео</string>
   <string name="shared_subject_header">поширений</string>
   <string name="shared_subject_header">поширений</string>
   <string name="with_you_subject_header">з Вами</string>
   <string name="with_you_subject_header">з Вами</string>
+  <string name="subject_user_shared_with_you">%1$s поділився \"%2$s\" з вами</string>
+  <string name="subject_shared_with_you">З Вами поділилися \"%1$s\"</string>
   <string name="auth_refresh_button">Оновити з\'єднання</string>
   <string name="auth_refresh_button">Оновити з\'єднання</string>
   <string name="auth_host_address">Ареса серверу</string>
   <string name="auth_host_address">Ареса серверу</string>
   <string name="common_error_out_memory">Недостатньо пам\'яті</string>
   <string name="common_error_out_memory">Недостатньо пам\'яті</string>
@@ -326,4 +328,6 @@
   <string name="file_list__footer__files">%1$d файлів</string>
   <string name="file_list__footer__files">%1$d файлів</string>
   <string name="file_list__footer__files_and_folder">%1$d файлів, 1 тека</string>
   <string name="file_list__footer__files_and_folder">%1$d файлів, 1 тека</string>
   <string name="file_list__footer__files_and_folders">%1$d файлів, %2$d тек</string>
   <string name="file_list__footer__files_and_folders">%1$d файлів, %2$d тек</string>
+  <string name="share_dialog_title">Спільний доступ</string>
+  <string name="share_search">Пошук</string>
 </resources>
 </resources>

+ 2 - 0
res/values-vi/strings.xml

@@ -206,4 +206,6 @@
   <string name="prefs_category_accounts">Tài khoản</string>
   <string name="prefs_category_accounts">Tài khoản</string>
   <string name="folder_picker_choose_button_text">Chọn</string>
   <string name="folder_picker_choose_button_text">Chọn</string>
   <string name="auth_host_address">Địa chỉ máy chủ</string>
   <string name="auth_host_address">Địa chỉ máy chủ</string>
+  <string name="share_dialog_title">Chia sẻ</string>
+  <string name="share_search">Tìm kiếm</string>
 </resources>
 </resources>

+ 4 - 0
res/values-zh-rCN/strings.xml

@@ -314,6 +314,8 @@
   <string name="prefs_instant_video_upload_path_title">视频上传路径</string>
   <string name="prefs_instant_video_upload_path_title">视频上传路径</string>
   <string name="shared_subject_header">已共享</string>
   <string name="shared_subject_header">已共享</string>
   <string name="with_you_subject_header">与你</string>
   <string name="with_you_subject_header">与你</string>
+  <string name="subject_user_shared_with_you">%1$s和你分享了“%2$s”</string>
+  <string name="subject_shared_with_you">已与你分享“%1$s”</string>
   <string name="auth_refresh_button">刷新连接</string>
   <string name="auth_refresh_button">刷新连接</string>
   <string name="auth_host_address">服务器地址</string>
   <string name="auth_host_address">服务器地址</string>
   <string name="common_error_out_memory">内存不足</string>
   <string name="common_error_out_memory">内存不足</string>
@@ -326,4 +328,6 @@
   <string name="file_list__footer__files">%1$d 个文件</string>
   <string name="file_list__footer__files">%1$d 个文件</string>
   <string name="file_list__footer__files_and_folder">%1$d 个文件,1 个文件夹</string>
   <string name="file_list__footer__files_and_folder">%1$d 个文件,1 个文件夹</string>
   <string name="file_list__footer__files_and_folders">%1$d 个文件,%2$d 个文件夹</string>
   <string name="file_list__footer__files_and_folders">%1$d 个文件,%2$d 个文件夹</string>
+  <string name="share_dialog_title">共享</string>
+  <string name="share_search">搜索</string>
 </resources>
 </resources>

+ 2 - 0
res/values-zh-rHK/strings.xml

@@ -77,4 +77,6 @@
   <string name="saml_authentication_wrong_pass">密碼錯誤</string>
   <string name="saml_authentication_wrong_pass">密碼錯誤</string>
   <string name="prefs_category_security">安全</string>
   <string name="prefs_category_security">安全</string>
   <string name="auth_host_address">伺服器地址</string>
   <string name="auth_host_address">伺服器地址</string>
+  <string name="share_dialog_title">分享</string>
+  <string name="share_search">尋找</string>
 </resources>
 </resources>

+ 14 - 1
src/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -747,7 +747,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 mOAuthTokenEndpointText.getText().toString().trim());
                 mOAuthTokenEndpointText.getText().toString().trim());
         
         
         getServerInfoIntent.putExtra(
         getServerInfoIntent.putExtra(
-                OperationsService.EXTRA_OAUTH2_QUERY_PARAMETERS, 
+                OperationsService.EXTRA_OAUTH2_QUERY_PARAMETERS,
                 queryParameters);
                 queryParameters);
         
         
         if (mOperationsServiceBinder != null) {
         if (mOperationsServiceBinder != null) {
@@ -806,6 +806,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         showRefreshButton(false);
         showRefreshButton(false);
 
 
         if (uri.length() != 0) {
         if (uri.length() != 0) {
+            uri = stripIndexPhpOrAppsFiles(uri, mHostUrlInput);
+
             // Handle internationalized domain names
             // Handle internationalized domain names
             uri = DisplayUtils.convertIdn(uri, true);
             uri = DisplayUtils.convertIdn(uri, true);
 
 
@@ -1148,6 +1150,17 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         return url;
         return url;
     }
     }
 
 
+    private String stripIndexPhpOrAppsFiles(String url, EditText mHostUrlInput) {
+        if (url.endsWith("/index.php")) {
+            url = url.substring(0, url.lastIndexOf("/index.php"));
+            mHostUrlInput.setText(url);
+        } else if (url.contains("/index.php/apps/")) {
+            url = url.substring(0, url.lastIndexOf("/index.php/apps/"));
+            mHostUrlInput.setText(url);
+        }
+
+        return url;
+    }
 
 
     // TODO remove, if possible
     // TODO remove, if possible
     private String trimUrlWebdav(String url){       
     private String trimUrlWebdav(String url){       

+ 181 - 0
src/com/owncloud/android/datamodel/FileDataStorageManager.java

@@ -50,6 +50,8 @@ import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.lib.resources.files.FileUtils;
 import com.owncloud.android.lib.resources.files.FileUtils;
 import com.owncloud.android.lib.resources.shares.OCShare;
 import com.owncloud.android.lib.resources.shares.OCShare;
 import com.owncloud.android.lib.resources.shares.ShareType;
 import com.owncloud.android.lib.resources.shares.ShareType;
+import com.owncloud.android.lib.resources.status.CapabilityBooleanType;
+import com.owncloud.android.lib.resources.status.OCCapability;
 import com.owncloud.android.utils.FileStorageUtils;
 import com.owncloud.android.utils.FileStorageUtils;
 
 
 import java.io.FileInputStream;
 import java.io.FileInputStream;
@@ -1737,4 +1739,183 @@ public class FileDataStorageManager {
         }
         }
 
 
     }
     }
+
+    public OCCapability saveCapabilities(OCCapability capability){
+
+        // Prepare capabilities data
+        ContentValues cv = new ContentValues();
+        cv.put(ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME, mAccount.name);
+        cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MAYOR, capability.getVersionMayor());
+        cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MINOR, capability.getVersionMinor());
+        cv.put(ProviderTableMeta.CAPABILITIES_VERSION_MICRO, capability.getVersionMicro());
+        cv.put(ProviderTableMeta.CAPABILITIES_VERSION_STRING, capability.getVersionString());
+        cv.put(ProviderTableMeta.CAPABILITIES_VERSION_EDITION, capability.getVersionEdition());
+        cv.put(ProviderTableMeta.CAPABILITIES_CORE_POLLINTERVAL, capability.getCorePollinterval());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_API_ENABLED, capability.getFilesSharingApiEnabled().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_ENABLED,
+                capability.getFilesSharingPublicEnabled().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED,
+                capability.getFilesSharingPublicPasswordEnforced().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED,
+                capability.getFilesSharingPublicExpireDateEnabled().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS,
+                capability.getFilesSharingPublicExpireDateDays());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED,
+                capability.getFilesSharingPublicExpireDateEnforced().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_SEND_MAIL,
+                capability.getFilesSharingPublicSendMail().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_UPLOAD,
+                capability.getFilesSharingPublicUpload().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_USER_SEND_MAIL,
+                capability.getFilesSharingUserSendMail().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_RESHARING, capability.getFilesSharingResharing().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_OUTGOING,
+                capability.getFilesSharingFederationOutgoing().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_INCOMING,
+                capability.getFilesSharingFederationIncoming().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_FILES_BIGFILECHUNKING, capability.getFilesBigFileChuncking().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_FILES_UNDELETE, capability.getFilesUndelete().getValue());
+        cv.put(ProviderTableMeta.CAPABILITIES_FILES_VERSIONING, capability.getFilesVersioning().getValue());
+
+        if (capabilityExists(mAccount.name)) {
+            if (getContentResolver() != null) {
+                getContentResolver().update(ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv,
+                        ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=?",
+                        new String[]{mAccount.name});
+            } else {
+                try {
+                    getContentProviderClient().update(ProviderTableMeta.CONTENT_URI_CAPABILITIES,
+                            cv, ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=?",
+                            new String[]{mAccount.name});
+                } catch (RemoteException e) {
+                    Log_OC.e(TAG,
+                            "Fail to insert insert file to database "
+                                    + e.getMessage());
+                }
+            }
+        } else {
+            Uri result_uri = null;
+            if (getContentResolver() != null) {
+                result_uri = getContentResolver().insert(
+                        ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv);
+            } else {
+                try {
+                    result_uri = getContentProviderClient().insert(
+                            ProviderTableMeta.CONTENT_URI_CAPABILITIES, cv);
+                } catch (RemoteException e) {
+                    Log_OC.e(TAG,
+                            "Fail to insert insert capability to database "
+                                    + e.getMessage());
+                }
+            }
+            if (result_uri != null) {
+                long new_id = Long.parseLong(result_uri.getPathSegments()
+                        .get(1));
+                capability.setId(new_id);
+                capability.setAccountName(mAccount.name);
+            }
+        }
+
+        return capability;
+    }
+
+    private boolean capabilityExists(String accountName) {
+        Cursor c = getCapabilityCursorForAccount(accountName);
+        boolean exists = false;
+        if (c != null) {
+            exists = c.moveToFirst();
+            c.close();
+        }
+        return exists;
+    }
+
+    private Cursor getCapabilityCursorForAccount(String accountName){
+        Cursor c = null;
+        if (getContentResolver() != null) {
+            c = getContentResolver()
+                    .query(ProviderTableMeta.CONTENT_URI_CAPABILITIES,
+                            null,
+                            ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=? ",
+                            new String[]{accountName}, null);
+        } else {
+            try {
+                c = getContentProviderClient().query(
+                        ProviderTableMeta.CONTENT_URI_CAPABILITIES,
+                        null,
+                        ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + "=? ",
+                        new String[]{accountName}, null);
+            } catch (RemoteException e) {
+                Log_OC.e(TAG,
+                        "Couldn't determine capability existance, assuming non existance: "
+                                + e.getMessage());
+            }
+        }
+
+        return c;
+
+    }
+    public OCCapability getCapability(String accountName){
+        OCCapability capability = null;
+        Cursor c = getCapabilityCursorForAccount(accountName);
+
+        if (c.moveToFirst()) {
+            capability = createCapabilityInstance(c);
+        }
+        c.close();
+        return capability;
+    }
+
+    private OCCapability createCapabilityInstance(Cursor c) {
+        OCCapability capability = null;
+        if (c != null) {
+            capability = new OCCapability();
+            capability.setId(c.getLong(c.getColumnIndex(ProviderTableMeta._ID)));
+            capability.setAccountName(c.getString(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME)));
+            capability.setVersionMayor(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MAYOR)));
+            capability.setVersionMinor(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MINOR)));
+            capability.setVersionMicro(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_MICRO)));
+            capability.setVersionString(c.getString(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_STRING)));
+            capability.setVersionEdition(c.getString(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_VERSION_EDITION)));
+            capability.setCorePollinterval(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_CORE_POLLINTERVAL)));
+            capability.setFilesSharingApiEnabled(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_API_ENABLED))));
+            capability.setFilesSharingPublicEnabled(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_ENABLED))));
+            capability.setFilesSharingPublicPasswordEnforced(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED))));
+            capability.setFilesSharingPublicExpireDateEnabled(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED))));
+            capability.setFilesSharingPublicExpireDateDays(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS)));
+            capability.setFilesSharingPublicExpireDateEnforced(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED))));
+            capability.setFilesSharingPublicSendMail(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_SEND_MAIL))));
+            capability.setFilesSharingPublicUpload(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_UPLOAD))));
+            capability.setFilesSharingUserSendMail(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_USER_SEND_MAIL))));
+            capability.setFilesSharingResharing(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_RESHARING))));
+            capability.setFilesSharingFederationOutgoing(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_OUTGOING))));
+            capability.setFilesSharingFederationIncoming(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_INCOMING))));
+            capability.setFilesBigFileChuncking(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_BIGFILECHUNKING))));
+            capability.setFilesUndelete(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_UNDELETE))));
+            capability.setFilesVersioning(CapabilityBooleanType.fromValue(c.getInt(c
+                    .getColumnIndex(ProviderTableMeta.CAPABILITIES_FILES_VERSIONING))));
+
+        }
+        return capability;
+    }
 }
 }

+ 29 - 0
src/com/owncloud/android/datamodel/OCFile.java

@@ -1,6 +1,8 @@
 /**
 /**
  *   ownCloud Android client application
  *   ownCloud Android client application
  *
  *
+ *   @author Bartek Przybylski
+ *   @author David A. Velasco
  *   Copyright (C) 2012  Bartek Przybylski
  *   Copyright (C) 2012  Bartek Przybylski
  *   Copyright (C) 2015 ownCloud Inc.
  *   Copyright (C) 2015 ownCloud Inc.
  *
  *
@@ -20,6 +22,8 @@
 
 
 package com.owncloud.android.datamodel;
 package com.owncloud.android.datamodel;
 
 
+import android.content.ContentResolver;
+import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.Parcelable;
 import android.webkit.MimeTypeMap;
 import android.webkit.MimeTypeMap;
@@ -80,6 +84,12 @@ public class OCFile implements Parcelable, Comparable<OCFile> {
 
 
     private boolean mShareWithSharee;
     private boolean mShareWithSharee;
 
 
+    /**
+     * URI to the local path of the file contents, if stored in the device; cached after first call
+     * to {@link #getStorageUri()}
+     */
+    private Uri mLocalUri;
+
 
 
     /**
     /**
      * Create new {@link OCFile} with given path.
      * Create new {@link OCFile} with given path.
@@ -213,6 +223,24 @@ public class OCFile implements Parcelable, Comparable<OCFile> {
         return mLocalPath;
         return mLocalPath;
     }
     }
 
 
+    /**
+     * The URI to the file contents, if stored locally
+     *
+     * @return A URI to the local copy of the file, or NULL if not stored in the device
+     */
+    public Uri getStorageUri() {
+        if (mLocalPath == null || mLocalPath.length() == 0) {
+            return null;
+        }
+        if (mLocalUri == null) {
+            Uri.Builder builder = new Uri.Builder();
+            builder.scheme(ContentResolver.SCHEME_FILE);
+            builder.path(mLocalPath);
+            mLocalUri = builder.build();
+        }
+        return mLocalUri;
+    }
+
     /**
     /**
      * Can be used to set the path where the file is stored
      * Can be used to set the path where the file is stored
      *
      *
@@ -220,6 +248,7 @@ public class OCFile implements Parcelable, Comparable<OCFile> {
      */
      */
     public void setStoragePath(String storage_path) {
     public void setStoragePath(String storage_path) {
         mLocalPath = storage_path;
         mLocalPath = storage_path;
+        mLocalUri = null;
     }
     }
 
 
     /**
     /**

+ 34 - 2
src/com/owncloud/android/db/ProviderMeta.java

@@ -31,7 +31,7 @@ import com.owncloud.android.MainApp;
 public class ProviderMeta {
 public class ProviderMeta {
 
 
     public static final String DB_NAME = "filelist";
     public static final String DB_NAME = "filelist";
-    public static final int DB_VERSION = 12;
+    public static final int DB_VERSION = 13;
 
 
     private ProviderMeta() {
     private ProviderMeta() {
     }
     }
@@ -39,6 +39,7 @@ public class ProviderMeta {
     static public class ProviderTableMeta implements BaseColumns {
     static public class ProviderTableMeta implements BaseColumns {
         public static final String FILE_TABLE_NAME = "filelist";
         public static final String FILE_TABLE_NAME = "filelist";
         public static final String OCSHARES_TABLE_NAME = "ocshares";
         public static final String OCSHARES_TABLE_NAME = "ocshares";
+        public static final String CAPABILITIES_TABLE_NAME = "capabilities";
         public static final Uri CONTENT_URI = Uri.parse("content://"
         public static final Uri CONTENT_URI = Uri.parse("content://"
                 + MainApp.getAuthority() + "/");
                 + MainApp.getAuthority() + "/");
         public static final Uri CONTENT_URI_FILE = Uri.parse("content://"
         public static final Uri CONTENT_URI_FILE = Uri.parse("content://"
@@ -47,6 +48,8 @@ public class ProviderMeta {
                 + MainApp.getAuthority() + "/dir");
                 + MainApp.getAuthority() + "/dir");
         public static final Uri CONTENT_URI_SHARE = Uri.parse("content://"
         public static final Uri CONTENT_URI_SHARE = Uri.parse("content://"
                 + MainApp.getAuthority() + "/shares");
                 + MainApp.getAuthority() + "/shares");
+        public static final Uri CONTENT_URI_CAPABILITIES = Uri.parse("content://"
+                + MainApp.getAuthority() + "/capabilities");
 
 
         public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.owncloud.file";
         public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.owncloud.file";
         public static final String CONTENT_TYPE_ITEM = "vnd.android.cursor.item/vnd.owncloud.file";
         public static final String CONTENT_TYPE_ITEM = "vnd.android.cursor.item/vnd.owncloud.file";
@@ -62,7 +65,7 @@ public class ProviderMeta {
         public static final String FILE_STORAGE_PATH = "media_path";
         public static final String FILE_STORAGE_PATH = "media_path";
         public static final String FILE_PATH = "path";
         public static final String FILE_PATH = "path";
         public static final String FILE_ACCOUNT_OWNER = "file_owner";
         public static final String FILE_ACCOUNT_OWNER = "file_owner";
-        public static final String FILE_LAST_SYNC_DATE = "last_sync_date";  // _for_properties, but let's keep it as it is
+        public static final String FILE_LAST_SYNC_DATE = "last_sync_date";// _for_properties, but let's keep it as it is
         public static final String FILE_LAST_SYNC_DATE_FOR_DATA = "last_sync_date_for_data";
         public static final String FILE_LAST_SYNC_DATE_FOR_DATA = "last_sync_date_for_data";
         public static final String FILE_KEEP_IN_SYNC = "keep_in_sync";
         public static final String FILE_KEEP_IN_SYNC = "keep_in_sync";
         public static final String FILE_ETAG = "etag";
         public static final String FILE_ETAG = "etag";
@@ -97,5 +100,34 @@ public class ProviderMeta {
         public static final String OCSHARES_DEFAULT_SORT_ORDER = OCSHARES_FILE_SOURCE 
         public static final String OCSHARES_DEFAULT_SORT_ORDER = OCSHARES_FILE_SOURCE 
                 + " collate nocase asc";
                 + " collate nocase asc";
 
 
+        // Columns of capabilities table
+        public static final String CAPABILITIES_ACCOUNT_NAME = "account";
+        public static final String CAPABILITIES_VERSION_MAYOR = "version_mayor";
+        public static final String CAPABILITIES_VERSION_MINOR = "version_minor";
+        public static final String CAPABILITIES_VERSION_MICRO = "version_micro";
+        public static final String CAPABILITIES_VERSION_STRING = "version_string";
+        public static final String CAPABILITIES_VERSION_EDITION = "version_edition";
+        public static final String CAPABILITIES_CORE_POLLINTERVAL = "core_pollinterval";
+        public static final String CAPABILITIES_SHARING_API_ENABLED = "sharing_api_enabled";
+        public static final String CAPABILITIES_SHARING_PUBLIC_ENABLED = "sharing_public_enabled";
+        public static final String CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED = "sharing_public_password_enforced";
+        public static final String CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED =
+                "sharing_public_expire_date_enabled";
+        public static final String CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS =
+                "sharing_public_expire_date_days";
+        public static final String CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED =
+                "sharing_public_expire_date_enforced";
+        public static final String CAPABILITIES_SHARING_PUBLIC_SEND_MAIL = "sharing_public_send_mail";
+        public static final String CAPABILITIES_SHARING_PUBLIC_UPLOAD = "sharing_public_upload";
+        public static final String CAPABILITIES_SHARING_USER_SEND_MAIL = "sharing_user_send_mail";
+        public static final String CAPABILITIES_SHARING_RESHARING = "sharing_resharing";
+        public static final String CAPABILITIES_SHARING_FEDERATION_OUTGOING = "sharing_federation_outgoing";
+        public static final String CAPABILITIES_SHARING_FEDERATION_INCOMING = "sharing_federation_incoming";
+        public static final String CAPABILITIES_FILES_BIGFILECHUNKING = "files_bigfilechunking";
+        public static final String CAPABILITIES_FILES_UNDELETE = "files_undelete";
+        public static final String CAPABILITIES_FILES_VERSIONING = "files_versioning";
+
+        public static final String CAPABILITIES_DEFAULT_SORT_ORDER = CAPABILITIES_ACCOUNT_NAME
+                + " collate nocase asc";
     }
     }
 }
 }

+ 6 - 1
src/com/owncloud/android/files/FileMenuFilter.java

@@ -35,6 +35,8 @@ import com.owncloud.android.files.services.FileDownloader;
 import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
 import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
 import com.owncloud.android.files.services.FileUploader;
 import com.owncloud.android.files.services.FileUploader;
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
+import com.owncloud.android.lib.resources.status.CapabilityBooleanType;
+import com.owncloud.android.lib.resources.status.OCCapability;
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
 import com.owncloud.android.ui.activity.ComponentsGetter;
 import com.owncloud.android.ui.activity.ComponentsGetter;
 
 
@@ -200,7 +202,10 @@ public class FileMenuFilter {
         }
         }
 
 
         // SHARE FILE, with Users
         // SHARE FILE, with Users
-        if (!shareAllowed ||  mFile == null) {
+        OCCapability capability = mComponentsGetter.getStorageManager().getCapability(mAccount.name);
+        boolean shareApiEnabled  = capability != null &&
+                (capability.getFilesSharingApiEnabled().isTrue() || capability.getFilesSharingApiEnabled().isUnknown());
+        if (!shareAllowed ||  mFile == null || !shareApiEnabled ) {
             toHide.add(R.id.action_share_with_users);
             toHide.add(R.id.action_share_with_users);
         } else {
         } else {
             toShow.add(R.id.action_share_with_users);
             toShow.add(R.id.action_share_with_users);

+ 51 - 0
src/com/owncloud/android/operations/GetCapabilitiesOperarion.java

@@ -0,0 +1,51 @@
+/**
+ *   ownCloud Android client application
+ *
+ *   @author masensio
+ *   Copyright (C) 2015 ownCloud Inc.
+ *
+ *   This program is free software: you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License version 2,
+ *   as published by the Free Software Foundation.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package com.owncloud.android.operations;
+
+import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation;
+import com.owncloud.android.lib.resources.status.OCCapability;
+import com.owncloud.android.operations.common.SyncOperation;
+
+/**
+ * Get and save capabilities from the server
+ */
+public class GetCapabilitiesOperarion extends SyncOperation {
+
+    @Override
+    protected RemoteOperationResult run(OwnCloudClient client) {
+        GetRemoteCapabilitiesOperation getCapabilities = new GetRemoteCapabilitiesOperation();
+        RemoteOperationResult result = getCapabilities.execute(client);
+
+        if (result.isSuccess()){
+            // Read data from the result
+            if( result.getData()!= null && result.getData().size() > 0) {
+                OCCapability capability = (OCCapability) result.getData().get(0);
+
+                // Save the capabilities into database
+                getStorageManager().saveCapabilities(capability);
+            }
+        }
+
+        return result;
+    }
+
+}

+ 16 - 1
src/com/owncloud/android/operations/RefreshFolderOperation.java

@@ -187,6 +187,7 @@ public class RefreshFolderOperation extends RemoteOperation {
         
         
         if (OCFile.ROOT_PATH.equals(mLocalFolder.getRemotePath()) && !mSyncFullAccount) {
         if (OCFile.ROOT_PATH.equals(mLocalFolder.getRemotePath()) && !mSyncFullAccount) {
             updateOCVersion(client);
             updateOCVersion(client);
+
         }
         }
         
         
         result = checkForChanges(client);
         result = checkForChanges(client);
@@ -231,10 +232,24 @@ public class RefreshFolderOperation extends RemoteOperation {
         RemoteOperationResult result = update.execute(client);
         RemoteOperationResult result = update.execute(client);
         if (result.isSuccess()) {
         if (result.isSuccess()) {
             mIsShareSupported = update.getOCVersion().isSharedSupported();
             mIsShareSupported = update.getOCVersion().isSharedSupported();
+
+            // Update Capabilities for this account
+            if (update.getOCVersion().isVersionWithCapabilitiesAPI()) {
+                updateCapabilities(client);
+            } else {
+                Log_OC.d(TAG, "Capabilities API disabled");
+            }
+        }
+    }
+
+    private void updateCapabilities(OwnCloudClient client){
+        GetCapabilitiesOperarion getCapabilities = new GetCapabilitiesOperarion();
+        RemoteOperationResult  result = getCapabilities.execute(mStorageManager,mContext);
+        if (!result.isSuccess()){
+            Log_OC.d(TAG, "Update Capabilities unsuccessfully");
         }
         }
     }
     }
 
 
-    
     private RemoteOperationResult checkForChanges(OwnCloudClient client) {
     private RemoteOperationResult checkForChanges(OwnCloudClient client) {
         mRemoteFolderChanged = true;
         mRemoteFolderChanged = true;
         RemoteOperationResult result = null;
         RemoteOperationResult result = null;

+ 3 - 4
src/com/owncloud/android/operations/common/SyncOperation.java

@@ -20,16 +20,15 @@
 
 
 package com.owncloud.android.operations.common;
 package com.owncloud.android.operations.common;
 
 
-import com.owncloud.android.MainApp;
+import android.content.Context;
+import android.os.Handler;
+
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.lib.common.OwnCloudClient;
 import com.owncloud.android.lib.common.OwnCloudClient;
 import com.owncloud.android.lib.common.operations.OnRemoteOperationListener;
 import com.owncloud.android.lib.common.operations.OnRemoteOperationListener;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 
 
-import android.content.Context;
-import android.os.Handler;
-
 
 
 /**
 /**
  * Operation which execution involves both interactions with an ownCloud server and
  * Operation which execution involves both interactions with an ownCloud server and

+ 122 - 131
src/com/owncloud/android/providers/FileContentProvider.java

@@ -22,20 +22,6 @@
 
 
 package com.owncloud.android.providers;
 package com.owncloud.android.providers;
 
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import com.owncloud.android.MainApp;
-import com.owncloud.android.R;
-import com.owncloud.android.datamodel.OCFile;
-import com.owncloud.android.db.ProviderMeta;
-import com.owncloud.android.db.ProviderMeta.ProviderTableMeta;
-import com.owncloud.android.lib.common.accounts.AccountUtils;
-import com.owncloud.android.lib.common.utils.Log_OC;
-import com.owncloud.android.lib.resources.shares.ShareType;
-import com.owncloud.android.utils.FileStorageUtils;
-
 import android.accounts.Account;
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AccountManager;
 import android.content.ContentProvider;
 import android.content.ContentProvider;
@@ -54,6 +40,19 @@ import android.database.sqlite.SQLiteQueryBuilder;
 import android.net.Uri;
 import android.net.Uri;
 import android.text.TextUtils;
 import android.text.TextUtils;
 
 
+import com.owncloud.android.MainApp;
+import com.owncloud.android.R;
+import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.db.ProviderMeta;
+import com.owncloud.android.db.ProviderMeta.ProviderTableMeta;
+import com.owncloud.android.lib.common.accounts.AccountUtils;
+import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.lib.resources.shares.ShareType;
+import com.owncloud.android.utils.FileStorageUtils;
+
+import java.io.File;
+import java.util.ArrayList;
+
 /**
 /**
  * The ContentProvider for the ownCloud App.
  * The ContentProvider for the ownCloud App.
  */
  */
@@ -61,99 +60,14 @@ public class FileContentProvider extends ContentProvider {
 
 
     private DataBaseHelper mDbHelper;
     private DataBaseHelper mDbHelper;
 
 
-    // Projection for filelist table
-    private static HashMap<String, String> mFileProjectionMap;
-    static {
-        mFileProjectionMap = new HashMap<String, String>();
-        mFileProjectionMap.put(ProviderTableMeta._ID, ProviderTableMeta._ID);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_PARENT,
-                ProviderTableMeta.FILE_PARENT);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_PATH,
-                ProviderTableMeta.FILE_PATH);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_NAME,
-                ProviderTableMeta.FILE_NAME);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_CREATION,
-                ProviderTableMeta.FILE_CREATION);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_MODIFIED,
-                ProviderTableMeta.FILE_MODIFIED);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA,
-                ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_CONTENT_LENGTH,
-                ProviderTableMeta.FILE_CONTENT_LENGTH);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_CONTENT_TYPE,
-                ProviderTableMeta.FILE_CONTENT_TYPE);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_STORAGE_PATH,
-                ProviderTableMeta.FILE_STORAGE_PATH);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE,
-                ProviderTableMeta.FILE_LAST_SYNC_DATE);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA,
-                ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_KEEP_IN_SYNC,
-                ProviderTableMeta.FILE_KEEP_IN_SYNC);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_ACCOUNT_OWNER,
-                ProviderTableMeta.FILE_ACCOUNT_OWNER);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_ETAG,
-                ProviderTableMeta.FILE_ETAG);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_SHARED_VIA_LINK,
-                ProviderTableMeta.FILE_SHARED_VIA_LINK);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_SHARED_WITH_SHAREE,
-                ProviderTableMeta.FILE_SHARED_WITH_SHAREE);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_PUBLIC_LINK,
-                ProviderTableMeta.FILE_PUBLIC_LINK);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_PERMISSIONS,
-                ProviderTableMeta.FILE_PERMISSIONS);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_REMOTE_ID,
-                ProviderTableMeta.FILE_REMOTE_ID);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_UPDATE_THUMBNAIL,
-                ProviderTableMeta.FILE_UPDATE_THUMBNAIL);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_IS_DOWNLOADING,
-                ProviderTableMeta.FILE_IS_DOWNLOADING);
-        mFileProjectionMap.put(ProviderTableMeta.FILE_ETAG_IN_CONFLICT,
-                ProviderTableMeta.FILE_ETAG_IN_CONFLICT);
-    }
-
     private static final int SINGLE_FILE = 1;
     private static final int SINGLE_FILE = 1;
     private static final int DIRECTORY = 2;
     private static final int DIRECTORY = 2;
     private static final int ROOT_DIRECTORY = 3;
     private static final int ROOT_DIRECTORY = 3;
     private static final int SHARES = 4;
     private static final int SHARES = 4;
+    private static final int CAPABILITIES = 5;
 
 
     private static final String TAG = FileContentProvider.class.getSimpleName();
     private static final String TAG = FileContentProvider.class.getSimpleName();
 
 
-    // Projection for ocshares table
-    private static HashMap<String, String> mOCSharesProjectionMap;
-    static {
-        mOCSharesProjectionMap = new HashMap<String, String>();
-        mOCSharesProjectionMap.put(ProviderTableMeta._ID, ProviderTableMeta._ID);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_FILE_SOURCE,
-                ProviderTableMeta.OCSHARES_FILE_SOURCE);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_ITEM_SOURCE,
-                ProviderTableMeta.OCSHARES_ITEM_SOURCE);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_SHARE_TYPE,
-                ProviderTableMeta.OCSHARES_SHARE_TYPE);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_SHARE_WITH,
-                ProviderTableMeta.OCSHARES_SHARE_WITH);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_PATH,
-                ProviderTableMeta.OCSHARES_PATH);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_PERMISSIONS,
-                ProviderTableMeta.OCSHARES_PERMISSIONS);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_SHARED_DATE,
-                ProviderTableMeta.OCSHARES_SHARED_DATE);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_EXPIRATION_DATE,
-                ProviderTableMeta.OCSHARES_EXPIRATION_DATE);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_TOKEN,
-                ProviderTableMeta.OCSHARES_TOKEN);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_SHARE_WITH_DISPLAY_NAME,
-                ProviderTableMeta.OCSHARES_SHARE_WITH_DISPLAY_NAME);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_IS_DIRECTORY,
-                ProviderTableMeta.OCSHARES_IS_DIRECTORY);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_USER_ID,
-                ProviderTableMeta.OCSHARES_USER_ID);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED,
-                ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED);
-        mOCSharesProjectionMap.put(ProviderTableMeta.OCSHARES_ACCOUNT_OWNER,
-                ProviderTableMeta.OCSHARES_ACCOUNT_OWNER);
-    }
-
     private UriMatcher mUriMatcher;
     private UriMatcher mUriMatcher;
 
 
     @Override
     @Override
@@ -253,6 +167,9 @@ public class FileContentProvider extends ContentProvider {
         case SHARES:
         case SHARES:
             count = db.delete(ProviderTableMeta.OCSHARES_TABLE_NAME, where, whereArgs);
             count = db.delete(ProviderTableMeta.OCSHARES_TABLE_NAME, where, whereArgs);
             break;
             break;
+        case CAPABILITIES:
+            count = db.delete(ProviderTableMeta.CAPABILITIES_TABLE_NAME, where, whereArgs);
+            break;
         default:
         default:
             //Log_OC.e(TAG, "Unknown uri " + uri);
             //Log_OC.e(TAG, "Unknown uri " + uri);
             throw new IllegalArgumentException("Unknown uri: " + uri.toString());
             throw new IllegalArgumentException("Unknown uri: " + uri.toString());
@@ -338,6 +255,17 @@ public class FileContentProvider extends ContentProvider {
             updateFilesTableAccordingToShareInsertion(db, values);
             updateFilesTableAccordingToShareInsertion(db, values);
             return insertedShareUri;
             return insertedShareUri;
 
 
+        case CAPABILITIES:
+            Uri insertedCapUri = null;
+            long id = db.insert(ProviderTableMeta.CAPABILITIES_TABLE_NAME, null, values);
+            if (id >0) {
+                insertedCapUri =
+                        ContentUris.withAppendedId(ProviderTableMeta.CONTENT_URI_CAPABILITIES, id);
+            } else {
+                throw new SQLException("ERROR " + uri);
+
+            }
+            return insertedCapUri;
 
 
         default:
         default:
             throw new IllegalArgumentException("Unknown uri id: " + uri);
             throw new IllegalArgumentException("Unknown uri id: " + uri);
@@ -379,6 +307,8 @@ public class FileContentProvider extends ContentProvider {
         mUriMatcher.addURI(authority, "dir/#", DIRECTORY);
         mUriMatcher.addURI(authority, "dir/#", DIRECTORY);
         mUriMatcher.addURI(authority, "shares/", SHARES);
         mUriMatcher.addURI(authority, "shares/", SHARES);
         mUriMatcher.addURI(authority, "shares/#", SHARES);
         mUriMatcher.addURI(authority, "shares/#", SHARES);
+        mUriMatcher.addURI(authority, "capabilities/", CAPABILITIES);
+        mUriMatcher.addURI(authority, "capabilities/#", CAPABILITIES);
 
 
         return true;
         return true;
     }
     }
@@ -417,7 +347,6 @@ public class FileContentProvider extends ContentProvider {
         SQLiteQueryBuilder sqlQuery = new SQLiteQueryBuilder();
         SQLiteQueryBuilder sqlQuery = new SQLiteQueryBuilder();
 
 
         sqlQuery.setTables(ProviderTableMeta.FILE_TABLE_NAME);
         sqlQuery.setTables(ProviderTableMeta.FILE_TABLE_NAME);
-        sqlQuery.setProjectionMap(mFileProjectionMap);
 
 
         switch (mUriMatcher.match(uri)) {
         switch (mUriMatcher.match(uri)) {
         case ROOT_DIRECTORY:
         case ROOT_DIRECTORY:
@@ -435,7 +364,13 @@ public class FileContentProvider extends ContentProvider {
             break;
             break;
         case SHARES:
         case SHARES:
             sqlQuery.setTables(ProviderTableMeta.OCSHARES_TABLE_NAME);
             sqlQuery.setTables(ProviderTableMeta.OCSHARES_TABLE_NAME);
-            sqlQuery.setProjectionMap(mOCSharesProjectionMap);
+            if (uri.getPathSegments().size() > 1) {
+                sqlQuery.appendWhere(ProviderTableMeta._ID + "="
+                        + uri.getPathSegments().get(1));
+            }
+            break;
+        case CAPABILITIES:
+            sqlQuery.setTables(ProviderTableMeta.CAPABILITIES_TABLE_NAME);
             if (uri.getPathSegments().size() > 1) {
             if (uri.getPathSegments().size() > 1) {
                 sqlQuery.appendWhere(ProviderTableMeta._ID + "="
                 sqlQuery.appendWhere(ProviderTableMeta._ID + "="
                         + uri.getPathSegments().get(1));
                         + uri.getPathSegments().get(1));
@@ -447,11 +382,16 @@ public class FileContentProvider extends ContentProvider {
 
 
         String order;
         String order;
         if (TextUtils.isEmpty(sortOrder)) {
         if (TextUtils.isEmpty(sortOrder)) {
-            if (mUriMatcher.match(uri) == SHARES) {
-                order = ProviderTableMeta.OCSHARES_DEFAULT_SORT_ORDER;
-            } else {
-
-                order = ProviderTableMeta.FILE_DEFAULT_SORT_ORDER;
+            switch (mUriMatcher.match(uri)) {
+                case SHARES:
+                    order = ProviderTableMeta.OCSHARES_DEFAULT_SORT_ORDER;
+                    break;
+                case CAPABILITIES:
+                    order = ProviderTableMeta.CAPABILITIES_DEFAULT_SORT_ORDER;
+                    break;
+                default: // Files
+                    order = ProviderTableMeta.FILE_DEFAULT_SORT_ORDER;
+                    break;
             }
             }
         } else {
         } else {
             order = sortOrder;
             order = sortOrder;
@@ -496,6 +436,10 @@ public class FileContentProvider extends ContentProvider {
                 return db.update(
                 return db.update(
                         ProviderTableMeta.OCSHARES_TABLE_NAME, values, selection, selectionArgs
                         ProviderTableMeta.OCSHARES_TABLE_NAME, values, selection, selectionArgs
                 );
                 );
+            case CAPABILITIES:
+                return db.update(
+                        ProviderTableMeta.CAPABILITIES_TABLE_NAME, values, selection, selectionArgs
+                );
             default:
             default:
                 return db.update(
                 return db.update(
                         ProviderTableMeta.FILE_TABLE_NAME, values, selection, selectionArgs
                         ProviderTableMeta.FILE_TABLE_NAME, values, selection, selectionArgs
@@ -539,30 +483,30 @@ public class FileContentProvider extends ContentProvider {
             // files table
             // files table
             Log_OC.i("SQL", "Entering in onCreate");
             Log_OC.i("SQL", "Entering in onCreate");
             db.execSQL("CREATE TABLE " + ProviderTableMeta.FILE_TABLE_NAME + "("
             db.execSQL("CREATE TABLE " + ProviderTableMeta.FILE_TABLE_NAME + "("
-                    + ProviderTableMeta._ID + " INTEGER PRIMARY KEY, "
-                    + ProviderTableMeta.FILE_NAME + " TEXT, "
-                    + ProviderTableMeta.FILE_PATH + " TEXT, "
-                    + ProviderTableMeta.FILE_PARENT + " INTEGER, "
-                    + ProviderTableMeta.FILE_CREATION + " INTEGER, "
-                    + ProviderTableMeta.FILE_MODIFIED + " INTEGER, "
-                    + ProviderTableMeta.FILE_CONTENT_TYPE + " TEXT, "
-                    + ProviderTableMeta.FILE_CONTENT_LENGTH + " INTEGER, "
-                    + ProviderTableMeta.FILE_STORAGE_PATH + " TEXT, "
-                    + ProviderTableMeta.FILE_ACCOUNT_OWNER + " TEXT, "
-                    + ProviderTableMeta.FILE_LAST_SYNC_DATE + " INTEGER, "
-                    + ProviderTableMeta.FILE_KEEP_IN_SYNC + " INTEGER, "
-                    + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " INTEGER, "
-                    + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " INTEGER, "
-                    + ProviderTableMeta.FILE_ETAG + " TEXT, "
-                    + ProviderTableMeta.FILE_SHARED_VIA_LINK + " INTEGER, "
-                    + ProviderTableMeta.FILE_PUBLIC_LINK  + " TEXT, "
-                    + ProviderTableMeta.FILE_PERMISSIONS  + " TEXT null,"
-                    + ProviderTableMeta.FILE_REMOTE_ID  + " TEXT null,"
-                    + ProviderTableMeta.FILE_UPDATE_THUMBNAIL  + " INTEGER," //boolean
-                    + ProviderTableMeta.FILE_IS_DOWNLOADING  + " INTEGER," //boolean
-                    + ProviderTableMeta.FILE_ETAG_IN_CONFLICT + " TEXT,"
-                    + ProviderTableMeta.FILE_SHARED_WITH_SHAREE + " INTEGER);"
-                    );
+                            + ProviderTableMeta._ID + " INTEGER PRIMARY KEY, "
+                            + ProviderTableMeta.FILE_NAME + " TEXT, "
+                            + ProviderTableMeta.FILE_PATH + " TEXT, "
+                            + ProviderTableMeta.FILE_PARENT + " INTEGER, "
+                            + ProviderTableMeta.FILE_CREATION + " INTEGER, "
+                            + ProviderTableMeta.FILE_MODIFIED + " INTEGER, "
+                            + ProviderTableMeta.FILE_CONTENT_TYPE + " TEXT, "
+                            + ProviderTableMeta.FILE_CONTENT_LENGTH + " INTEGER, "
+                            + ProviderTableMeta.FILE_STORAGE_PATH + " TEXT, "
+                            + ProviderTableMeta.FILE_ACCOUNT_OWNER + " TEXT, "
+                            + ProviderTableMeta.FILE_LAST_SYNC_DATE + " INTEGER, "
+                            + ProviderTableMeta.FILE_KEEP_IN_SYNC + " INTEGER, "
+                            + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " INTEGER, "
+                            + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " INTEGER, "
+                            + ProviderTableMeta.FILE_ETAG + " TEXT, "
+                            + ProviderTableMeta.FILE_SHARED_VIA_LINK + " INTEGER, "
+                            + ProviderTableMeta.FILE_PUBLIC_LINK + " TEXT, "
+                            + ProviderTableMeta.FILE_PERMISSIONS + " TEXT null,"
+                            + ProviderTableMeta.FILE_REMOTE_ID + " TEXT null,"
+                            + ProviderTableMeta.FILE_UPDATE_THUMBNAIL + " INTEGER," //boolean
+                            + ProviderTableMeta.FILE_IS_DOWNLOADING + " INTEGER," //boolean
+                            + ProviderTableMeta.FILE_ETAG_IN_CONFLICT + " TEXT,"
+                            + ProviderTableMeta.FILE_SHARED_WITH_SHAREE + " INTEGER);"
+            );
 
 
             // Create table ocshares
             // Create table ocshares
             db.execSQL("CREATE TABLE " + ProviderTableMeta.OCSHARES_TABLE_NAME + "("
             db.execSQL("CREATE TABLE " + ProviderTableMeta.OCSHARES_TABLE_NAME + "("
@@ -581,6 +525,10 @@ public class FileContentProvider extends ContentProvider {
                     + ProviderTableMeta.OCSHARES_USER_ID + " INTEGER, "
                     + ProviderTableMeta.OCSHARES_USER_ID + " INTEGER, "
                     + ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED + " INTEGER,"
                     + ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED + " INTEGER,"
                     + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + " TEXT );" );
                     + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + " TEXT );" );
+
+            // Create table capabilities
+            createCapabilitiesTable(db);
+
         }
         }
 
 
         @Override
         @Override
@@ -797,9 +745,52 @@ public class FileContentProvider extends ContentProvider {
                 Log_OC.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion +
                 Log_OC.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion +
                         ", newVersion == " + newVersion);
                         ", newVersion == " + newVersion);
 
 
+            if (oldVersion < 13 && newVersion >= 13) {
+                Log_OC.i("SQL", "Entering in the #13 ADD in onUpgrade");
+                db.beginTransaction();
+                try {
+                    // Create capabilities table
+                    createCapabilitiesTable(db);
+                    upgraded = true;
+                    db.setTransactionSuccessful();
+                } finally {
+                    db.endTransaction();
+                }
+            }
+            if (!upgraded)
+                Log_OC.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion +
+                        ", newVersion == " + newVersion);
+
         }
         }
     }
     }
 
 
+    private void createCapabilitiesTable(SQLiteDatabase db){
+        // Create table capabilities
+        db.execSQL("CREATE TABLE " + ProviderTableMeta.CAPABILITIES_TABLE_NAME + "("
+                + ProviderTableMeta._ID + " INTEGER PRIMARY KEY, "
+                + ProviderTableMeta.CAPABILITIES_ACCOUNT_NAME + " TEXT, "
+                + ProviderTableMeta.CAPABILITIES_VERSION_MAYOR + " INTEGER, "
+                + ProviderTableMeta.CAPABILITIES_VERSION_MINOR + " INTEGER, "
+                + ProviderTableMeta.CAPABILITIES_VERSION_MICRO + " INTEGER, "
+                + ProviderTableMeta.CAPABILITIES_VERSION_STRING + " TEXT, "
+                + ProviderTableMeta.CAPABILITIES_VERSION_EDITION + " TEXT, "
+                + ProviderTableMeta.CAPABILITIES_CORE_POLLINTERVAL + " INTEGER, "
+                + ProviderTableMeta.CAPABILITIES_SHARING_API_ENABLED + " INTEGER, " // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_ENABLED + " INTEGER, "  // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_PASSWORD_ENFORCED + " INTEGER, "    // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENABLED + " INTEGER, "  // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_DAYS + " INTEGER, "
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_EXPIRE_DATE_ENFORCED + " INTEGER, " // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_SEND_MAIL + " INTEGER, "    // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_PUBLIC_UPLOAD + " INTEGER, "       // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_USER_SEND_MAIL + " INTEGER, "      // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_RESHARING + " INTEGER, "           // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_OUTGOING + " INTEGER, "     // boolean
+                + ProviderTableMeta.CAPABILITIES_SHARING_FEDERATION_INCOMING + " INTEGER, "     // boolean
+                + ProviderTableMeta.CAPABILITIES_FILES_BIGFILECHUNKING + " INTEGER, "   // boolean
+                + ProviderTableMeta.CAPABILITIES_FILES_UNDELETE + " INTEGER, "  // boolean
+                + ProviderTableMeta.CAPABILITIES_FILES_VERSIONING + " INTEGER );" );   // boolean
+    }
 
 
     /**
     /**
      * Version 10 of database does not modify its scheme. It coincides with the upgrade of the ownCloud account names
      * Version 10 of database does not modify its scheme. It coincides with the upgrade of the ownCloud account names

+ 17 - 35
src/com/owncloud/android/ui/preview/PreviewMediaFragment.java

@@ -36,8 +36,6 @@ import android.media.MediaPlayer;
 import android.media.MediaPlayer.OnCompletionListener;
 import android.media.MediaPlayer.OnCompletionListener;
 import android.media.MediaPlayer.OnErrorListener;
 import android.media.MediaPlayer.OnErrorListener;
 import android.media.MediaPlayer.OnPreparedListener;
 import android.media.MediaPlayer.OnPreparedListener;
-import android.net.Uri;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.IBinder;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
@@ -153,7 +151,7 @@ public class PreviewMediaFragment extends FileFragment implements
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {
                              Bundle savedInstanceState) {
         super.onCreateView(inflater, container, savedInstanceState);
         super.onCreateView(inflater, container, savedInstanceState);
-        Log_OC.e(TAG, "onCreateView");
+        Log_OC.v(TAG, "onCreateView");
 
 
 
 
         mView = inflater.inflate(R.layout.file_preview, container, false);
         mView = inflater.inflate(R.layout.file_preview, container, false);
@@ -174,7 +172,7 @@ public class PreviewMediaFragment extends FileFragment implements
     @Override
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         super.onActivityCreated(savedInstanceState);
-        Log_OC.e(TAG, "onActivityCreated");
+        Log_OC.v(TAG, "onActivityCreated");
 
 
         OCFile file = getFile();
         OCFile file = getFile();
         if (savedInstanceState == null) {
         if (savedInstanceState == null) {
@@ -244,7 +242,7 @@ public class PreviewMediaFragment extends FileFragment implements
     @Override
     @Override
     public void onSaveInstanceState(Bundle outState) {
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         super.onSaveInstanceState(outState);
-        Log_OC.e(TAG, "onSaveInstanceState");
+        Log_OC.v(TAG, "onSaveInstanceState");
 
 
         outState.putParcelable(PreviewMediaFragment.EXTRA_FILE, getFile());
         outState.putParcelable(PreviewMediaFragment.EXTRA_FILE, getFile());
         outState.putParcelable(PreviewMediaFragment.EXTRA_ACCOUNT, mAccount);
         outState.putParcelable(PreviewMediaFragment.EXTRA_ACCOUNT, mAccount);
@@ -268,7 +266,7 @@ public class PreviewMediaFragment extends FileFragment implements
     @Override
     @Override
     public void onStart() {
     public void onStart() {
         super.onStart();
         super.onStart();
-        Log_OC.e(TAG, "onStart");
+        Log_OC.v(TAG, "onStart");
 
 
         OCFile file = getFile();
         OCFile file = getFile();
         if (file != null && file.isDown()) {
         if (file != null && file.isDown()) {
@@ -402,7 +400,7 @@ public class PreviewMediaFragment extends FileFragment implements
     /**
     /**
      * Update the file of the fragment with file value
      * Update the file of the fragment with file value
      *
      *
-     * @param file
+     * @param file      Replaces the held file with a new one
      */
      */
     public void updateFile(OCFile file) {
     public void updateFile(OCFile file) {
         setFile(file);
         setFile(file);
@@ -439,8 +437,7 @@ public class PreviewMediaFragment extends FileFragment implements
 
 
         // load the video file in the video player ; 
         // load the video file in the video player ; 
         // when done, VideoHelper#onPrepared() will be called
         // when done, VideoHelper#onPrepared() will be called
-        Uri uri = Uri.parse(getFile().getStoragePath());
-        mVideoPreview.setVideoPath(uri.encode(getFile().getStoragePath()));
+        mVideoPreview.setVideoURI(getFile().getStorageUri());
     }
     }
 
 
 
 
@@ -455,7 +452,7 @@ public class PreviewMediaFragment extends FileFragment implements
          */
          */
         @Override
         @Override
         public void onPrepared(MediaPlayer vp) {
         public void onPrepared(MediaPlayer vp) {
-            Log_OC.e(TAG, "onPrepared");
+            Log_OC.v(TAG, "onPrepared");
             mVideoPreview.seekTo(mSavedPlaybackPosition);
             mVideoPreview.seekTo(mSavedPlaybackPosition);
             if (mAutoplay) {
             if (mAutoplay) {
                 mVideoPreview.start();
                 mVideoPreview.start();
@@ -475,25 +472,9 @@ public class PreviewMediaFragment extends FileFragment implements
          */
          */
         @Override
         @Override
         public void onCompletion(MediaPlayer mp) {
         public void onCompletion(MediaPlayer mp) {
-            Log_OC.e(TAG, "completed");
+            Log_OC.v(TAG, "completed");
             if (mp != null) {
             if (mp != null) {
                 mVideoPreview.seekTo(0);
                 mVideoPreview.seekTo(0);
-                // next lines are necessary to work around undesired video loops
-                if (Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD) {
-                    mVideoPreview.pause();
-
-                }
-                else {
-                    if (Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1) {
-                        // mVideePreview.pause() is not enough
-
-                        mMediaController.setEnabled(false);
-                        mVideoPreview.stopPlayback();
-                        mAutoplay = false;
-                        mSavedPlaybackPosition = 0;
-                        mVideoPreview.setVideoPath(getFile().getStoragePath());
-                    }
-                }
             } // else : called from onError()
             } // else : called from onError()
             mMediaController.updatePausePlay();
             mMediaController.updatePausePlay();
         }
         }
@@ -508,6 +489,7 @@ public class PreviewMediaFragment extends FileFragment implements
          */
          */
         @Override
         @Override
         public boolean onError(MediaPlayer mp, int what, int extra) {
         public boolean onError(MediaPlayer mp, int what, int extra) {
+            Log_OC.e(TAG, "Error in video playback, what = " + what + ", extra = " + extra);
             if (mVideoPreview.getWindowToken() != null) {
             if (mVideoPreview.getWindowToken() != null) {
                 String message = MediaService.getMessageForMediaError(
                 String message = MediaService.getMessageForMediaError(
                         getActivity(), what, extra);
                         getActivity(), what, extra);
@@ -531,25 +513,25 @@ public class PreviewMediaFragment extends FileFragment implements
 
 
     @Override
     @Override
     public void onPause() {
     public void onPause() {
-        Log_OC.e(TAG, "onPause");
+        Log_OC.v(TAG, "onPause");
         super.onPause();
         super.onPause();
     }
     }
 
 
     @Override
     @Override
     public void onResume() {
     public void onResume() {
         super.onResume();
         super.onResume();
-        Log_OC.e(TAG, "onResume");
+        Log_OC.v(TAG, "onResume");
     }
     }
 
 
     @Override
     @Override
     public void onDestroy() {
     public void onDestroy() {
-        Log_OC.e(TAG, "onDestroy");
+        Log_OC.v(TAG, "onDestroy");
         super.onDestroy();
         super.onDestroy();
     }
     }
 
 
     @Override
     @Override
     public void onStop() {
     public void onStop() {
-        Log_OC.e(TAG, "onStop");
+        Log_OC.v(TAG, "onStop");
 
 
         mPrepared = false;
         mPrepared = false;
         if (mMediaServiceConnection != null) {
         if (mMediaServiceConnection != null) {
@@ -590,12 +572,12 @@ public class PreviewMediaFragment extends FileFragment implements
 
 
     @Override
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
     public void onConfigurationChanged(Configuration newConfig) {
-        Log_OC.e(TAG, "onConfigurationChanged " + this);
+        Log_OC.v(TAG, "onConfigurationChanged " + this);
     }
     }
 
 
     @Override
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        Log_OC.e(TAG, "onActivityResult " + this);
+        Log_OC.v(TAG, "onActivityResult " + this);
         super.onActivityResult(requestCode, resultCode, data);
         super.onActivityResult(requestCode, resultCode, data);
         if (resultCode == Activity.RESULT_OK) {
         if (resultCode == Activity.RESULT_OK) {
             mSavedPlaybackPosition = data.getExtras().getInt(
             mSavedPlaybackPosition = data.getExtras().getInt(
@@ -669,7 +651,7 @@ public class PreviewMediaFragment extends FileFragment implements
         @Override
         @Override
         public void onServiceDisconnected(ComponentName component) {
         public void onServiceDisconnected(ComponentName component) {
             if (component.equals(new ComponentName(getActivity(), MediaService.class))) {
             if (component.equals(new ComponentName(getActivity(), MediaService.class))) {
-                Log_OC.e(TAG, "Media service suddenly disconnected");
+                Log_OC.w(TAG, "Media service suddenly disconnected");
                 if (mMediaController != null) {
                 if (mMediaController != null) {
                     mMediaController.setMediaPlayer(null);
                     mMediaController.setMediaPlayer(null);
                 }
                 }
@@ -733,7 +715,7 @@ public class PreviewMediaFragment extends FileFragment implements
         if (mPrepared) {
         if (mPrepared) {
             mSavedPlaybackPosition = mVideoPreview.getCurrentPosition();
             mSavedPlaybackPosition = mVideoPreview.getCurrentPosition();
         }
         }
-        Log_OC.e(TAG, "getting position: " + mSavedPlaybackPosition);
+        Log_OC.v(TAG, "getting position: " + mSavedPlaybackPosition);
         return mSavedPlaybackPosition;
         return mSavedPlaybackPosition;
     }
     }
 
 

+ 7 - 8
src/com/owncloud/android/ui/preview/PreviewVideoActivity.java

@@ -78,7 +78,7 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
     @Override
     @Override
     public void onCreate(Bundle savedInstanceState) {
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         super.onCreate(savedInstanceState);
-        Log_OC.e(TAG, "ACTIVITY\t\tonCreate");
+        Log_OC.v(TAG, "onCreate");
         
         
         setContentView(R.layout.video_layout);
         setContentView(R.layout.video_layout);
     
     
@@ -110,7 +110,6 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
     @Override
     @Override
     public void onSaveInstanceState(Bundle outState) {
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         super.onSaveInstanceState(outState);
-        Log_OC.e(TAG, "ACTIVITY\t\tonSaveInstanceState");
         outState.putInt(PreviewVideoActivity.EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition());
         outState.putInt(PreviewVideoActivity.EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition());
         outState.putBoolean(PreviewVideoActivity.EXTRA_AUTOPLAY , mVideoPlayer.isPlaying());
         outState.putBoolean(PreviewVideoActivity.EXTRA_AUTOPLAY , mVideoPlayer.isPlaying());
     }
     }
@@ -118,7 +117,7 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
     
     
     @Override
     @Override
     public void onBackPressed() {
     public void onBackPressed() {
-        Log_OC.e(TAG, "ACTIVTIY\t\tonBackPressed");
+        Log_OC.v(TAG, "onBackPressed");
         Intent i = new Intent();
         Intent i = new Intent();
         i.putExtra(EXTRA_AUTOPLAY, mVideoPlayer.isPlaying());
         i.putExtra(EXTRA_AUTOPLAY, mVideoPlayer.isPlaying());
         i.putExtra(EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition());
         i.putExtra(EXTRA_START_POSITION, mVideoPlayer.getCurrentPosition());
@@ -136,7 +135,7 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
      */
      */
     @Override
     @Override
     public void onPrepared(MediaPlayer mp) {
     public void onPrepared(MediaPlayer mp) {
-        Log_OC.e(TAG, "ACTIVITY\t\tonPrepare");
+        Log_OC.v(TAG, "onPrepare");
         mVideoPlayer.seekTo(mSavedPlaybackPosition);
         mVideoPlayer.seekTo(mSavedPlaybackPosition);
         if (mAutoplay) { 
         if (mAutoplay) { 
             mVideoPlayer.start();
             mVideoPlayer.start();
@@ -204,8 +203,8 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
             file = getStorageManager().getFileById(file.getFileId()); 
             file = getStorageManager().getFileById(file.getFileId()); 
             if (file != null) {
             if (file != null) {
                 if (file.isDown()) {
                 if (file.isDown()) {
-                    mVideoPlayer.setVideoPath(file.getStoragePath());
-                    
+                    mVideoPlayer.setVideoURI(file.getStorageUri());
+
                 } else {
                 } else {
                     // not working yet
                     // not working yet
                     String url;
                     String url;
@@ -216,13 +215,13 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
                         onError(null, MediaService.OC_MEDIA_ERROR, R.string.media_err_no_account);
                         onError(null, MediaService.OC_MEDIA_ERROR, R.string.media_err_no_account);
                     }
                     }
                 }
                 }
-                
+
                 // create and prepare control panel for the user
                 // create and prepare control panel for the user
                 mMediaController = new MediaController(this);
                 mMediaController = new MediaController(this);
                 mMediaController.setMediaPlayer(mVideoPlayer);
                 mMediaController.setMediaPlayer(mVideoPlayer);
                 mMediaController.setAnchorView(mVideoPlayer);
                 mMediaController.setAnchorView(mVideoPlayer);
                 mVideoPlayer.setMediaController(mMediaController);
                 mVideoPlayer.setMediaController(mMediaController);
-                
+
             } else {
             } else {
                 finish();
                 finish();
             }
             }

+ 71 - 48
user_manual/android_app.rst

@@ -22,13 +22,13 @@ Dolphin. The first time you log in to a new ownCloud account you'll see a screen
 with a download link to the ownCloud app in the `Google Play store
 with a download link to the ownCloud app in the `Google Play store
 <https://play.google.com/store/apps/details?id=com.owncloud.android>`_.
 <https://play.google.com/store/apps/details?id=com.owncloud.android>`_.
 
 
-.. figure:: images/android-first-screen.jpg
+.. figure:: images/android-1.png
+   :scale: 75% 
+   :alt: Android app new account welcome screen.
 
 
-You will also find these links on your Personal page in the Web interface,
+You will also find these links on your Personal page in the ownCloud Web interface.
 
 
-You can also get it from the `Amazon App store 
-<http://www.amazon.com/ownCloud-Inc/dp/B00944PQMK/>`_, and get source code and 
-more information from the `ownCloud download page 
+Find source code and more information from the `ownCloud download page 
 <http://owncloud.org/install/#mobile>`_.
 <http://owncloud.org/install/#mobile>`_.
 
 
 Connecting to Your ownCloud Server
 Connecting to Your ownCloud Server
@@ -39,77 +39,100 @@ screen. Enter your server URL, login name, password, and click the Connect
 button. (Click the eyeball to the right of your password to expose your 
 button. (Click the eyeball to the right of your password to expose your 
 password.)
 password.)
 
 
-.. figure:: images/android-new-account.png
+.. figure:: images/android-2.png
+   :scale: 75% 
+   :alt: New account creation screen.
 
 
 For best security your ownCloud server should be SSL-enabled, so that you can 
 For best security your ownCloud server should be SSL-enabled, so that you can 
 connect via ``https``. The ownCloud app will test your connection as soon as 
 connect via ``https``. The ownCloud app will test your connection as soon as 
 you enter it and tell you if you entered it correctly. If your server has a 
 you enter it and tell you if you entered it correctly. If your server has a 
-self-signed SSL certificate you'll get a scary warning how it is not to be 
+self-signed SSL certificate you'll get a warning that it is not to be 
 trusted. Click the OK button to accept the certificate and complete your account 
 trusted. Click the OK button to accept the certificate and complete your account 
 setup.
 setup.
 
 
-.. figure:: images/android-ssl-cert.png
+.. figure:: images/android-3.png 
+   :alt: SSL certificate warning.
 
 
 Managing Files
 Managing Files
 --------------
 --------------
 
 
-Now you should see the Files page of your ownCloud account. Click the overflow 
-button at the top right (that's the one with three vertical dots, and that is 
-really what it is called) to open a user menu. ``Refresh account`` refreshes the 
-page view. ``Settings`` take you to your settings menu. ``Sort`` gives you the 
-option to sort your files by date, or alphabetically.
+Now you should see the Files page of your ownCloud account. 
 
 
-.. figure:: images/android-files-page.png
+.. figure:: images/android-4.png
+   :scale: 75% 
+   :alt: Your ownCloud Files page.
 
 
-The little file folder icon to the left of the overflow button opens a dialog to 
-create a new folder. The arrow button opens a file upload dialog, and you can 
-either upload content from other Android apps such as Google Drive, the Gallery, 
-your music player, or from your Android filesystem. When you add a new file 
-you will see a confirmation on the top left when it has uploaded successfully, 
-and it is immediately synchronized with the server.
-
-.. figure:: images/android-upload.png
-
-All files (that you have permission to access) on your ownCloud server are 
-displayed in your Android app, but are not downloaded until you download them. 
-Downloaded files are marked with a green arrow.
-
-.. figure:: images/android-file-list.png
-
-Download and preview a file with a short press on the filename.  When the file 
-is in preview mode, a short press on the overflow button opens a menu with 
-options for sharing, opening with an app, removing, sending, and displaying file 
-details. 
+The ownCloud menu at the top left shows the name of the logged-in user, has a 
+shortcut to your files, and contains the Settings button.
 
 
-.. figure:: images/android-file.png
+.. figure:: images/android-5.png
+   :alt: Top-left menu.
 
 
+Click the overflow button at the top right (that's the one with three vertical 
+dots, and that is really what it is called) to open a user menu. ``Refresh 
+account`` syncs your files, and ``Sort`` gives you the option to sort your files 
+by date, or alphabetically.
 
 
-A long press on the filename does not download it, but opens a dialog with 
-options for sharing, downloading, renaming, moving, removing, sending, and 
-viewing file details. 
+.. figure:: images/android-6.png
+   :alt: Top-right menu.
 
 
+The little file folder icon to the left of the overflow button opens a dialog to 
+create a new folder. The arrow button opens a file upload dialog, and you can 
+either upload content from other Android apps such as Google Drive, the Gallery, 
+your music player, or from your Android filesystem.
 
 
-.. figure:: images/android-file-options.png
+.. figure:: images/android-7.png
+   :scale: 75%
+   :alt: File upload dialogue.
 
 
+All files (that you have permission to access) on your ownCloud server are 
+displayed in your Android app, but are not downloaded until you click on them to 
+download them. Downloaded files are marked with a green arrow.
+
+.. figure:: images/android-8.png
+   :scale: 75%
+   :alt: Downloaded files are marked with green arrows.
+
+Download and preview a file with a short press on the filename.  Then a short 
+press on the overflow button opens a menu with 
+options for managing your file.
+
+.. figure:: images/android-9.png
+   :scale: 75%
+   :alt: File management options. Betsy Ross says "Don't believe everything you 
+   read on the Internet."
+   
+When you are on your mail Files page, a long press on any folder displays a 
+list of options: Share Link, Download, Rename, Move, Copy, and Remove.
+
+.. figure:: images/android-11.png
+   :scale: 75%
+   :alt: Folder and file management options.
+   
+When you enter a folder, a long press on any file or folder has these 
+additional options: Open With, Refresh File, Send, Favorite, and Details. The 
+Download option appears on files that have not been downloaded to your Android 
+device.  
 
 
 Settings
 Settings
 --------
 --------
 
 
-The Settings screen offers a number of useful options. In the Accounts 
-section you can configure multiple ownCloud accounts.
+Use the Settings screen to control your ownCloud app functions.
+
+.. figure:: images/android-10.png
+   :scale: 75%
+   :alt: Setting screen.
+
+In the Accounts section you can set up and manage multiple accounts.
 
 
 The Security section sets up strong two-factor authentication by allowing you 
 The Security section sets up strong two-factor authentication by allowing you 
 to add a PIN (personal identification number) to access your account.  
 to add a PIN (personal identification number) to access your account.  
 
 
-The Instant Uploads section creates a directory, :file:`/InstantUpload`, and 
-any photos or videos created with your Android device's camera are instantly 
+The Instant Uploads section creates a directory, :file:`/InstantUpload`, and any 
+photos or videos created with your Android device's camera are instantly 
 uploaded to this directory. You also have the option to choose any other 
 uploaded to this directory. You also have the option to choose any other 
-existing directory. Another nice option is Upload Pictures/Video via WiFi Only, 
-to conserve your Internet data usage.
-
-.. figure:: images/android-settings.png
+existing directory, or to create a new one. Another nice option is Upload 
+Pictures/Video via WiFi Only, to conserve your mobile data usage.
 
 
 The bottom section of the Settings screen has links to help and the 
 The bottom section of the Settings screen has links to help and the 
 app's version number.
 app's version number.
-
-.. figure:: images/android-help.png

BIN
user_manual/images/android-1.png


BIN
user_manual/images/android-10.png


BIN
user_manual/images/android-11.png


BIN
user_manual/images/android-2.png


BIN
user_manual/images/android-3.png


BIN
user_manual/images/android-4.png


BIN
user_manual/images/android-5.png


BIN
user_manual/images/android-6.png


BIN
user_manual/images/android-7.png


BIN
user_manual/images/android-8.png


BIN
user_manual/images/android-9.png


BIN
user_manual/images/android-downloads.png


BIN
user_manual/images/android-file-list.png


BIN
user_manual/images/android-file-options.png


BIN
user_manual/images/android-file.png


BIN
user_manual/images/android-files-page.png


BIN
user_manual/images/android-first-screen.jpg


BIN
user_manual/images/android-help.png


BIN
user_manual/images/android-new-account.png


BIN
user_manual/images/android-settings.png


BIN
user_manual/images/android-ssl-cert.png


BIN
user_manual/images/android-upload.png