Merge pull request #215 from owncloud/branding_configurable_URL_input_field
authormasensio <masensio@solidgear.es>
Wed, 10 Jul 2013 07:24:16 +0000 (00:24 -0700)
committermasensio <masensio@solidgear.es>
Wed, 10 Jul 2013 07:24:16 +0000 (00:24 -0700)
Configurable url input field

16 files changed:
res/values-el/strings.xml
res/values-et-rEE/strings.xml
res/values-fa/strings.xml
res/values-hi/strings.xml
res/values-lb/strings.xml
res/values-ml-rIN/strings.xml [new file with mode: 0644]
res/values-ru/strings.xml
res/values-sk-rSK/strings.xml
src/com/owncloud/android/datamodel/DataStorageManager.java
src/com/owncloud/android/datamodel/FileDataStorageManager.java
src/com/owncloud/android/operations/CreateFolderOperation.java
src/com/owncloud/android/syncadapter/FileSyncAdapter.java
src/com/owncloud/android/ui/activity/FileDisplayActivity.java
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/utils/FileStorageUtils.java

index 2a7030c..819be00 100644 (file)
   <string name="main_settings">Ρυθμίσεις</string>
   <string name="main_tit_accsetup">Ρύθμιση Λογαριασμού</string>
   <string name="main_wrn_accsetup">Δεν υπάρχουν λογαριασμοί ownCloud στη συσκευή σας. Για να χρησιμοποιήσετε την εφαρμογή, πρέπει να δημιουργήσετε ένα.</string>
+  <string name="about_version">έκδοση %1$s</string>
   <string name="actionbar_upload">Μεταφόρτωση</string>
   <string name="actionbar_upload_from_apps">Περιεχόμενο από άλλες εφαρμογές</string>
   <string name="actionbar_upload_files">Αρχεία</string>
+  <string name="actionbar_open_with">Άνοιγμα με</string>
   <string name="actionbar_mkdir">Δημιουργία καταλόγου</string>
   <string name="actionbar_search">Αναζήτηση</string>
   <string name="actionbar_settings">Ρυθμίσεις</string>
@@ -36,6 +38,7 @@
   <string name="prefs_pincode_summary">Προστατέψτε την ownCloud εφαρμογή</string>
   <string name="prefs_instant_upload">Ενεργοποιήστε την άμεση μεταφόρτωση</string>
   <string name="prefs_instant_upload_summary">Άμεση μεταφόρτωση των φωτογραφιών που τραβάει η φωτογρ. μηχανή</string>
+  <string name="prefs_log_delete_history_button">Διαγραφή Ιστορικού</string>
   <string name="auth_host_url">Διεύθυνση εξυπηρέτη</string>
   <string name="auth_username">Όνομα χρήστη</string>
   <string name="auth_password">Συνθηματικό</string>
@@ -67,6 +70,7 @@
   <string name="filedetails_created">Δημιουργήθηκε:</string>
   <string name="filedetails_modified">Τροποποιήθηκε:</string>
   <string name="filedetails_download">Λήψη</string>
+  <string name="filedetails_sync_file">Ανανέωση αρχείου</string>
   <string name="filedetails_redownload">Κατέβασμα ξανά</string>
   <string name="filedetails_renamed_in_upload_msg">Το αρχείο μετονομάστηκε σε %1$s κατά την μεταφόρτωση</string>
   <string name="common_yes">Ναι</string>
   <string name="pincode_wrong">Εσφαλμένο PIN της εφαρμογής ownCloud</string>
   <string name="pincode_removed">Αφαιρέθηκε το PIN της εφαρμογής ownCloud</string>
   <string name="pincode_stored">Το PIN της εφαρμογής ownCloud αποθηκεύτηκε</string>
+  <string name="media_play_pause_description">Κουμπί αναπαραγωγής ή παύσης</string>
   <string-array name="prefs_trackmydevice_intervall_keys">
     <item>15 Λεπτά</item>
     <item>30 Λεπτά</item>
   <string name="ssl_validator_label_signature">Υπογραφή:</string>
   <string name="ssl_validator_label_signature_algorithm">Αλγόριθμος:</string>
   <string name="placeholder_sentence">Αυτό είναι ένα σημείο κράτησης θέσης</string>
+  <string name="placeholder_filename">placeholder.txt</string>
+  <string name="placeholder_filetype">Εικόνα PNG</string>
+  <string name="placeholder_filesize">389 KB</string>
+  <string name="placeholder_timestamp">2012/05/18 12:23 PM</string>
+  <string name="placeholder_media_time">12:23:45</string>
   <string name="instant_upload_on_wifi">Μεταφόρτωση εικόνων μόνο μέσω WiFi</string>
   <string name="instant_upload_path">/InstantUpload</string>
   <string name="conflict_title">Ενημέρωση σύγκρουσης</string>
   <string name="conflict_dont_upload">Δεν μεταφορτώθηκε</string>
   <!--we need to improve the communication of errors to the user-->
   <string name="error__upload__local_file_not_copied">%1$s δεν μπορεσε να αντιγραφθεί στον %2$s τοπικο καταλόγο </string>
+  <string name="failed_upload_all_cb">επιλογή όλων</string>
 </resources>
index 6186d02..7a6d9c9 100644 (file)
   <string name="main_settings">Seaded</string>
   <string name="main_tit_accsetup">Konto seadistamine</string>
   <string name="main_wrn_accsetup">Sinu seadmes pole ühtegi ownCloudi kontot. Selle rakenduse kasutamiseks pead sa ühe looma.</string>
+  <string name="about_android">%1$s Android App</string>
+  <string name="about_version">versioon %1$s</string>
+  <string name="actionbar_sync">Värskenda kontot</string>
   <string name="actionbar_upload">Lae fail üles</string>
   <string name="actionbar_upload_from_apps">Sisu teistest rakendustest</string>
   <string name="actionbar_upload_files">Failid</string>
+  <string name="actionbar_open_with">Ava rakendusega</string>
   <string name="actionbar_mkdir">Loo kaust</string>
   <string name="actionbar_search">Otsi</string>
   <string name="actionbar_settings">Seaded</string>
   <string name="prefs_pincode_summary">Kaitse oma ownCloudi klienti</string>
   <string name="prefs_instant_upload">Luba kohene üleslaadimine</string>
   <string name="prefs_instant_upload_summary">Lae kaamera poolt tehtud fotod automaatselt üles</string>
+  <string name="prefs_log_title">Luba logimine</string>
+  <string name="prefs_log_summary">Kasutatakse probleemide logimiseks</string>
+  <string name="prefs_log_title_history">Logi ajalugu</string>
+  <string name="prefs_log_summary_history">See näitab salvestatud logisid</string>
+  <string name="prefs_log_delete_history_button">Kustuta ajaludu</string>
   <string name="auth_host_url">Serveri aadress</string>
   <string name="auth_username">Kasutajanimi</string>
   <string name="auth_password">Parool</string>
@@ -68,6 +77,7 @@
   <string name="filedetails_created">Loodud:</string>
   <string name="filedetails_modified">Muudetud:</string>
   <string name="filedetails_download">Lae alla</string>
+  <string name="filedetails_sync_file">Värskenda faili</string>
   <string name="filedetails_redownload">Lae uuesti alla</string>
   <string name="filedetails_renamed_in_upload_msg">Fail nimetati üleslaadimise käigus ümber %1$ </string>
   <string name="common_yes">Jah</string>
   <string name="sync_string_contacts">Kontaktid</string>
   <string name="sync_fail_ticker">Sünkroniseerimine ebaõnnestus</string>
   <string name="sync_fail_content">%1$s sünkroniseerimise lõpetamine ebaõnnestus</string>
+  <string name="sync_fail_content_unauthorized">Vigased kasutajaandmed %1$s jaoks</string>
   <string name="sync_conflicts_in_favourites_ticker">Leite konflikte</string>
   <string name="sync_conflicts_in_favourites_content">%1$d sünkroniseeritavad faile ei suudeta sünkroniseerida</string>
   <string name="sync_fail_in_favourites_ticker">Sünkroniseeritavad failid ebaõnnestusid</string>
   <string name="sync_fail_in_favourites_content">Faili %1$d sisu ei suudeta sünkroniseerida (konflikt %2$d)</string>
   <string name="sync_foreign_files_forgotten_ticker">Osad kohalikud faili ununesid</string>
   <string name="sync_foreign_files_forgotten_content">%1$d faili %2$s kataloogist ei suudeta kopeerida</string>
+  <string name="sync_foreign_files_forgotten_explanation">Alates versioonist 1.3.16 failid, mis on üles laetud kopeeritakse kohalikku kataloogi %1$s vältimaks andmete kadu, kui ühte faili sünkroniseeritakse mitmelt kontolt.\n\nSelle muudatusega seoses kõik failid, mis on üles laetud rakenduse vanemate versioonidega, kopeeriti kataloogi %2$s. Selle tegevuse peatas viga, mis tekkis konto sünkroniseerimise käigus. Sa saad jätta failid nagu nad on ning eemaldata viide %3$s või tõsta failid %1$s kataloogi ja säilitada viide %4$s.\n\nAllpool on loend kohalikest failidest ning serveris asuvatest failidest %5$s millele nad viitavad.</string>
   <string name="foreign_files_move">Tõsta ümber</string>
   <string name="foreign_files_success">Kõik failid tõsteti ümber</string>
   <string name="foreign_files_fail">Osasid faile ei saa ümber tõsta</string>
     <item>30</item>
     <item>60</item>
   </string-array>
+  <string name="auth_trying_to_login">Proovitakse sisse logida...</string>
   <string name="auth_no_net_conn_title">Võrguühendust pole</string>
   <string name="auth_no_net_conn_message">Internetiühendust ei leitud, kontrolli oma interneti ühendust ja proovi uuesti.</string>
   <string name="auth_connect_anyway">Ühenda sellegipoolest</string>
   <string name="auth_nossl_plain_ok_title">Turvaline ühendus pole saadaval</string>
   <string name="auth_nossl_plain_ok_message">Rakendus ei suutnud serveriga turvalist ühendust luua. Kuid saadaval on mitteturvaline ühendus. Sa võid jätkata või loobuda.</string>
   <string name="auth_connection_established">Saadi ühendus</string>
+  <string name="auth_testing_connection">Ühenduse testimine...</string>
   <string name="auth_not_configured_title">Vigases vormingus ownCloud seadistus</string>
   <string name="auth_not_configured_message">Näib, et sinu ownCloud pole korralikult seadistatud. Lisainfo saamiseks võta ühendust oma administraatoriga.</string>
   <string name="auth_unknown_error_title">Tekkis tundmatu tõrge!</string>
   <string name="auth_bad_oc_version_title">Tundmatu ownCloud serveri versioon</string>
   <string name="auth_wrong_connection_title">Ühenduse loomine ebaõnnestus</string>
   <string name="auth_secure_connection">Saavutati turvaline ühendus</string>
+  <string name="auth_unauthorized">Vigased kasutajaandmed</string>
+  <string name="auth_oauth_error">Autoriseerimine ebaõnnestus</string>
+  <string name="auth_oauth_error_access_denied">Ligipääs keelatud autoriseeriva serveri poolt</string>
   <string name="auth_not_found">Sisestati vale asukoht</string>
   <string name="auth_internal">Sisemine serveri viga, kood %1$d</string>
+  <string name="auth_wtf_reenter_URL">Ootamatu seisund; palun sisesta serveri URL uuesti</string>
+  <string name="auth_expired_oauth_token_toast">Sinu autoriseering on aegunud.⏎\nPalun autoriseeri uuesti</string>
+  <string name="auth_expired_basic_auth_toast">Sinu salvestatud kasutajaandmed pole korrektsed.⏎\nPalun sisesta uued konto andmed.</string>
   <string name="crashlog_message">Rakdnus suleti ootamatult. Kas sa sooviksid saata kokkujooksmise kohta teavitust arendajale?</string>
   <string name="crashlog_send_report">Saada veateade</string>
   <string name="crashlog_dont_send_report">Ära saada veateadet</string>
   <string name="wait_a_moment">Oota hetk</string>
   <string name="filedisplay_unexpected_bad_get_content">Ootamatu tõrge ; palun kasuta faili valimiseks mõnda teist rakendust</string>
   <string name="filedisplay_no_file_selected">Ühtegi faili pole valitud</string>
+  <string name="oauth_host_url">oAuth2 URL</string>
+  <string name="oauth_check_onoff">Logi sisse oAuth2 kasutades.</string>
+  <string name="oauth_login_connection">Ühendun oAuth2 serverisse...</string>
+  <string name="oauth_code_validation_message">Palun ava veebibrauser ning mine:⏎\n%1$s.⏎\nKontrolli seda koodi seal:\n%2$s</string>
+  <string name="oauth_connection_url_unavailable">Ühendus sellel aadressile pole saadaval</string>
   <string name="ssl_validator_title">Hoiatus</string>
   <string name="ssl_validator_header">Saidi identiteeti ei suudetud kinnitada</string>
   <string name="ssl_validator_reason_cert_not_trusted">- Serveri sertifikaat pole usaldusväärne</string>
index 525e2b7..6c32f65 100644 (file)
   <string name="auth_connection_established">اتصال برقرار شد</string>
   <string name="auth_not_configured_title">پیکربندی سرور ناقص است</string>
   <string name="auth_unknown_error_title">خطای ناشناخته رخ داده است!</string>
+  <string name="auth_unknown_host_title">میزبان را نمیتواند پیدا نماید.</string>
+  <string name="auth_unknown_host_message">میزبان وارد شده را نمیتواند پیدا کند. لطفا نام میزبان و در دسترس بودن سرور را بررسی و دوباره تلاش نمایید.</string>
   <string name="auth_incorrect_path_title">نمونه ی سرور یافت نشد</string>
+  <string name="auth_timeout_title">زمان زیادی برای پاسخ سرور صورت گرفت.</string>
+  <string name="auth_incorrect_address_title">آدرس ناقص</string>
+  <string name="auth_ssl_general_error_title">مقداردهی SSL ناموفق بود.</string>
+  <string name="auth_ssl_unverified_server_title">هویت تائید نشده سرویس SSL دهنده.</string>
   <string name="auth_bad_oc_version_title">نسخه ی سرور ناشناخته</string>
+  <string name="auth_wrong_connection_title">نمیتوان ارتباط برقرار نمود.</string>
   <string name="auth_secure_connection">ایجاد ارتباط ایمن</string>
   <string name="auth_not_found">مسیر داده شده اشتباه است</string>
   <string name="auth_internal">خطای سرور داخلی، کد %1$d</string>
   <string name="ssl_validator_header">هویت این سایت نمی تواند تایید شود</string>
   <string name="ssl_validator_reason_cert_not_trusted">- گواهی سرور نامعتبر است</string>
   <string name="ssl_validator_reason_cert_expired">- گواهی سرور انقضا یافته</string>
+  <string name="ssl_validator_reason_hostname_not_verified">URL با آدرس هاست موجود در گواهی نامه مطابقت ندارد.</string>
   <string name="ssl_validator_question">آیا می خواهید در هر صورت به این مدرک اطمینان کنید؟</string>
   <string name="ssl_validator_not_saved">گواهی نمی تواند ذخیره شود</string>
   <string name="ssl_validator_btn_details_see">جزییات</string>
index 99b9c78..bca8897 100644 (file)
@@ -6,6 +6,7 @@
   <string name="auth_password">पासवर्ड</string>
   <string name="setup_hint_username">प्रयोक्ता का नाम</string>
   <string name="setup_hint_password">पासवर्ड</string>
+  <string name="common_error">त्रुटि</string>
   <string name="common_share">साझा करें</string>
   <!--we need to improve the communication of errors to the user-->
 </resources>
index 17a14e3..28c8dec 100644 (file)
   <string name="actionbar_settings">Astellungen</string>
   <string name="prefs_category_general">Allgemeng</string>
   <string name="prefs_add_session">Nei Sessioun bäisetzen</string>
+  <string name="prefs_create_img_thumbnails">Thumbnails Biller erstellen</string>
   <string name="prefs_select_oc_account">Account auswielen</string>
+  <string name="prefs_trackmydevice_interval_summary">All 1 Minute updaten</string>
   <string name="prefs_accounts">Accounten</string>
   <string name="auth_username">Benotzernumm</string>
   <string name="auth_password">Passwuert</string>
   <string name="sync_string_files">Dateien</string>
+  <string name="uploader_no_file_selected">Et ass kee Fichier ausgewielt ginn</string>
   <string name="setup_hint_username">Benotzernumm</string>
   <string name="setup_hint_password">Passwuert</string>
+  <string name="setup_hint_address">Link</string>
   <string name="setup_hint_show_password">Passwuert uweisen?</string>
   <string name="setup_btn_connect">Verbannen</string>
   <string name="uploader_btn_upload_text">Eroplueden</string>
   <string name="uploader_wrn_no_account_title">Keen Account fonnt</string>
   <string name="uploader_wrn_no_account_setup_btn_text">Setup</string>
   <string name="uploader_wrn_no_account_quit_btn_text">Erausgoen</string>
+  <string name="uploader_info_uploading">Heichlueden</string>
   <string name="filedetails_size">Gréisst:</string>
   <string name="filedetails_type">Typ:</string>
   <string name="filedetails_created">Erstallt:</string>
@@ -44,6 +49,7 @@
   <string name="common_error">Fehler</string>
   <string name="sync_string_contacts">Kontakter</string>
   <string name="common_share">Deelen</string>
+  <string name="common_remove">Läschen</string>
   <string name="ssl_validator_title">Warnung</string>
   <!--we need to improve the communication of errors to the user-->
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
new file mode 100644 (file)
index 0000000..dc99dc4
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+  <string name="main_music">സംഗീതം</string>
+  <!--we need to improve the communication of errors to the user-->
+</resources>
index e713b7a..eb80ff0 100644 (file)
@@ -51,6 +51,7 @@
   <string name="setup_title">Соединение с вашим ownCloud</string>
   <string name="setup_btn_connect">Соединить</string>
   <string name="uploader_btn_upload_text">Загрузка</string>
+  <string name="uploader_top_message">Выбрать место для загрузки:</string>
   <string name="uploader_wrn_no_account_title">Аккаунты не найдены</string>
   <string name="uploader_wrn_no_account_text">На вашем устройстве нет аккаунтов ownCloud. Настройте сначала аккаунт.</string>
   <string name="uploader_wrn_no_account_setup_btn_text">Установка</string>
index 8ef9444..bf65d52 100644 (file)
   <string name="main_settings">Nastavenia</string>
   <string name="main_tit_accsetup">Nastavenie účtu</string>
   <string name="main_wrn_accsetup">Vo vašom zariadení nie sú žiadne účty. Vytvorte si účet ak chcete používať túto aplikáciu.</string>
+  <string name="about_android">%1$s Android App</string>
+  <string name="about_version">verzia %1$s</string>
   <string name="actionbar_upload">Nahraj súbor</string>
   <string name="actionbar_upload_from_apps">Obsah z inej aplikácie</string>
   <string name="actionbar_upload_files">Súbory</string>
+  <string name="actionbar_open_with">Otvoriť v</string>
   <string name="actionbar_mkdir">Vytvor priečinok</string>
   <string name="actionbar_search">Hľadaj</string>
   <string name="actionbar_settings">Nastavenia</string>
@@ -36,6 +39,7 @@
   <string name="prefs_pincode_summary">Chrániť klienta ownCloud</string>
   <string name="prefs_instant_upload">Zapnúť okamžité odosielanie</string>
   <string name="prefs_instant_upload_summary">Okamžite odosielať fotky z fotoaparátu</string>
+  <string name="prefs_log_delete_history_button">Zmazať históriu</string>
   <string name="auth_host_url">Adresa servera</string>
   <string name="auth_username">Používateľské meno</string>
   <string name="auth_password">Heslo</string>
   <string name="sync_string_contacts">Kontakty</string>
   <string name="sync_fail_ticker">Synchronizácia zlyhala</string>
   <string name="sync_fail_content">Synchronizáciu %1$s nemožno dokončiť</string>
+  <string name="sync_fail_content_unauthorized">Neplatné poverenia pre %1$s</string>
   <string name="sync_conflicts_in_favourites_ticker">Objavené konflikty</string>
   <string name="sync_conflicts_in_favourites_content">%1$d súborov z automatickej synchronizácie nemožno synchronizovať</string>
   <string name="sync_fail_in_favourites_ticker">Automatická synchronizácia súborov zlyhala</string>
   <string name="sync_fail_in_favourites_content">Obsah %1$d súborov nemohol byť synchronizovaný (%2$d konfliktov)</string>
   <string name="sync_foreign_files_forgotten_ticker">Niektoré lokálne súbory boli zabudnuté</string>
   <string name="sync_foreign_files_forgotten_content">%1$d súborov z priečinka %2$s nemožno skopírovať do</string>
+  <string name="sync_foreign_files_forgotten_explanation">Od verzie 1.3.16 sú súbory nahrané z tohoto zariadenia, skopírovné do lokálneho priečinka %1$s, aby sa zabránilo strate dát, keď je jeden súbor synchronizovný s viacerými účtami.\n\nPre túto zmenu, všetky súbory nahraté v predchádzajúcich verziách tejto aplikácie boli skopírované do priečinka %2$s. Je nám to ľúto, chyba zabránila dokončeniu tejto operácie počas synchronizácie účtu. Súbor(y) môžete ponechať v súčasnom stave a zmazať odkaz na %3$s, alebo presunúť súbor(y) do priečinka %1$s a zachovať odkaz na %4$s.\n\nĎalej lokálny súbor(y) a vzdialený súbor(y) sú spojené v priečinku %5$s.</string>
   <string name="foreign_files_move">Premiestniť všetko</string>
   <string name="foreign_files_success">Všetky súbory boli premiestnené</string>
   <string name="foreign_files_fail">Niektoré súbory nebolo možné premiestniť</string>
   <string name="media_state_loading">%1$s (načítava)</string>
   <string name="media_event_done">%1$s prehrávanie dokončené</string>
   <string name="media_err_nothing_to_play">Nenájdený žiaden multimediálny súbor</string>
+  <string name="media_err_no_account">Účet neposkytnutý</string>
+  <string name="media_err_not_in_owncloud">Súbor nie je v platnom účte</string>
+  <string name="media_err_unsupported">Nepodporovaný kodek</string>
+  <string name="media_err_io">Mediálny súbor nemožno čítať</string>
+  <string name="media_err_malformed">Mediálny súbor nemá správne kódovanie</string>
+  <string name="media_err_invalid_progressive_playback">Mediálny súbor nemožno streamovať</string>
+  <string name="media_err_unknown">Mediálny súbor nemožno prehrať s východzím prehrávačom</string>
+  <string name="media_err_security_ex">Chyba zabezpečenia pri pokuse o prehranie %1$s</string>
   <string-array name="prefs_trackmydevice_intervall_keys">
     <item>15 minút</item>
     <item>30 minút</item>
     <item>30</item>
     <item>60</item>
   </string-array>
+  <string name="auth_trying_to_login">Pokus o prihlásenie ...</string>
   <string name="auth_no_net_conn_title">Bez sieťového pripojenia</string>
   <string name="auth_no_net_conn_message">Skontrolujte pripojenie k sieti a opakujte pripojenie znovu.</string>
   <string name="auth_connect_anyway">Aj tak pripojiť</string>
   <string name="auth_nossl_plain_ok_title">Nie je k dispozícii bezpečné pripojenie</string>
   <string name="auth_nossl_plain_ok_message">Aplikácia nemôže nadviazať zabezpečené spojenie so serverom. Nezabezpečené pripojenie je k dispozícii. Môžete pokračovať alebo prerušiť spojenie.</string>
   <string name="auth_connection_established">Pripojenie vytvorené</string>
+  <string name="auth_testing_connection">Testovanie pripojenia ...</string>
   <string name="auth_not_configured_title">Nesprávna konfigurácia ownCloud</string>
   <string name="auth_not_configured_message">Nastavenie ownCloud nie je správne. Kontaktujte administrátora pre získanie viac informácií.</string>
   <string name="auth_unknown_error_title">Nastala neznáma chyba!</string>
   <string name="auth_bad_oc_version_title">Nerozpoznaná verzia servera</string>
   <string name="auth_wrong_connection_title">Nie je možne vytvoriť spojenie</string>
   <string name="auth_secure_connection">Vytvorené zabezpečené spojenie</string>
+  <string name="auth_unauthorized">Neplatné poverenia</string>
+  <string name="auth_oauth_error">Neúspešná autorizácia</string>
   <string name="auth_not_found">Je zadaná neplatná cesta</string>
   <string name="auth_internal">Interná chyba servera, kód %1$d</string>
   <string name="crashlog_message">Aplikácia neočakávane ukončila činnosť. Chcete poslať správu o chybe?</string>
   <string name="wait_a_moment">Počkať chvíľu</string>
   <string name="filedisplay_unexpected_bad_get_content">Neočakávaný problém; skúste vybrať súbor inou aplikáciou</string>
   <string name="filedisplay_no_file_selected">Nebol vybraný súbor</string>
+  <string name="oauth_host_url">oAuth2 URL</string>
+  <string name="oauth_check_onoff">Prihlásiť prostredníctvom oAuth2.</string>
+  <string name="oauth_login_connection">Pripájam sa na oAuth2 server…</string>
   <string name="ssl_validator_title">Upozornenie</string>
   <string name="ssl_validator_header">Identitu stránky nemožno overiť</string>
   <string name="ssl_validator_reason_cert_not_trusted">- Certifikát servera nie je overený</string>
   <string name="ssl_validator_label_validity_to">Do: </string>
   <string name="ssl_validator_label_signature">Podpis:</string>
   <string name="ssl_validator_label_signature_algorithm">Algoritmus:</string>
+  <string name="placeholder_filetype">PNG obrázok</string>
+  <string name="placeholder_filesize">389 KB</string>
+  <string name="placeholder_timestamp">2012/05/18 12:23 PM</string>
+  <string name="placeholder_media_time">12:23:45</string>
   <string name="instant_upload_on_wifi">Odoslať fotografie iba cez WiFi</string>
   <string name="instant_upload_path">/InstantUpload</string>
   <string name="conflict_title">Konflikt pri aktualizácii</string>
   <string name="conflict_dont_upload">Nenahrávajte</string>
   <!--we need to improve the communication of errors to the user-->
   <string name="error__upload__local_file_not_copied">%1$s nemožno skopírovať do lokálneho priečinka %2$s</string>
+  <string name="failed_upload_all_cb">vybrať všetko</string>
+  <string name="failed_upload_headline_retryall_btn">opakovať všetky vybrané</string>
+  <string name="failed_upload_failure_text">Chybová správa:</string>
 </resources>
index 31515a1..133ab8d 100644 (file)
@@ -46,4 +46,7 @@ public interface DataStorageManager {
     public void moveDirectory(OCFile dir, String newPath);
 
     public Vector<OCFile> getDirectoryImages(OCFile mParentFolder);
+    
+    public void calculateFolderSize(long id);
+    
 }
index 1b0f083..d84eb2a 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Vector;
 
+import com.owncloud.android.DisplayUtils;
 import com.owncloud.android.Log_OC;
 import com.owncloud.android.db.ProviderMeta;
 import com.owncloud.android.db.ProviderMeta.ProviderTableMeta;
@@ -46,9 +47,9 @@ public class FileDataStorageManager implements DataStorageManager {
     private ContentResolver mContentResolver;
     private ContentProviderClient mContentProvider;
     private Account mAccount;
-    
+
     private static String TAG = "FileDataStorageManager";
-    
+
     public FileDataStorageManager(Account account, ContentResolver cr) {
         mContentProvider = null;
         mContentResolver = cr;
@@ -75,7 +76,7 @@ public class FileDataStorageManager implements DataStorageManager {
         return file;
     }
 
-    
+
     private OCFile createRootDir() {
         OCFile file = new OCFile(OCFile.PATH_SEPARATOR);
         file.setMimetype("DIR");
@@ -94,7 +95,7 @@ public class FileDataStorageManager implements DataStorageManager {
         c.close();
         return file;
     }
-    
+
     public OCFile getFileByLocalPath(String path) {
         Cursor c = getCursorForValue(ProviderTableMeta.FILE_STORAGE_PATH, path);
         OCFile file = null;
@@ -136,13 +137,18 @@ public class FileDataStorageManager implements DataStorageManager {
         cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.keepInSync() ? 1 : 0);
 
         boolean sameRemotePath = fileExists(file.getRemotePath());
+        boolean changesSizeOfAncestors = false;
         if (sameRemotePath ||
-            fileExists(file.getFileId())        ) {           // for renamed files; no more delete and create
-            
+                fileExists(file.getFileId())        ) {           // for renamed files; no more delete and create
+
+            OCFile oldFile = null;
             if (sameRemotePath) {
-                OCFile oldFile = getFileByPath(file.getRemotePath());
+                oldFile = getFileByPath(file.getRemotePath());
                 file.setFileId(oldFile.getFileId());
+            } else {
+                oldFile = getFileById(file.getFileId());
             }
+            changesSizeOfAncestors = (oldFile.getFileLength() != file.getFileLength());
 
             overriden = true;
             if (getContentResolver() != null) {
@@ -161,6 +167,7 @@ public class FileDataStorageManager implements DataStorageManager {
                 }
             }
         } else {
+            changesSizeOfAncestors = true;
             Uri result_uri = null;
             if (getContentResolver() != null) {
                 result_uri = getContentResolver().insert(
@@ -179,20 +186,28 @@ public class FileDataStorageManager implements DataStorageManager {
                 long new_id = Long.parseLong(result_uri.getPathSegments()
                         .get(1));
                 file.setFileId(new_id);
-            }
+            }            
         }
 
-        if (file.isDirectory() && file.needsUpdatingWhileSaving())
-            for (OCFile f : getDirectoryContent(file))
-                saveFile(f);
-
+        if (file.isDirectory()) {
+            calculateFolderSize(file.getFileId());
+            if (file.needsUpdatingWhileSaving()) {
+                for (OCFile f : getDirectoryContent(file))
+                    saveFile(f);
+            }
+        }
+        
+        if (changesSizeOfAncestors || file.isDirectory()) {
+            updateSizesToTheRoot(file.getParentId());
+        }
+        
         return overriden;
     }
 
 
     @Override
     public void saveFiles(List<OCFile> files) {
-        
+
         Iterator<OCFile> filesIt = files.iterator();
         ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>(files.size());
         OCFile file = null;
@@ -223,44 +238,44 @@ public class FileDataStorageManager implements DataStorageManager {
                 operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI).
                         withValues(cv).
                         withSelection(  ProviderTableMeta._ID + "=?", 
-                                        new String[] { String.valueOf(file.getFileId()) })
-                        .build());
-                
+                                new String[] { String.valueOf(file.getFileId()) })
+                                .build());
+
             } else if (fileExists(file.getFileId())) {
-                    OCFile oldFile = getFileById(file.getFileId());
-                    if (file.getStoragePath() == null && oldFile.getStoragePath() != null)
-                        file.setStoragePath(oldFile.getStoragePath());
-                    if (!file.isDirectory());
-                        cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath());
+                OCFile oldFile = getFileById(file.getFileId());
+                if (file.getStoragePath() == null && oldFile.getStoragePath() != null)
+                    file.setStoragePath(oldFile.getStoragePath());
+                if (!file.isDirectory());
+                cv.put(ProviderTableMeta.FILE_STORAGE_PATH, file.getStoragePath());
+
+                operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI).
+                        withValues(cv).
+                        withSelection(  ProviderTableMeta._ID + "=?", 
+                                new String[] { String.valueOf(file.getFileId()) })
+                                .build());
 
-                    operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI).
-                            withValues(cv).
-                            withSelection(  ProviderTableMeta._ID + "=?", 
-                                            new String[] { String.valueOf(file.getFileId()) })
-                            .build());
-                    
             } else {
                 operations.add(ContentProviderOperation.newInsert(ProviderTableMeta.CONTENT_URI).withValues(cv).build());
             }
         }
-        
+
         // apply operations in batch
         ContentProviderResult[] results = null;
         try {
             if (getContentResolver() != null) {
                 results = getContentResolver().applyBatch(ProviderMeta.AUTHORITY_FILES, operations);
-            
+
             } else {
                 results = getContentProvider().applyBatch(operations);
             }
-            
+
         } catch (OperationApplicationException e) {
             Log_OC.e(TAG, "Fail to update/insert list of files to database " + e.getMessage());
-            
+
         } catch (RemoteException e) {
             Log_OC.e(TAG, "Fail to update/insert list of files to database " + e.getMessage());
         }
-        
+
         // update new id in file objects for insertions
         if (results != null) {
             long newId;
@@ -279,7 +294,7 @@ public class FileDataStorageManager implements DataStorageManager {
         }
 
     }
-    
+
     public void setAccount(Account account) {
         mAccount = account;
     }
@@ -303,46 +318,56 @@ public class FileDataStorageManager implements DataStorageManager {
     public ContentProviderClient getContentProvider() {
         return mContentProvider;
     }
-
+    
     @Override
     public Vector<OCFile> getDirectoryContent(OCFile f) {
-        Vector<OCFile> ret = new Vector<OCFile>();
         if (f != null && f.isDirectory() && f.getFileId() != -1) {
+            return getDirectoryContent(f.getFileId());
 
-            Uri req_uri = Uri.withAppendedPath(
-                    ProviderTableMeta.CONTENT_URI_DIR,
-                    String.valueOf(f.getFileId()));
-            Cursor c = null;
+        } else {
+            return new Vector<OCFile>();
+        }
+    }
 
-            if (getContentProvider() != null) {
-                try {
-                    c = getContentProvider().query(req_uri, null,
-                            ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",
-                            new String[] { mAccount.name }, null);
-                } catch (RemoteException e) {
-                    Log_OC.e(TAG, e.getMessage());
-                    return ret;
-                }
-            } else {
-                c = getContentResolver().query(req_uri, null,
-                        ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",
-                        new String[] { mAccount.name }, null);
-            }
+    private Vector<OCFile> getDirectoryContent(long parentId) {
 
-            if (c.moveToFirst()) {
-                do {
-                    OCFile child = createFileInstance(c);
-                    ret.add(child);
-                } while (c.moveToNext());
+        Vector<OCFile> ret = new Vector<OCFile>();
+
+        Uri req_uri = Uri.withAppendedPath(
+                ProviderTableMeta.CONTENT_URI_DIR,
+                String.valueOf(parentId));
+        Cursor c = null;
+
+        if (getContentProvider() != null) {
+            try {
+                c = getContentProvider().query(req_uri, null, 
+                        ProviderTableMeta.FILE_PARENT + "=?" ,
+                        new String[] { String.valueOf(parentId)}, null);
+            } catch (RemoteException e) {
+                Log_OC.e(TAG, e.getMessage());
+                return ret;
             }
+        } else {
+            c = getContentResolver().query(req_uri, null, 
+                    ProviderTableMeta.FILE_PARENT + "=?" ,
+                    new String[] { String.valueOf(parentId)}, null);
+        }
 
-            c.close();
-            
-            Collections.sort(ret);
-            
+        if (c.moveToFirst()) {
+            do {
+                OCFile child = createFileInstance(c);
+                ret.add(child);
+            } while (c.moveToNext());
         }
+
+        c.close();
+
+        Collections.sort(ret);
+
         return ret;
     }
+    
+    
 
     private boolean fileExists(String cmp_key, String value) {
         Cursor c;
@@ -353,7 +378,7 @@ public class FileDataStorageManager implements DataStorageManager {
                             cmp_key + "=? AND "
                                     + ProviderTableMeta.FILE_ACCOUNT_OWNER
                                     + "=?",
-                            new String[] { value, mAccount.name }, null);
+                                    new String[] { value, mAccount.name }, null);
         } else {
             try {
                 c = getContentProvider().query(
@@ -361,7 +386,7 @@ public class FileDataStorageManager implements DataStorageManager {
                         null,
                         cmp_key + "=? AND "
                                 + ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",
-                        new String[] { value, mAccount.name }, null);
+                                new String[] { value, mAccount.name }, null);
             } catch (RemoteException e) {
                 Log_OC.e(TAG,
                         "Couldn't determine file existance, assuming non existance: "
@@ -383,14 +408,14 @@ public class FileDataStorageManager implements DataStorageManager {
                             key + "=? AND "
                                     + ProviderTableMeta.FILE_ACCOUNT_OWNER
                                     + "=?",
-                            new String[] { value, mAccount.name }, null);
+                                    new String[] { value, mAccount.name }, null);
         } else {
             try {
                 c = getContentProvider().query(
                         ProviderTableMeta.CONTENT_URI,
                         null,
                         key + "=? AND " + ProviderTableMeta.FILE_ACCOUNT_OWNER
-                                + "=?", new String[] { value, mAccount.name },
+                        + "=?", new String[] { value, mAccount.name },
                         null);
             } catch (RemoteException e) {
                 Log_OC.e(TAG, "Could not get file details: " + e.getMessage());
@@ -435,26 +460,26 @@ public class FileDataStorageManager implements DataStorageManager {
             file.setLastSyncDateForData(c.getLong(c.
                     getColumnIndex(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA)));
             file.setKeepInSync(c.getInt(
-                                c.getColumnIndex(ProviderTableMeta.FILE_KEEP_IN_SYNC)) == 1 ? true : false);
+                    c.getColumnIndex(ProviderTableMeta.FILE_KEEP_IN_SYNC)) == 1 ? true : false);
         }
         return file;
     }
-    
+
     @Override
     public void removeFile(OCFile file, boolean removeLocalCopy) {
         Uri file_uri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, ""+file.getFileId());
         if (getContentProvider() != null) {
             try {
                 getContentProvider().delete(file_uri,
-                                            ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
-                                            new String[]{mAccount.name});
+                        ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
+                        new String[]{mAccount.name});
             } catch (RemoteException e) {
                 e.printStackTrace();
             }
         } else {
             getContentResolver().delete(file_uri,
-                                        ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
-                                        new String[]{mAccount.name});
+                    ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",
+                    new String[]{mAccount.name});
         }
         if (file.isDown() && removeLocalCopy) {
             new File(file.getStoragePath()).delete();
@@ -465,6 +490,10 @@ public class FileDataStorageManager implements DataStorageManager {
                 f.delete();
             }
         }
+        
+        if (file.getFileLength() > 0) {
+            updateSizesToTheRoot(file.getParentId());
+        }
     }
 
     @Override
@@ -492,10 +521,14 @@ public class FileDataStorageManager implements DataStorageManager {
             if (removeDBData) {
                 removeFile(dir, true);
             }
+            
+            if (dir.getFileLength() > 0) {
+                updateSizesToTheRoot(dir.getParentId());
+            }
         }
     }
-    
-    
+
+
     /**
      * Updates database for a folder that was moved to a different location.
      * 
@@ -505,24 +538,24 @@ public class FileDataStorageManager implements DataStorageManager {
     @Override
     public void moveDirectory(OCFile dir, String newPath) {
         // TODO check newPath
-        
+
         if (dir != null && dir.isDirectory() && dir.fileExists() && !dir.getFileName().equals(OCFile.PATH_SEPARATOR)) {
             /// 1. get all the descendants of 'dir' in a single QUERY (including 'dir')
             Cursor c = null;
             if (getContentProvider() != null) {
                 try {
                     c = getContentProvider().query(ProviderTableMeta.CONTENT_URI, 
-                                                    null,
-                                                    ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + ProviderTableMeta.FILE_PATH + " LIKE ?",
-                                                    new String[] { mAccount.name, dir.getRemotePath() + "%" }, null);
+                            null,
+                            ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + ProviderTableMeta.FILE_PATH + " LIKE ?",
+                            new String[] { mAccount.name, dir.getRemotePath() + "%" }, null);
                 } catch (RemoteException e) {
                     Log_OC.e(TAG, e.getMessage());
                 }
             } else {
                 c = getContentResolver().query(ProviderTableMeta.CONTENT_URI, 
-                                                null,
-                                                ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + ProviderTableMeta.FILE_PATH + " LIKE ?",
-                                                new String[] { mAccount.name, dir.getRemotePath() + "%" }, null);
+                        null,
+                        ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + ProviderTableMeta.FILE_PATH + " LIKE ?",
+                        new String[] { mAccount.name, dir.getRemotePath() + "%" }, null);
             }
 
             /// 2. prepare a batch of update operations to change all the descendants
@@ -539,30 +572,30 @@ public class FileDataStorageManager implements DataStorageManager {
                         cv.put(ProviderTableMeta.FILE_STORAGE_PATH, defaultSavePath + newPath + child.getStoragePath().substring(lengthOfOldStoragePath));
                     }
                     operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI).
-                                                                        withValues(cv).
-                                                                        withSelection(  ProviderTableMeta._ID + "=?", 
-                                                                                new String[] { String.valueOf(child.getFileId()) })
-                                                                                .build());
+                            withValues(cv).
+                            withSelection(  ProviderTableMeta._ID + "=?", 
+                                    new String[] { String.valueOf(child.getFileId()) })
+                                    .build());
                 } while (c.moveToNext());
             }
             c.close();
-            
+
             /// 3. apply updates in batch
             try {
                 if (getContentResolver() != null) {
                     getContentResolver().applyBatch(ProviderMeta.AUTHORITY_FILES, operations);
-                
+
                 } else {
                     getContentProvider().applyBatch(operations);
                 }
-                
+
             } catch (OperationApplicationException e) {
                 Log_OC.e(TAG, "Fail to update descendants of " + dir.getFileId() + " in database", e);
-                
+
             } catch (RemoteException e) {
                 Log_OC.e(TAG, "Fail to update desendants of " + dir.getFileId() + " in database", e);
             }
-            
+
         }
     }
 
@@ -583,4 +616,65 @@ public class FileDataStorageManager implements DataStorageManager {
         return ret;
     }
 
+    /**
+     * Calculate and save the folderSize on DB
+     * @param id
+     */
+    @Override
+    public void calculateFolderSize(long id) {
+        long folderSize = 0;
+        
+        Vector<OCFile> files = getDirectoryContent(id);
+        
+        for (OCFile f: files)
+        {
+            folderSize = folderSize + f.getFileLength();
+        }
+        
+        updateSize(id, folderSize);
+    }
+
+    /**
+     * Update the size value of an OCFile in DB
+     */
+    private int updateSize(long id, long size) {
+        ContentValues cv = new ContentValues();
+        cv.put(ProviderTableMeta.FILE_CONTENT_LENGTH, size);
+        int result = -1;
+        if (getContentResolver() != null) {
+             result = getContentResolver().update(ProviderTableMeta.CONTENT_URI, cv, ProviderTableMeta._ID + "=?", 
+                     new String[] { String.valueOf(id) });
+        } else {
+            try {
+                result = getContentProvider().update(ProviderTableMeta.CONTENT_URI, cv, ProviderTableMeta._ID + "=?", 
+                        new String[] { String.valueOf(id) });
+            } catch (RemoteException e) {
+                Log_OC.e(TAG,"Fail to update size column into database " + e.getMessage());
+            }
+        }
+        return result;
+    }
+
+    /** 
+     * Update the size of a subtree of folder from a file to the root
+     * @param parentId: parent of the file
+     */
+    private void updateSizesToTheRoot(long parentId) {
+        
+        OCFile file; 
+
+        while (parentId != 0) {
+            
+            Log_OC.d(TAG, "parent = " + parentId);
+            // Update the size of the parent
+            calculateFolderSize(parentId);
+            
+            // search the next parent
+            file = getFileById(parentId);            
+            parentId = file.getParentId();
+            
+        }              
+        
+    }
+    
 }
index 5965db3..03c6868 100644 (file)
@@ -73,6 +73,7 @@ public class CreateFolderOperation extends RemoteOperation {
                 OCFile newDir = new OCFile(mRemotePath);
                 newDir.setMimetype("DIR");
                 newDir.setParentId(mParentDirId);
+                newDir.setModificationTimestamp(System.currentTimeMillis());
                 mStorageManager.saveFile(newDir);
             }
 
index f0d7b16..44fe401 100644 (file)
@@ -37,6 +37,8 @@ import com.owncloud.android.operations.SynchronizeFolderOperation;
 import com.owncloud.android.operations.UpdateOCVersionOperation;
 import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
 import com.owncloud.android.ui.activity.ErrorsWhileCopyingHandlerActivity;
+import com.owncloud.android.utils.FileStorageUtils;
+
 import android.accounts.Account;
 import android.accounts.AccountsException;
 import android.app.Notification;
@@ -263,8 +265,12 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
             OCFile newFile = files.get(i);
             if (newFile.isDirectory()) {
                 fetchData(newFile.getRemotePath(), newFile.getFileId());
+                
+                // Update folder size on DB
+                getStorageManager().calculateFolderSize(newFile.getFileId());       
             }
         }
+       
         if (mCancellation && i <files.size()) Log_OC.d(TAG, "Leaving synchronization before synchronizing " + files.get(i).getRemotePath() + " because cancelation request");
     }
 
index 508b7be..0ce6cce 100644 (file)
@@ -95,13 +95,13 @@ import com.owncloud.android.ui.preview.PreviewVideoActivity;
  */
 
 public class FileDisplayActivity extends FileActivity implements
-    OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, OnRemoteOperationListener, EditNameDialogListener {
-    
+OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNavigationListener, OnSslValidatorListener, OnRemoteOperationListener, EditNameDialogListener {
+
     private ArrayAdapter<String> mDirectories;
 
     /** Access point to the cached database for the current ownCloud {@link Account} */
     private DataStorageManager mStorageManager = null;
-    
+
     private SyncBroadcastReceiver mSyncBroadcastReceiver;
     private UploadFinishReceiver mUploadFinishReceiver;
     private DownloadFinishReceiver mDownloadFinishReceiver;
@@ -109,23 +109,23 @@ public class FileDisplayActivity extends FileActivity implements
     private FileUploaderBinder mUploaderBinder = null;
     private ServiceConnection mDownloadConnection = null, mUploadConnection = null;
     private RemoteOperationResult mLastSslUntrustedServerResult = null;
-    
+
     private boolean mDualPane;
     private View mLeftFragmentContainer;
     private View mRightFragmentContainer;
-    
+
     private static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW";
-    
+
     public static final int DIALOG_SHORT_WAIT = 0;
     private static final int DIALOG_CHOOSE_UPLOAD_SOURCE = 1;
     private static final int DIALOG_SSL_VALIDATOR = 2;
     private static final int DIALOG_CERT_NOT_SAVED = 3;
-    
+
     public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS";
-    
+
     private static final int ACTION_SELECT_CONTENT_FROM_APPS = 1;
     private static final int ACTION_SELECT_MULTIPLE_FILES = 2;
-    
+
     private static final String TAG = FileDisplayActivity.class.getSimpleName();
 
     private static final String TAG_LIST_OF_FILES = "LIST_OF_FILES";
@@ -137,10 +137,10 @@ public class FileDisplayActivity extends FileActivity implements
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         Log_OC.d(TAG, "onCreate() start");
-        super.onCreate(savedInstanceState);
-        
         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-        
+
+        super.onCreate(savedInstanceState); // this calls onAccountChanged() when ownCloud Account is valid
+
         mHandler = new Handler();
 
         /// bindings to transference services
@@ -158,7 +158,7 @@ public class FileDisplayActivity extends FileActivity implements
         Intent observer_intent = new Intent(this, FileObserverService.class);
         observer_intent.putExtra(FileObserverService.KEY_FILE_CMD, FileObserverService.CMD_INIT_OBSERVED_LIST);
         startService(observer_intent);
-            
+
         /// Load of saved instance state
         if(savedInstanceState != null) {
             mWaitingToPreview = (OCFile) savedInstanceState.getParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW);
@@ -166,9 +166,9 @@ public class FileDisplayActivity extends FileActivity implements
         } else {
             mWaitingToPreview = null;
         }
-        
+
         /// USER INTERFACE
-            
+
         // Inflate and set the layout view
         setContentView(R.layout.files);    
         mDualPane = getResources().getBoolean(R.bool.large_land_layout);
@@ -177,7 +177,7 @@ public class FileDisplayActivity extends FileActivity implements
         if (savedInstanceState == null) {
             createMinFragments();
         }
-        
+
         // Action bar setup
         mDirectories = new CustomArrayAdapter<String>(this, R.layout.sherlock_spinner_dropdown_item);
         getSupportActionBar().setHomeButtonEnabled(true);       // mandatory since Android ICS, according to the official documentation
@@ -186,7 +186,7 @@ public class FileDisplayActivity extends FileActivity implements
         Log_OC.d(TAG, "onCreate() end");
     }
 
-    
+
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -195,8 +195,8 @@ public class FileDisplayActivity extends FileActivity implements
         if (mUploadConnection != null)
             unbindService(mUploadConnection);
     }
-    
-    
+
+
     /**
      *  Called when the ownCloud {@link Account} associated to the Activity was just updated.
      */ 
@@ -204,7 +204,7 @@ public class FileDisplayActivity extends FileActivity implements
     protected void onAccountSet(boolean stateWasRecovered) {
         if (getAccount() != null) {
             mStorageManager = new FileDataStorageManager(getAccount(), getContentResolver());
-            
+
             /// Check whether the 'main' OCFile handled by the Activity is contained in the current Account
             OCFile file = getFile();
             if (file != null) {
@@ -245,8 +245,8 @@ public class FileDisplayActivity extends FileActivity implements
             Log_OC.wtf(TAG, "onAccountChanged was called with NULL account associated!");
         }
     }
-    
-    
+
+
     private void createMinFragments() {
         OCFileListFragment listOfFiles = new OCFileListFragment();
         FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
@@ -275,7 +275,7 @@ public class FileDisplayActivity extends FileActivity implements
             } else {
                 cleanSecondFragment();
             }
-            
+
         } else {
             Log.wtf(TAG, "initFragments() called with invalid NULLs!");
             if (getAccount() == null) {
@@ -296,7 +296,7 @@ public class FileDisplayActivity extends FileActivity implements
                 int startPlaybackPosition = getIntent().getIntExtra(PreviewVideoActivity.EXTRA_START_POSITION, 0);
                 boolean autoplay = getIntent().getBooleanExtra(PreviewVideoActivity.EXTRA_AUTOPLAY, true);
                 secondFragment = new PreviewMediaFragment(file, getAccount(), startPlaybackPosition, autoplay);
-                
+
             } else {
                 secondFragment = new FileDetailFragment(file, getAccount());
             }
@@ -304,7 +304,7 @@ public class FileDisplayActivity extends FileActivity implements
         return secondFragment;
     }
 
-    
+
     /**
      * Replaces the second fragment managed by the activity with the received as
      * a parameter.
@@ -318,8 +318,8 @@ public class FileDisplayActivity extends FileActivity implements
         transaction.replace(R.id.right_fragment_container, fragment, TAG_SECOND_FRAGMENT);
         transaction.commit();
     }
-    
-    
+
+
     private void updateFragmentsVisibility(boolean existsSecondFragment) {
         if (mDualPane) {
             if (mLeftFragmentContainer.getVisibility() != View.VISIBLE) {
@@ -328,7 +328,7 @@ public class FileDisplayActivity extends FileActivity implements
             if (mRightFragmentContainer.getVisibility() != View.VISIBLE) {
                 mRightFragmentContainer.setVisibility(View.VISIBLE);
             }
-            
+
         } else if (existsSecondFragment) {
             if (mLeftFragmentContainer.getVisibility() != View.GONE) {
                 mLeftFragmentContainer.setVisibility(View.GONE);
@@ -336,7 +336,7 @@ public class FileDisplayActivity extends FileActivity implements
             if (mRightFragmentContainer.getVisibility() != View.VISIBLE) {
                 mRightFragmentContainer.setVisibility(View.VISIBLE);
             }
-            
+
         } else {
             if (mLeftFragmentContainer.getVisibility() != View.VISIBLE) {
                 mLeftFragmentContainer.setVisibility(View.VISIBLE);
@@ -347,7 +347,7 @@ public class FileDisplayActivity extends FileActivity implements
         }
     }
 
-    
+
     private OCFileListFragment getListOfFilesFragment() {
         Fragment listOfFiles = getSupportFragmentManager().findFragmentByTag(FileDisplayActivity.TAG_LIST_OF_FILES);
         if (listOfFiles != null) {
@@ -356,7 +356,7 @@ public class FileDisplayActivity extends FileActivity implements
         Log_OC.wtf(TAG, "Access to unexisting list of files fragment!!");
         return null;
     }
-    
+
     protected FileFragment getSecondFragment() {
         Fragment second = getSupportFragmentManager().findFragmentByTag(FileDisplayActivity.TAG_SECOND_FRAGMENT);
         if (second != null) {
@@ -375,7 +375,7 @@ public class FileDisplayActivity extends FileActivity implements
         updateFragmentsVisibility(false);
         updateNavigationElementsInActionBar(null);
     }
-    
+
     protected void refeshListOfFilesFragment() {
         OCFileListFragment fileListFragment = getListOfFilesFragment();
         if (fileListFragment != null) { 
@@ -392,12 +392,12 @@ public class FileDisplayActivity extends FileActivity implements
             if (fileInFragment != null && !downloadedRemotePath.equals(fileInFragment.getRemotePath())) {
                 // the user browsed to other file ; forget the automatic preview 
                 mWaitingToPreview = null;
-                
+
             } else if (downloadEvent.equals(FileDownloader.DOWNLOAD_ADDED_MESSAGE)) {
                 // grant that the right panel updates the progress bar
                 detailsFragment.listenForTransferProgress();
                 detailsFragment.updateFileDetails(true, false);
-                
+
             } else if (downloadEvent.equals(FileDownloader.DOWNLOAD_FINISH_MESSAGE)) {
                 //  update the right panel
                 boolean detailsFragmentChanged = false;
@@ -432,35 +432,35 @@ public class FileDisplayActivity extends FileActivity implements
     public boolean onOptionsItemSelected(MenuItem item) {
         boolean retval = true;
         switch (item.getItemId()) {
-            case R.id.action_create_dir: {
-                EditNameDialog dialog = EditNameDialog.newInstance(getString(R.string.uploader_info_dirname), "", -1, -1, this);
-                dialog.show(getSupportFragmentManager(), "createdirdialog");
-                break;
-            }
-            case R.id.action_sync_account: {
-                startSynchronization();
-                break;
-            }
-            case R.id.action_upload: {
-                showDialog(DIALOG_CHOOSE_UPLOAD_SOURCE);
-                break;
-            }
-            case R.id.action_settings: {
-                Intent settingsIntent = new Intent(this, Preferences.class);
-                startActivity(settingsIntent);
-                break;
-            }
-            case android.R.id.home: {
-                FileFragment second = getSecondFragment();
-                OCFile currentDir = getCurrentDir();
-                if((currentDir != null && currentDir.getParentId() != 0) || 
-                        (second != null && second.getFile() != null)) {
-                    onBackPressed(); 
-                }
-                break;
+        case R.id.action_create_dir: {
+            EditNameDialog dialog = EditNameDialog.newInstance(getString(R.string.uploader_info_dirname), "", -1, -1, this);
+            dialog.show(getSupportFragmentManager(), "createdirdialog");
+            break;
+        }
+        case R.id.action_sync_account: {
+            startSynchronization();
+            break;
+        }
+        case R.id.action_upload: {
+            showDialog(DIALOG_CHOOSE_UPLOAD_SOURCE);
+            break;
+        }
+        case R.id.action_settings: {
+            Intent settingsIntent = new Intent(this, Preferences.class);
+            startActivity(settingsIntent);
+            break;
+        }
+        case android.R.id.home: {
+            FileFragment second = getSecondFragment();
+            OCFile currentDir = getCurrentDir();
+            if((currentDir != null && currentDir.getParentId() != 0) || 
+                    (second != null && second.getFile() != null)) {
+                onBackPressed(); 
             }
-            default:
-                retval = super.onOptionsItemSelected(item);
+            break;
+        }
+        default:
+            retval = super.onOptionsItemSelected(item);
         }
         return retval;
     }
@@ -494,13 +494,13 @@ public class FileDisplayActivity extends FileActivity implements
      */
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        
+
         if (requestCode == ACTION_SELECT_CONTENT_FROM_APPS && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
             requestSimpleUpload(data, resultCode);
-            
+
         } else if (requestCode == ACTION_SELECT_MULTIPLE_FILES && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
             requestMultipleUpload(data, resultCode);
-            
+
         }
     }
 
@@ -526,7 +526,7 @@ public class FileDisplayActivity extends FileActivity implements
             if (resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)
                 i.putExtra(FileUploader.KEY_LOCAL_BEHAVIOUR, FileUploader.LOCAL_BEHAVIOUR_MOVE);
             startService(i);
-            
+
         } else {
             Log_OC.d(TAG, "User clicked on 'Update' with no selection");
             Toast t = Toast.makeText(this, getString(R.string.filedisplay_no_file_selected), Toast.LENGTH_LONG);
@@ -548,11 +548,11 @@ public class FileDisplayActivity extends FileActivity implements
                 filepath = selectedImagePath;
             else
                 filepath = filemanagerstring;
-            
+
         } catch (Exception e) {
             Log_OC.e(TAG, "Unexpected exception when trying to read the result of Intent.ACTION_GET_CONTENT", e);
             e.printStackTrace();
-            
+
         } finally {
             if (filepath == null) {
                 Log_OC.e(TAG, "Couldnt resolve path to file");
@@ -609,7 +609,6 @@ public class FileDisplayActivity extends FileActivity implements
         Log_OC.d(TAG, "onSaveInstanceState() end");
     }
 
-    
     @Override
     protected void onResume() {
         super.onResume();
@@ -619,12 +618,12 @@ public class FileDisplayActivity extends FileActivity implements
         IntentFilter syncIntentFilter = new IntentFilter(FileSyncService.SYNC_MESSAGE);
         mSyncBroadcastReceiver = new SyncBroadcastReceiver();
         registerReceiver(mSyncBroadcastReceiver, syncIntentFilter);
-        
+
         // Listen for upload messages
         IntentFilter uploadIntentFilter = new IntentFilter(FileUploader.UPLOAD_FINISH_MESSAGE);
         mUploadFinishReceiver = new UploadFinishReceiver();
         registerReceiver(mUploadFinishReceiver, uploadIntentFilter);
-        
+
         // Listen for download messages
         IntentFilter downloadIntentFilter = new IntentFilter(FileDownloader.DOWNLOAD_ADDED_MESSAGE);
         downloadIntentFilter.addAction(FileDownloader.DOWNLOAD_FINISH_MESSAGE);
@@ -634,7 +633,7 @@ public class FileDisplayActivity extends FileActivity implements
         Log_OC.d(TAG, "onResume() end");
     }
 
-    
+
     @Override
     protected void onPause() {
         super.onPause();
@@ -651,11 +650,11 @@ public class FileDisplayActivity extends FileActivity implements
             unregisterReceiver(mDownloadFinishReceiver);
             mDownloadFinishReceiver = null;
         }
-        
+
         Log_OC.d(TAG, "onPause() end");
     }
 
-    
+
     @Override
     protected void onPrepareDialog(int id, Dialog dialog, Bundle args) {
         if (id == DIALOG_SSL_VALIDATOR && mLastSslUntrustedServerResult != null) {
@@ -663,7 +662,7 @@ public class FileDisplayActivity extends FileActivity implements
         }
     }
 
-    
+
     @Override
     protected Dialog onCreateDialog(int id) {
         Dialog dialog = null;
@@ -679,34 +678,34 @@ public class FileDisplayActivity extends FileActivity implements
             break;
         }
         case DIALOG_CHOOSE_UPLOAD_SOURCE: {
-            
+
             String[] items = null;
-            
+
             String[] allTheItems = { getString(R.string.actionbar_upload_files),
-                                     getString(R.string.actionbar_upload_from_apps),
-                                     getString(R.string.actionbar_failed_instant_upload) };
-            
+                    getString(R.string.actionbar_upload_from_apps),
+                    getString(R.string.actionbar_failed_instant_upload) };
+
             String[] commonItems = { getString(R.string.actionbar_upload_files),
-                                     getString(R.string.actionbar_upload_from_apps) };
-            
+                    getString(R.string.actionbar_upload_from_apps) };
+
             if (InstantUploadActivity.IS_ENABLED)
                 items = allTheItems;
             else 
                 items = commonItems;
-            
+
             builder = new AlertDialog.Builder(this);
             builder.setTitle(R.string.actionbar_upload);
             builder.setItems(items, new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int item) {
                     if (item == 0) {
                         // if (!mDualPane) {
-                        Intent action = new Intent(FileDisplayActivity.this, UploadFilesActivity.class);
-                        action.putExtra(UploadFilesActivity.EXTRA_ACCOUNT, FileDisplayActivity.this.getAccount());
-                        startActivityForResult(action, ACTION_SELECT_MULTIPLE_FILES);
-                        // } else {
-                        // TODO create and handle new fragment
-                        // LocalFileListFragment
-                        // }
+                            Intent action = new Intent(FileDisplayActivity.this, UploadFilesActivity.class);
+                            action.putExtra(UploadFilesActivity.EXTRA_ACCOUNT, FileDisplayActivity.this.getAccount());
+                            startActivityForResult(action, ACTION_SELECT_MULTIPLE_FILES);
+                            // } else {
+                            // TODO create and handle new fragment
+                            // LocalFileListFragment
+                            // }
                     } else if (item == 1) {
                         Intent action = new Intent(Intent.ACTION_GET_CONTENT);
                         action = action.setType("*/*").addCategory(Intent.CATEGORY_OPENABLE);
@@ -731,22 +730,22 @@ public class FileDisplayActivity extends FileActivity implements
             builder.setMessage(getResources().getString(R.string.ssl_validator_not_saved));
             builder.setCancelable(false);
             builder.setPositiveButton(R.string.common_ok, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        dialog.dismiss();
-                    };
-                });
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    dialog.dismiss();
+                };
+            });
             dialog = builder.create();
             break;
         }
         default:
             dialog = null;
         }
-    
+
         return dialog;
     }
 
-    
+
     /**
      * Translates a content URI of an image to a physical path
      * on the disk
@@ -764,7 +763,7 @@ public class FileDisplayActivity extends FileActivity implements
         } 
         return null;
     }
-    
+
     /**
      * Pushes a directory to the drop down list
      * @param directory to push
@@ -789,29 +788,29 @@ public class FileDisplayActivity extends FileActivity implements
 
     // Custom array adapter to override text colors
     private class CustomArrayAdapter<T> extends ArrayAdapter<T> {
-    
+
         public CustomArrayAdapter(FileDisplayActivity ctx, int view) {
             super(ctx, view);
         }
-    
+
         public View getView(int position, View convertView, ViewGroup parent) {
             View v = super.getView(position, convertView, parent);
-    
+
             ((TextView) v).setTextColor(getResources().getColorStateList(
                     android.R.color.white));
             return v;
         }
-    
+
         public View getDropDownView(int position, View convertView,
                 ViewGroup parent) {
             View v = super.getDropDownView(position, convertView, parent);
-    
+
             ((TextView) v).setTextColor(getResources().getColorStateList(
                     android.R.color.white));
-    
+
             return v;
         }
-    
+
     }
 
     private class SyncBroadcastReceiver extends BroadcastReceiver {
@@ -827,14 +826,14 @@ public class FileDisplayActivity extends FileActivity implements
             Log_OC.d(TAG, "sync of account " + accountName + " is in_progress: " + inProgress);
 
             if (getAccount() != null && accountName.equals(getAccount().name)) {  
-            
+
                 String synchFolderRemotePath = intent.getStringExtra(FileSyncService.SYNC_FOLDER_REMOTE_PATH); 
-                 
+
                 boolean fillBlankRoot = false;
                 OCFile currentDir = getCurrentDir();
                 if (currentDir == null) {
                     currentDir = mStorageManager.getFileByPath(OCFile.PATH_SEPARATOR);
-                    fillBlankRoot = (currentDir != null);
+                    fillBlankRoot = (currentDir != null);                   
                 }
 
                 if ((synchFolderRemotePath != null && currentDir != null && (currentDir.getRemotePath().equals(synchFolderRemotePath)))
@@ -851,9 +850,9 @@ public class FileDisplayActivity extends FileActivity implements
                 
                 setSupportProgressBarIndeterminateVisibility(inProgress);
                 removeStickyBroadcast(intent);
-                
+
             }
-            
+
             RemoteOperationResult synchResult = (RemoteOperationResult)intent.getSerializableExtra(FileSyncService.SYNC_RESULT);
             if (synchResult != null) {
                 if (synchResult.getCode().equals(RemoteOperationResult.ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED)) {
@@ -863,7 +862,7 @@ public class FileDisplayActivity extends FileActivity implements
             }
         }
     }
-    
+
 
     private class UploadFinishReceiver extends BroadcastReceiver {
         /**
@@ -882,10 +881,10 @@ public class FileDisplayActivity extends FileActivity implements
                 refeshListOfFilesFragment();
             }
         }
-        
+
     }
-    
-    
+
+
     /**
      * Class waiting for broadcast events from the {@link FielDownloader} service.
      * 
@@ -898,12 +897,12 @@ public class FileDisplayActivity extends FileActivity implements
             boolean sameAccount = isSameAccount(context, intent);
             String downloadedRemotePath = intent.getStringExtra(FileDownloader.EXTRA_REMOTE_PATH);
             boolean isDescendant = isDescendant(downloadedRemotePath);
-            
+
             if (sameAccount && isDescendant) {
                 refeshListOfFilesFragment();
                 refreshSecondFragment(intent.getAction(), downloadedRemotePath, intent.getBooleanExtra(FileDownloader.EXTRA_DOWNLOAD_RESULT, false));
             }
-            
+
             removeStickyBroadcast(intent);
         }
 
@@ -917,8 +916,8 @@ public class FileDisplayActivity extends FileActivity implements
             return (accountName != null && getAccount() != null && accountName.equals(getAccount().name));
         }
     }
-    
-    
+
+
     /**
      * {@inheritDoc}
      */
@@ -926,7 +925,7 @@ public class FileDisplayActivity extends FileActivity implements
     public DataStorageManager getStorageManager() {
         return mStorageManager;
     }
-    
+
 
     /**
      * {@inheritDoc}
@@ -938,7 +937,7 @@ public class FileDisplayActivity extends FileActivity implements
         pushDirname(directory);
         cleanSecondFragment();
     }
-    
+
     /**
      * Opens the image gallery showing the image {@link OCFile} received as parameter.
      * 
@@ -951,7 +950,7 @@ public class FileDisplayActivity extends FileActivity implements
         showDetailsIntent.putExtra(EXTRA_ACCOUNT, getAccount());
         startActivity(showDetailsIntent);
     }
-    
+
     /**
      * Stars the preview of an already down media {@link OCFile}.
      * 
@@ -967,7 +966,7 @@ public class FileDisplayActivity extends FileActivity implements
         updateNavigationElementsInActionBar(file);
         setFile(file);
     }
-    
+
     /**
      * Requests the download of the received {@link OCFile} , updates the UI
      * to monitor the download progress and prepares the activity to preview
@@ -986,7 +985,7 @@ public class FileDisplayActivity extends FileActivity implements
         setFile(file);
     }
 
-    
+
     /**
      * Shows the information of the {@link OCFile} received as a 
      * parameter in the second fragment.
@@ -1001,8 +1000,8 @@ public class FileDisplayActivity extends FileActivity implements
         updateNavigationElementsInActionBar(file);
         setFile(file);
     }
-    
-    
+
+
     /**
      * TODO
      */
@@ -1015,7 +1014,7 @@ public class FileDisplayActivity extends FileActivity implements
             actionBar.setDisplayShowTitleEnabled(false);
             actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
             actionBar.setListNavigationCallbacks(mDirectories, this);   // assuming mDirectories is updated
-            
+
         } else {
             actionBar.setDisplayHomeAsUpEnabled(true);
             actionBar.setDisplayShowTitleEnabled(true);
@@ -1023,8 +1022,8 @@ public class FileDisplayActivity extends FileActivity implements
             actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
         }
     }
-    
-    
+
+
     /**
      * {@inheritDoc}
      */
@@ -1034,7 +1033,7 @@ public class FileDisplayActivity extends FileActivity implements
         updateNavigationElementsInActionBar(getSecondFragment().getFile());
     }
 
-    
+
     /**
      * {@inheritDoc}
      */
@@ -1043,7 +1042,7 @@ public class FileDisplayActivity extends FileActivity implements
         return mDownloaderBinder;
     }
 
-    
+
     /**
      * {@inheritDoc}
      */
@@ -1051,8 +1050,8 @@ public class FileDisplayActivity extends FileActivity implements
     public FileUploaderBinder getFileUploaderBinder() {
         return mUploaderBinder;
     }
-    
-    
+
+
     /** Defines callbacks for service binding, passed to bindService() */
     private class ListServiceConnection implements ServiceConnection {
 
@@ -1064,7 +1063,7 @@ public class FileDisplayActivity extends FileActivity implements
                 if (mWaitingToPreview != null) {
                     requestForDownload();
                 }
-                
+
             } else if (component.equals(new ComponentName(FileDisplayActivity.this, FileUploader.class))) {
                 Log_OC.d(TAG, "Upload service connected");
                 mUploaderBinder = (FileUploaderBinder) service;
@@ -1096,8 +1095,8 @@ public class FileDisplayActivity extends FileActivity implements
         }
     };    
 
-    
-    
+
+
     /**
      * Launch an intent to request the PIN code to the user before letting him use the app
      */
@@ -1136,10 +1135,10 @@ public class FileDisplayActivity extends FileActivity implements
     public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationResult result) {
         if (operation instanceof RemoveFileOperation) {
             onRemoveFileOperationFinish((RemoveFileOperation)operation, result);
-                
+
         } else if (operation instanceof RenameFileOperation) {
             onRenameFileOperationFinish((RenameFileOperation)operation, result);
-            
+
         } else if (operation instanceof SynchronizeFileOperation) {
             onSynchronizeFileOperationFinish((SynchronizeFileOperation)operation, result);
 
@@ -1170,7 +1169,7 @@ public class FileDisplayActivity extends FileActivity implements
             if (mStorageManager.getFileById(removedFile.getParentId()).equals(getCurrentDir())) {
                 refeshListOfFilesFragment();
             }
-                
+
         } else {
             Toast msg = Toast.makeText(this, R.string.remove_fail_msg, Toast.LENGTH_LONG); 
             msg.show();
@@ -1191,20 +1190,20 @@ public class FileDisplayActivity extends FileActivity implements
         if (result.isSuccess()) {
             dismissDialog(DIALOG_SHORT_WAIT);
             refeshListOfFilesFragment();
-            
+
         } else {
             dismissDialog(DIALOG_SHORT_WAIT);
             try {
                 Toast msg = Toast.makeText(FileDisplayActivity.this, R.string.create_dir_fail_msg, Toast.LENGTH_LONG); 
                 msg.show();
-                    
+
             } catch (NotFoundException e) {
                 Log_OC.e(TAG, "Error while trying to show fail message " , e);
             }
         }
     }
-    
-    
+
+
     /**
      * Updates the view associated to the activity after the finish of an operation trying to rename a 
      * file. 
@@ -1225,7 +1224,7 @@ public class FileDisplayActivity extends FileActivity implements
             if (mStorageManager.getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
                 refeshListOfFilesFragment();
             }
-            
+
         } else {
             if (result.getCode().equals(ResultCode.INVALID_LOCAL_FILE_NAME)) {
                 Toast msg = Toast.makeText(this, R.string.rename_local_fail_msg, Toast.LENGTH_LONG); 
@@ -1252,17 +1251,17 @@ public class FileDisplayActivity extends FileActivity implements
                 i.putExtra(ConflictsResolveActivity.EXTRA_FILE, syncedFile);
                 i.putExtra(ConflictsResolveActivity.EXTRA_ACCOUNT, getAccount());
                 startActivity(i);
-                
+
             } else {
                 Toast msg = Toast.makeText(this, R.string.sync_file_fail_msg, Toast.LENGTH_LONG); 
                 msg.show();
             }
-            
+
         } else {
             if (operation.transferWasRequested()) {
                 refeshListOfFilesFragment();
                 onTransferStateChanged(syncedFile, true, true);
-                
+
             } else {
                 Toast msg = Toast.makeText(this, R.string.sync_file_nothing_to_do_msg, Toast.LENGTH_LONG); 
                 msg.show();
@@ -1295,22 +1294,22 @@ public class FileDisplayActivity extends FileActivity implements
             Log_OC.d(TAG, "'create directory' dialog dismissed with new name " + newDirectoryName);
             if (newDirectoryName.length() > 0) {
                 String path = getCurrentDir().getRemotePath();
-                
+
                 // Create directory
                 path += newDirectoryName + OCFile.PATH_SEPARATOR;
                 RemoteOperation operation = new CreateFolderOperation(path, getCurrentDir().getFileId(), mStorageManager);
                 operation.execute(  getAccount(), 
-                                    FileDisplayActivity.this, 
-                                    FileDisplayActivity.this, 
-                                    mHandler,
-                                    FileDisplayActivity.this);
-                
+                        FileDisplayActivity.this, 
+                        FileDisplayActivity.this, 
+                        mHandler,
+                        FileDisplayActivity.this);
+
                 showDialog(DIALOG_SHORT_WAIT);
             }
         }
     }
-    
-    
+
+
     private void requestForDownload() {
         Account account = getAccount();
         if (!mDownloaderBinder.isDownloading(account, mWaitingToPreview)) {
@@ -1320,8 +1319,8 @@ public class FileDisplayActivity extends FileActivity implements
             startService(i);
         }
     }
-    
-    
+
+
     private OCFile getCurrentDir() {
         OCFile file = getFile();
         if (file != null) {
index 16c74d3..3e8eecd 100644 (file)
@@ -98,7 +98,6 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         return 0;\r
     }\r
 \r
-    \r
     @Override\r
     public View getView(int position, View convertView, ViewGroup parent) {\r
         View view = convertView;\r
@@ -163,20 +162,11 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                 \r
             } \r
             else {\r
-               \r
-               getDirectorySizeNumber(file,true);\r
-               if (lastModifiedOfAllSubdirectories == null)\r
-               {\r
-                   lastModV.setVisibility(View.GONE);\r
-                   fileSizeV.setVisibility(View.GONE);\r
-               }\r
-               else\r
-               {\r
-                   lastModV.setVisibility(View.VISIBLE);\r
-                   lastModV.setText(DisplayUtils.unixTimeToHumanReadable(lastModifiedOfAllSubdirectories));\r
-                   fileSizeV.setVisibility(View.VISIBLE);\r
-                   fileSizeV.setText(DisplayUtils.bytesToHumanReadable((totalSizeOfDirectoriesRecursive == null) ? 0 : totalSizeOfDirectoriesRecursive));\r
-               }\r
+                \r
+                fileSizeV.setVisibility(View.VISIBLE);\r
+                fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
+                lastModV.setVisibility(View.VISIBLE);\r
+                lastModV.setText(DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp()));\r
                checkBoxV.setVisibility(View.GONE);\r
                view.findViewById(R.id.imageView3).setVisibility(View.GONE);\r
             }\r
@@ -184,40 +174,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
         return view;\r
     }\r
-    \r
-    \r
-    /**\r
-     * - This method counts recursively all subdirectories and their files from the root directory. \r
-     * - It also shows a timestamp of the last modificated file inside the root directory\r
-     * \r
-     *   @param OCFile  : startDirectory\r
-     *   @param boolean :  counting starts from here ?\r
-     */\r
-    private void getDirectorySizeNumber(OCFile directory,boolean startOfRecursive) {\r
-        if (startOfRecursive) {\r
-            totalSizeOfDirectoriesRecursive = null;\r
-        }\r
-        Vector<OCFile> files  = mStorageManager.getDirectoryContent(directory);\r
-        for (OCFile file : files) {\r
-            if(!file.isDirectory()) {\r
-                if (totalSizeOfDirectoriesRecursive == null) {\r
-                    totalSizeOfDirectoriesRecursive = file.getFileLength();\r
-                    lastModifiedOfAllSubdirectories = file.getModificationTimestamp();\r
-                    continue;\r
-                }\r
-                \r
-                totalSizeOfDirectoriesRecursive += file.getFileLength();\r
-                if (lastModifiedOfAllSubdirectories < file.getModificationTimestamp()) {\r
-                    lastModifiedOfAllSubdirectories = file.getModificationTimestamp();\r
-                }\r
-            }\r
-            else {\r
-                this.getDirectorySizeNumber(file, false);\r
-            }\r
-        }\r
-    }\r
-    \r
-    \r
+\r
     @Override\r
     public int getViewTypeCount() {\r
         return 1;\r
index 5ae80c1..c674442 100644 (file)
@@ -107,6 +107,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName
         getListView().setOnCreateContextMenuListener(this);        
         
         mHandler = new Handler();
+
     }
     
     /**
@@ -117,7 +118,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName
         super.onSaveInstanceState(outState);
         outState.putParcelable(EXTRA_FILE, mFile);
     }
-    
+
 
     /**
      * Call this, when the user presses the up button
@@ -370,6 +371,7 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName
                 mList.setSelectionFromTop(0, 0);
             }
             mFile = directory;
+
         }
     }
     
index dda7b5a..29553c4 100644 (file)
@@ -74,4 +74,5 @@ public class FileStorageUtils {
         String value = uploadPath + OCFile.PATH_SEPARATOR +  (fileName == null ? "" : fileName);
         return value;
     }
+  
 }
\ No newline at end of file