From: David A. Velasco Date: Tue, 12 Aug 2014 10:17:04 +0000 (+0200) Subject: Merge pull request #587 from owncloud/improved_fullscreen_for_gallery X-Git-Tag: oc-android-1.7.0_signed~221 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/20e41c81ffa30d60b31a95a315ed863ecd6fdb8c?hp=49dff310ca4468cbb7e93aef1a334f7426ce94f2 Merge pull request #587 from owncloud/improved_fullscreen_for_gallery Improved full screen in gallery of images --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 5a86dcf5..242586aa 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -156,7 +156,6 @@ - diff --git a/res/menu/account_picker.xml b/res/menu/account_picker.xml deleted file mode 100644 index 8532600c..00000000 --- a/res/menu/account_picker.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 72c0c17c..1cda6083 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -249,4 +249,5 @@ حدث خطأ أثناء إنتظار الخادم، لم يكن من الممكن القيام بالعملية تعذر إكمال العملية، الخادم غير متوفر + حسابات diff --git a/res/values-bg-rBG/strings.xml b/res/values-bg-rBG/strings.xml index 92832098..519e4557 100644 --- a/res/values-bg-rBG/strings.xml +++ b/res/values-bg-rBG/strings.xml @@ -259,4 +259,7 @@ за създаване на файла за качване в тази папка Файлът вече не се намира на този сървър + Профили + Добави профил + Подсигурената връзка бе пренасочена към не подсигурен канал. diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml index 3e2189e7..0279cccd 100644 --- a/res/values-bn-rBD/strings.xml +++ b/res/values-bn-rBD/strings.xml @@ -36,4 +36,5 @@ অপসারণ পাঠাও + একাউন্ট diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index a3dada0c..60464db3 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -249,4 +249,5 @@ Hi ha hagut un error esperant el servidor, l\'operació no s\'ha pogut realitzar La operació no s\'ha pogut completar, no es pot accedir al servidor + Comptes diff --git a/res/values-cs-rCZ/strings.xml b/res/values-cs-rCZ/strings.xml index 19ea2ffb..c036c920 100644 --- a/res/values-cs-rCZ/strings.xml +++ b/res/values-cs-rCZ/strings.xml @@ -259,4 +259,7 @@ vytvořit tento soubor nahrávat do tohoto adresáře Soubor není již více dostupný na tomto serveru + Účty + Přidat účet + Bezpečené spojení je přesměrováno na nezabezpečenou trasu. diff --git a/res/values-cy-rGB/strings.xml b/res/values-cy-rGB/strings.xml index 7582370a..9e3cdcf9 100644 --- a/res/values-cy-rGB/strings.xml +++ b/res/values-cy-rGB/strings.xml @@ -140,4 +140,5 @@ Peidio llwytho i fyny Anfon + Cyfrifon diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 24227f04..d767414d 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -258,4 +258,5 @@ til at oprette filen til at overføre til denne mappe Filen er ikke længere tilgængelig på serveren + Konti diff --git a/res/values-de-rCH/strings.xml b/res/values-de-rCH/strings.xml index 15d59720..f9b11625 100644 --- a/res/values-de-rCH/strings.xml +++ b/res/values-de-rCH/strings.xml @@ -196,4 +196,5 @@ Senden In die Zwischenablage kopiert + Konten diff --git a/res/values-de-rDE/strings.xml b/res/values-de-rDE/strings.xml index 9bbd03c5..d6e77240 100644 --- a/res/values-de-rDE/strings.xml +++ b/res/values-de-rDE/strings.xml @@ -259,4 +259,7 @@ eine Datei zu erstellen in diesem Order etwas hochzuladen Diese Datei steht auf dem Server nicht mehr zur Verfügung + Konten + Konto hinzufügen + Die gesicherte Verbindung wird auf eine nicht sichere Route weitergeleitet. diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 5e18cfa6..35bbc42b 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -259,4 +259,7 @@ eine Datei zu erstellen in diesem Order etwas hochzuladen Diese Datei steht auf dem Server nicht mehr zur Verfügung + Konten + Konto hinzufügen + Die gesicherte Verbindung wird auf eine nicht sichere Route weitergeleitet. diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 4f86e90a..9fc1261c 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -259,4 +259,5 @@ για να δημιουργήσετε το αρχείο για να μεταφορτώσετε σε αυτό τον κατάλογο Αυτό το αρχείο δεν είναι πια διαθέσιμο στο διακομιστή + Λογαριασμοί diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 3dea2229..af92293c 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -259,4 +259,7 @@ to create the file to upload to this folder The file is no longer available on the server + Accounts + Add account + Secure connection is redirected through an unsecured route. diff --git a/res/values-eo/strings.xml b/res/values-eo/strings.xml index 7ef1f5a0..ec8bf420 100644 --- a/res/values-eo/strings.xml +++ b/res/values-eo/strings.xml @@ -182,4 +182,5 @@ Kopiita en la tondejon Eraro okazis dum konekto al la servilo. + Kontoj diff --git a/res/values-es-rAR/strings.xml b/res/values-es-rAR/strings.xml index b5ebf63f..8666869d 100644 --- a/res/values-es-rAR/strings.xml +++ b/res/values-es-rAR/strings.xml @@ -225,4 +225,5 @@ Mandar Copiado al portapapeles + Cuentas diff --git a/res/values-es-rCL/strings.xml b/res/values-es-rCL/strings.xml index d40b4595..aac7b534 100644 --- a/res/values-es-rCL/strings.xml +++ b/res/values-es-rCL/strings.xml @@ -166,4 +166,5 @@ No subir %1$s no pudo ser copiado a la carpeta local %2$s + Cuentas diff --git a/res/values-es-rMX/strings.xml b/res/values-es-rMX/strings.xml index 5d8b169f..3a8bca88 100644 --- a/res/values-es-rMX/strings.xml +++ b/res/values-es-rMX/strings.xml @@ -212,4 +212,5 @@ Enviar Copiado al portapapeles + Cuentas diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index de3293c6..2cd80025 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -259,4 +259,7 @@ para crear el archivo para subir archivos a esta carpeta Este archivo ya no se encuentra en el servidor + Cuentas + Agregar cuenta + La conexión segura está siendo redirigida por una ruta insegura. diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml index f408ff85..530fc038 100644 --- a/res/values-et-rEE/strings.xml +++ b/res/values-et-rEE/strings.xml @@ -258,4 +258,5 @@ faili loomiseks sellesse kausta laadimiseks Fail ei ole serveris enam kättesaadav + Kontod diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 022d79d6..33a77371 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -259,4 +259,7 @@ fitxategia sortzeko karpeta honetara igotzeko Fitxategia jadanik ez dago eskuragarri zerbitzarian + Kontuak + Gehitu kontua + Konexio segurua birbideratu da segurua ez den bide batetik. diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 10aca1f4..cfbcaf89 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -218,4 +218,5 @@ ارسال کپی به کلیپ بورد + حساب‌ها diff --git a/res/values-fi-rFI/strings.xml b/res/values-fi-rFI/strings.xml index b7a19ef6..c7d652b4 100644 --- a/res/values-fi-rFI/strings.xml +++ b/res/values-fi-rFI/strings.xml @@ -236,4 +236,7 @@ luoda tiedostoa lähettää tähän kansioon Tämä tiedosto ei ole enää palvelimella käytettävissä + Tilit + Lisää tili + Salattu yhteys on ohjattu uudelleen salaamattoman reitin kautta. diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 4e44daa6..557817ca 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -51,6 +51,7 @@ Téléversement Il n\'y a rien ici ! Envoyez donc quelque chose :) Chargement… + Aucun fichier n\'est présent dans ce dossier. Effleurez un fichier pour afficher les informations complémentaires Taille : Type : @@ -258,4 +259,6 @@ afin de créer ce fichier afin d’importer dans ce répertoire Ce fichier n’est plus disponible sur le serveur + Comptes + Ajouter un compte diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 2bc0b281..00b9ff6f 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -259,4 +259,7 @@ para crear o ficheiro para envialo a este cartafol O ficheiro xa non está dispoñíbel no servidor + Contas + Engadir unha conta + A conexión segura está a ser redirixida a través dunha ruta non segura. diff --git a/res/values-he/strings.xml b/res/values-he/strings.xml index a00eccb6..2d2f5fe2 100644 --- a/res/values-he/strings.xml +++ b/res/values-he/strings.xml @@ -158,4 +158,5 @@ לא להעלות שליחה + חשבונות diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index e51e255e..ebedad5a 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -26,4 +26,5 @@ Promjeni ime Makni + Korisnićki računi diff --git a/res/values-hu-rHU/strings.xml b/res/values-hu-rHU/strings.xml index ad18e4b1..eb6be0c9 100644 --- a/res/values-hu-rHU/strings.xml +++ b/res/values-hu-rHU/strings.xml @@ -222,4 +222,5 @@ Link másolása Bemásolva a vágólapra + Fiókok diff --git a/res/values-id/strings.xml b/res/values-id/strings.xml index 87160fd5..f85c603d 100644 --- a/res/values-id/strings.xml +++ b/res/values-id/strings.xml @@ -208,4 +208,5 @@ Pratilik gambar Kirim + Akun diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 24506cd5..9c031dc1 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -259,4 +259,7 @@ per creare il file per caricare in questa cartella Il file non è più disponibile sul server + Account + Aggiungi account + La connessione sicura è rediretta su un percorso non sicuro. diff --git a/res/values-ja-rJP/strings.xml b/res/values-ja-rJP/strings.xml index 59cc9259..ecff774a 100644 --- a/res/values-ja-rJP/strings.xml +++ b/res/values-ja-rJP/strings.xml @@ -259,4 +259,5 @@ ファイルを作成 フォルダをアップロード ファイルはサーバー上で利用できません + アカウント diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml index 9cc07091..58a17943 100644 --- a/res/values-ka-rGE/strings.xml +++ b/res/values-ka-rGE/strings.xml @@ -147,4 +147,5 @@ გაგზავნა კოპირებულია კლიპბორდში + ანგარიში diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 3c56c1f1..99189501 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -80,4 +80,5 @@ ហត្ថលេខា: ផ្ញើ + គណនី diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 1deb5729..b0946dec 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -213,4 +213,5 @@ 링크 복사 클립보드로 복사됨 + 계정 diff --git a/res/values-ku-rIQ/strings.xml b/res/values-ku-rIQ/strings.xml index 39537b40..2e843f2d 100644 --- a/res/values-ku-rIQ/strings.xml +++ b/res/values-ku-rIQ/strings.xml @@ -28,4 +28,5 @@ هه‌ڵه ناوی بوخچه + هەژمارەکان diff --git a/res/values-lb/strings.xml b/res/values-lb/strings.xml index 5ce3b391..3a61076f 100644 --- a/res/values-lb/strings.xml +++ b/res/values-lb/strings.xml @@ -83,4 +83,5 @@ Net eroplueden Schécken + Accounten diff --git a/res/values-lt-rLT/strings.xml b/res/values-lt-rLT/strings.xml index 5a5919c0..e3c0507c 100644 --- a/res/values-lt-rLT/strings.xml +++ b/res/values-lt-rLT/strings.xml @@ -227,4 +227,5 @@ Kopijuoti nuorodą Nukopijuota į talpyklę + Paskyros diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 3d1db10d..6a93703f 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -141,4 +141,5 @@ Neaugšupielādēt Sūtīt + Konti diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index a918e116..c230c066 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -118,4 +118,5 @@ Препиши Прати + Сметки diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml index 29cf818b..af534d2e 100644 --- a/res/values-ms-rMY/strings.xml +++ b/res/values-ms-rMY/strings.xml @@ -45,4 +45,5 @@ Buang Lokal sahaja + Akaun diff --git a/res/values-nb-rNO/strings.xml b/res/values-nb-rNO/strings.xml index 691383f5..30f0b1b6 100644 --- a/res/values-nb-rNO/strings.xml +++ b/res/values-nb-rNO/strings.xml @@ -51,6 +51,7 @@ Laster opp Ingenting her. Last opp noe! Laster... + Det er ingen filer i denne mappen. Trykk på en fil for å vise ekstra informasjon. Størrelse: Type: @@ -258,4 +259,5 @@ å opprette filen å laste opp i denne mappen Filen finnes ikke på serveren lenger + Kontoer diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 9604d2b3..e6cd1c35 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -259,4 +259,7 @@ om dit bestand te creëren om dit bestand in deze map te uploaden Dit bestand is niet langer beschikbaar op de server + Accounts + Toevoegen account + De beveiligde verbinding is omgeleid via een onveilige route. diff --git a/res/values-nn-rNO/strings.xml b/res/values-nn-rNO/strings.xml index 7d5d93aa..b55f7a5b 100644 --- a/res/values-nn-rNO/strings.xml +++ b/res/values-nn-rNO/strings.xml @@ -107,4 +107,5 @@ Berre last opp bilete over WiFi Send + Kontoar diff --git a/res/values-oc/strings.xml b/res/values-oc/strings.xml index 97d740cc..41a8e1f3 100644 --- a/res/values-oc/strings.xml +++ b/res/values-oc/strings.xml @@ -40,4 +40,5 @@ Dintras ton PIN d\'App, se te plai Torna nomenar + Comptes diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index e2704840..bb2e140d 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -118,4 +118,5 @@ ਚਿੱਤਰ ਝਲਕ ਭੇਜੋ + ਅਕਾਊਂਟ diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index f0285b40..ad84782b 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -258,4 +258,5 @@ do utworzenia tego pliku do wgrania tego folderu Ten plik nie jest już dostępny na serwerze + Konta diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index 06865580..a741d52c 100644 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -259,4 +259,7 @@ para criar este arquivo para enviar para esta pasta Este arquivo não mais está disponível neste servidor + Contas + Adicionar uma conta + Conexão segura é redirecionada através de uma via não segura. diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 8fdfe0d0..fff288eb 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -259,4 +259,6 @@ para criar o ficheiro para carregar dentro desta pasta O ficheiro não está mais disponível no servidor + Contas + Uma ligação segura foi redireccionada por uma rota insegura. diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 0ee674d1..7da935aa 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -259,4 +259,5 @@ pentru a crea fisierul pentru a încărca în acest folder Fișierul nu mai este disponibil pe server + Conturi diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 5e1e6576..f71dcafd 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -259,4 +259,5 @@ создать файл загрузить в эту папку Этот файл больше недоступен на сервере + Учётные записи diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml index 50bc87b4..a691a790 100644 --- a/res/values-si-rLK/strings.xml +++ b/res/values-si-rLK/strings.xml @@ -72,4 +72,5 @@ ගොනුවක් තෝරා නැත සඟවන්න + ගිණුම් diff --git a/res/values-sk-rSK/strings.xml b/res/values-sk-rSK/strings.xml index bcf7ac5b..412e02fd 100644 --- a/res/values-sk-rSK/strings.xml +++ b/res/values-sk-rSK/strings.xml @@ -247,4 +247,5 @@ Pri čakaní na odpoveď servera nastala chyba, operácia nemohla byť dokončená Operácia nemohla byť dokončená, server je nedostupný + Účty diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index bc2db411..fe5d428a 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -49,8 +49,9 @@ Ni prejete vsebine. Ni datotek za pošiljanje. Oblak %1$s nima nastavljenih dovoljenj za dostop do vsebine v souporabi Pošiljanje - Tukaj še ni ničesar. Najprej je treba kakšno datoteko poslati v oblak! + Tukaj še ni ničesar. Najprej je treba datoteke poslati v oblak! Poteka nalaganje ... + V tej mapi ni datotek. Pritisnite na datoteko za prikaz dodatnih podrobnosti. Velikost: Vrsta: @@ -258,4 +259,7 @@ za ustvarjanje datoteke. za pošiljanje datoteke v oblak. Datoteka na strežniku ni več na voljo. + Računi + Dodaj račun + Varna povezava je preusmerjena preko ne-varne poti. diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 723af46d..072f0e01 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -69,4 +69,5 @@ Hiq Dërgo + Llogarit diff --git a/res/values-sr-rSP/strings.xml b/res/values-sr-rSP/strings.xml index 59563839..45affc3d 100644 --- a/res/values-sr-rSP/strings.xml +++ b/res/values-sr-rSP/strings.xml @@ -53,4 +53,5 @@ Zadrži oboje Pošalji + Nalozi diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 0c3eb1e6..eab4116d 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -107,4 +107,5 @@ Ажурирај сукоб Пошаљи + Налози diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 4b9c6615..abc912c7 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -249,4 +249,5 @@ Ett fel uppstod i väntan på servern, operationen kunde inte ha gjorts Åtgärden kunte inte slutföras, servern är ej tillgänglig + Konton diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml index ff574274..9cce7aeb 100644 --- a/res/values-ta-rIN/strings.xml +++ b/res/values-ta-rIN/strings.xml @@ -30,4 +30,5 @@ விவரங்கள் அனுப்பவும் + கணக்குகள் diff --git a/res/values-ta-rLK/strings.xml b/res/values-ta-rLK/strings.xml index 7b44d0e6..fe44dd66 100644 --- a/res/values-ta-rLK/strings.xml +++ b/res/values-ta-rLK/strings.xml @@ -135,4 +135,5 @@ மேலெழுதல் பதிவேற்ற வேண்டாம் + கணக்குகள் diff --git a/res/values-th-rTH/strings.xml b/res/values-th-rTH/strings.xml index 67a97827..815f64a8 100644 --- a/res/values-th-rTH/strings.xml +++ b/res/values-th-rTH/strings.xml @@ -148,4 +148,5 @@ ไม่ต้องอัพโหลด ส่ง + บัญชี diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 00a802bb..43b9391e 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -259,4 +259,7 @@ Dosya oluşturma Bu klasöre yükleme Bu dosya artık sunucuda mevcut değil + Hesaplar + Hesap ekle + Güvenli bağlantı, güvenli olmayan bir rotaya yönlendiriliyor. diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml index 64460e3f..b126d897 100644 --- a/res/values-ug/strings.xml +++ b/res/values-ug/strings.xml @@ -40,4 +40,5 @@ چىقىرىۋەت يوللا + ھېساباتلار diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 4a78942d..7d0fca53 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -152,4 +152,5 @@ Надіслати Скопійовано в буфер обміну + Облікові записи diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 7d668867..7785cb18 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -217,4 +217,5 @@ Một lỗi đã xảy ra khi thử gỡ chia sẻ file hoặc thư mục này Gởi + Tài khoản diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index f1064c2f..c1a4d75f 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -250,4 +250,5 @@ 等待服务器响应时发生了一个错误,此操作无法完成 服务器不可用,此操作无法完成 + 账号 diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 00e66d35..72bb5ece 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -66,4 +66,5 @@ 傳送 複製連結 + 帳號 diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 9741c6fb..073eec72 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -247,4 +247,5 @@ 在等待伺服器回應時發生了錯誤, 這個操作將無法被完成 這個操作無法完成, 無法使用伺服器 + 帳號 diff --git a/res/values/strings.xml b/res/values/strings.xml index 79b1d2f9..b6cfbe67 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -282,6 +282,8 @@ to upload in this folder The file is no longer available on the server - Secure connection is redirected through a non secure route. + Accounts + Add account + Secure connection is redirected through an unsecured route. diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 69b4b284..945e853c 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -18,14 +18,15 @@ along with this program. If not, see . --> - + + + - . - * - */ - -package com.owncloud.android.ui; - -import android.content.Context; -import android.preference.Preference; -import android.util.AttributeSet; -import android.view.View; -import android.widget.TextView; - -/** - * Allow multiline titles in preferences - * - * @author masensio - * - */ -public class PreferenceMultiline extends Preference { - - public PreferenceMultiline(Context context) { - super(context); - } - - public PreferenceMultiline(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public PreferenceMultiline(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onBindView(View view) { - super.onBindView(view); - TextView titleView = (TextView) view.findViewById(android.R.id.title); - titleView.setSingleLine(false); - titleView.setMaxLines(3); - } -} diff --git a/src/com/owncloud/android/ui/activity/AccountSelectActivity.java b/src/com/owncloud/android/ui/activity/AccountSelectActivity.java deleted file mode 100644 index 27ce4d94..00000000 --- a/src/com/owncloud/android/ui/activity/AccountSelectActivity.java +++ /dev/null @@ -1,269 +0,0 @@ -/* ownCloud Android client application - * Copyright (C) 2012 Bartek Przybylski - * Copyright (C) 2012-2013 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 . - * - */ - -package com.owncloud.android.ui.activity; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import android.accounts.Account; -import android.accounts.AccountManager; -import android.accounts.AccountManagerCallback; -import android.accounts.AccountManagerFuture; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.os.Handler; -import android.view.ContextMenu; -import android.view.View; -import android.view.ViewGroup; -import android.view.ContextMenu.ContextMenuInfo; -import android.widget.AdapterView.AdapterContextMenuInfo; -import android.widget.CheckedTextView; -import android.widget.ListView; -import android.widget.SimpleAdapter; -import android.widget.TextView; - -import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.SherlockListActivity; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; -import com.actionbarsherlock.view.MenuItem; -import com.owncloud.android.authentication.AuthenticatorActivity; -import com.owncloud.android.authentication.AccountUtils; -import com.owncloud.android.lib.common.accounts.AccountUtils.Constants; -import com.owncloud.android.utils.DisplayUtils; -import com.owncloud.android.utils.Log_OC; -import com.owncloud.android.MainApp; -import com.owncloud.android.R; - - -public class AccountSelectActivity extends SherlockListActivity implements - AccountManagerCallback { - - private static final String TAG = "AccountSelectActivity"; - - private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT"; - - private final Handler mHandler = new Handler(); - private Account mPreviousAccount = null; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - if (savedInstanceState != null) { - mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY); - } else { - mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this); - } - - ActionBar actionBar = getSupportActionBar(); - actionBar.setIcon(DisplayUtils.getSeasonalIconId()); - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setDisplayHomeAsUpEnabled(false); - } - - @Override - protected void onResume() { - super.onResume(); - populateAccountList(); - } - - @Override - protected void onPause() { - if (this.isFinishing()) { - Account current = AccountUtils.getCurrentOwnCloudAccount(this); - if ((mPreviousAccount == null && current != null) || - (mPreviousAccount != null && !mPreviousAccount.equals(current))) { - /// the account set as default changed since this activity was created - - // restart the main activity - Intent i = new Intent(this, FileDisplayActivity.class); - i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - startActivity(i); - } - } - super.onPause(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Show Create Account if Multiaccount is enabled - if (getResources().getBoolean(R.bool.multiaccount_support)) { - MenuInflater inflater = getSherlock().getMenuInflater(); - inflater.inflate(R.menu.account_picker, menu); - } - return true; - } - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, - ContextMenuInfo menuInfo) { - getMenuInflater().inflate(R.menu.account_picker_long_click, menu); - super.onCreateContextMenu(menu, v, menuInfo); - } - - @Override - protected void onListItemClick(ListView l, View v, int position, long id) { - String accountName = ((TextView) v.findViewById(android.R.id.text1)) - .getText().toString(); - AccountUtils.setCurrentOwnCloudAccount(this, accountName); - finish(); // immediate exit - } - - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { - if (item.getItemId() == R.id.createAccount) { - /*Intent intent = new Intent( - android.provider.Settings.ACTION_ADD_ACCOUNT); - intent.putExtra("authorities", - new String[] { MainApp.getAuthTokenType() }); - startActivity(intent);*/ - AccountManager am = AccountManager.get(getApplicationContext()); - am.addAccount(MainApp.getAccountType(), - null, - null, - null, - this, - null, - null); - return true; - } - return false; - } - - /** - * Called when the user clicked on an item into the context menu created at - * {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for every - * ownCloud {@link Account} , containing 'secondary actions' for them. - * - * {@inheritDoc}} - */ - @SuppressWarnings("unchecked") - @Override - public boolean onContextItemSelected(android.view.MenuItem item) { - AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); - int index = info.position; - HashMap map = null; - try { - map = (HashMap) getListAdapter().getItem(index); - } catch (ClassCastException e) { - Log_OC.wtf(TAG, "getitem(index) from list adapter did not return hashmap, bailing out"); - return false; - } - - String accountName = map.get("NAME"); - AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); - Account accounts[] = am.getAccountsByType(MainApp.getAccountType()); - for (Account a : accounts) { - if (a.name.equals(accountName)) { - if (item.getItemId() == R.id.change_password) { - Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class); - updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a); - updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION, AuthenticatorActivity.ACTION_UPDATE_TOKEN); - startActivity(updateAccountCredentials); - - } else if (item.getItemId() == R.id.delete_account) { - am.removeAccount(a, this, mHandler); - } - } - } - - return true; - } - - private void populateAccountList() { - AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); - Account accounts[] = am - .getAccountsByType(MainApp.getAccountType()); - if (am.getAccountsByType(MainApp.getAccountType()).length == 0) { - // Show create account screen if there isn't any account - am.addAccount(MainApp.getAccountType(), - null, - null, - null, - this, - null, - null); - } - else { - LinkedList> ll = new LinkedList>(); - for (Account a : accounts) { - HashMap h = new HashMap(); - h.put("NAME", a.name); - h.put("VER", - "ownCloud version: " - + am.getUserData(a, - Constants.KEY_OC_VERSION)); - ll.add(h); - } - - setListAdapter(new AccountCheckedSimpleAdepter(this, ll, - android.R.layout.simple_list_item_single_choice, - new String[] { "NAME" }, new int[] { android.R.id.text1 })); - registerForContextMenu(getListView()); - } - } - - @Override - public void run(AccountManagerFuture future) { - if (future.isDone()) { - Account a = AccountUtils.getCurrentOwnCloudAccount(this); - String accountName = ""; - if (a == null) { - Account[] accounts = AccountManager.get(this) - .getAccountsByType(MainApp.getAccountType()); - if (accounts.length != 0) - accountName = accounts[0].name; - AccountUtils.setCurrentOwnCloudAccount(this, accountName); - } - populateAccountList(); - } - } - - private class AccountCheckedSimpleAdepter extends SimpleAdapter { - private Account mCurrentAccount; - private List> mPrivateData; - - public AccountCheckedSimpleAdepter(Context context, - List> data, int resource, - String[] from, int[] to) { - super(context, data, resource, from, to); - mCurrentAccount = AccountUtils - .getCurrentOwnCloudAccount(AccountSelectActivity.this); - mPrivateData = data; - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - View v = super.getView(position, convertView, parent); - CheckedTextView ctv = (CheckedTextView) v - .findViewById(android.R.id.text1); - if (mPrivateData.get(position).get("NAME") - .equals(mCurrentAccount.name)) { - ctv.setChecked(true); - } - return v; - } - - } - -} diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 1f18ca8a..27113686 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -18,26 +18,40 @@ package com.owncloud.android.ui.activity; import android.accounts.Account; +import android.accounts.AccountManager; +import android.accounts.AccountManagerCallback; +import android.accounts.AccountManagerFuture; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceCategory; import android.preference.PreferenceManager; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.View; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemLongClickListener; +import android.widget.ListAdapter; +import android.widget.ListView; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockPreferenceActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; +import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; +import com.owncloud.android.authentication.AuthenticatorActivity; import com.owncloud.android.db.DbHandler; +import com.owncloud.android.ui.LongClickableCheckBoxPreference; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.Log_OC; @@ -48,15 +62,24 @@ import com.owncloud.android.utils.Log_OC; * @author Bartek Przybylski * @author David A. Velasco */ -public class Preferences extends SherlockPreferenceActivity { +public class Preferences extends SherlockPreferenceActivity implements AccountManagerCallback { private static final String TAG = "OwnCloudPreferences"; + + private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT"; + private DbHandler mDbHandler; private CheckBoxPreference pCode; //private CheckBoxPreference pLogging; //private Preference pLoggingHistory; private Preference pAboutApp; + private Account mPreviousAccount = null; + private PreferenceCategory mAccountsPrefCategory = null; + private final Handler mHandler = new Handler(); + private String mAccountName; + private boolean mShowContextMenu = false; + @SuppressWarnings("deprecation") @Override @@ -64,22 +87,44 @@ public class Preferences extends SherlockPreferenceActivity { super.onCreate(savedInstanceState); mDbHandler = new DbHandler(getBaseContext()); addPreferencesFromResource(R.xml.preferences); - //populateAccountList(); + ActionBar actionBar = getSherlock().getActionBar(); actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); - Preference p = findPreference("manage_account"); - if (p != null) - p.setOnPreferenceClickListener(new OnPreferenceClickListener() { + if (savedInstanceState != null) { + mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY); + } else { + mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this); + } + + // Load the accounts category for adding the list of accounts + mAccountsPrefCategory = (PreferenceCategory) findPreference("accounts_category"); + + ListView listView = getListView(); + listView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override - public boolean onPreferenceClick(Preference preference) { - Intent i = new Intent(getApplicationContext(), AccountSelectActivity.class); - startActivity(i); - return true; + public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + ListView listView = (ListView) parent; + ListAdapter listAdapter = listView.getAdapter(); + Object obj = listAdapter.getItem(position); + + if (obj != null && obj instanceof LongClickableCheckBoxPreference) { + mShowContextMenu = true; + mAccountName = obj.toString(); + + Preferences.this.openContextMenu(listView); + + View.OnLongClickListener longListener = (View.OnLongClickListener) obj; + return longListener.onLongClick(view); + } + return false; } }); - + + // Register context menu for list of preferences. + registerForContextMenu(getListView()); + pCode = (CheckBoxPreference) findPreference("set_pincode"); if (pCode != null){ pCode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @@ -95,8 +140,6 @@ public class Preferences extends SherlockPreferenceActivity { }); } - - PreferenceCategory preferenceCategory = (PreferenceCategory) findPreference("more"); @@ -260,11 +303,74 @@ public class Preferences extends SherlockPreferenceActivity { } @Override + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { + + // Filter for only showing contextual menu when long press on the + // accounts + if (mShowContextMenu) { + getMenuInflater().inflate(R.menu.account_picker_long_click, menu); + mShowContextMenu = false; + } + super.onCreateContextMenu(menu, v, menuInfo); + } + + /** + * Called when the user clicked on an item into the context menu created at + * {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for + * every ownCloud {@link Account} , containing 'secondary actions' for them. + * + * {@inheritDoc} + */ + @Override + public boolean onContextItemSelected(android.view.MenuItem item) { + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am.getAccountsByType(MainApp.getAccountType()); + for (Account a : accounts) { + if (a.name.equals(mAccountName)) { + if (item.getItemId() == R.id.change_password) { + + // Change account password + Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class); + updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a); + updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION, + AuthenticatorActivity.ACTION_UPDATE_TOKEN); + startActivity(updateAccountCredentials); + + } else if (item.getItemId() == R.id.delete_account) { + + // Remove account + am.removeAccount(a, this, mHandler); + } + } + } + + return true; + } + + @Override + public void run(AccountManagerFuture future) { + if (future.isDone()) { + Account a = AccountUtils.getCurrentOwnCloudAccount(this); + String accountName = ""; + if (a == null) { + Account[] accounts = AccountManager.get(this).getAccountsByType(MainApp.getAccountType()); + if (accounts.length != 0) + accountName = accounts[0].name; + AccountUtils.setCurrentOwnCloudAccount(this, accountName); + } + addAccountsCheckboxPreferences(); + } + } + + @Override protected void onResume() { super.onResume(); SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); boolean state = appPrefs.getBoolean("set_pincode", false); pCode.setChecked(state); + + // Populate the accounts category with the list of accounts + addAccountsCheckboxPreferences(); } @Override @@ -301,5 +407,110 @@ public class Preferences extends SherlockPreferenceActivity { mDbHandler.close(); super.onDestroy(); } - + + /** + * Create the list of accounts that has been added into the app + */ + @SuppressWarnings("deprecation") + private void addAccountsCheckboxPreferences() { + + // Remove accounts in case list is refreshing for avoiding to have + // duplicate items + if (mAccountsPrefCategory.getPreferenceCount() > 0) { + mAccountsPrefCategory.removeAll(); + } + + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am.getAccountsByType(MainApp.getAccountType()); + Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(getApplicationContext()); + + if (am.getAccountsByType(MainApp.getAccountType()).length == 0) { + // Show create account screen if there isn't any account + am.addAccount(MainApp.getAccountType(), null, null, null, this, + null, + null); + } + else { + + for (Account a : accounts) { + LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this); + accountPreference.setKey(a.name); + accountPreference.setTitle(a.name); + mAccountsPrefCategory.addPreference(accountPreference); + + // Check the current account that is being used + if (a.name.equals(currentAccount.name)) { + accountPreference.setChecked(true); + } else { + accountPreference.setChecked(false); + } + + accountPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + String key = preference.getKey(); + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am.getAccountsByType(MainApp.getAccountType()); + for (Account a : accounts) { + CheckBoxPreference p = (CheckBoxPreference) findPreference(a.name); + if (key.equals(a.name)) { + p.setChecked(true); + AccountUtils.setCurrentOwnCloudAccount(getApplicationContext(), a.name); + } else { + p.setChecked(false); + } + } + return (Boolean) newValue; + } + }); + + } + + // Add Create Account preference at the end of account list if + // Multiaccount is enabled + if (getResources().getBoolean(R.bool.multiaccount_support)) { + createAddAccountPreference(); + } + + } + } + + /** + * Create the preference for allow adding new accounts + */ + private void createAddAccountPreference() { + Preference addAccountPref = new Preference(this); + addAccountPref.setKey("add_account"); + addAccountPref.setTitle(getString(R.string.prefs_add_account)); + mAccountsPrefCategory.addPreference(addAccountPref); + + addAccountPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + AccountManager am = AccountManager.get(getApplicationContext()); + am.addAccount(MainApp.getAccountType(), null, null, null, Preferences.this, null, null); + return true; + } + }); + + } + + @Override + protected void onPause() { + if (this.isFinishing()) { + Account current = AccountUtils.getCurrentOwnCloudAccount(this); + if ((mPreviousAccount == null && current != null) + || (mPreviousAccount != null && !mPreviousAccount.equals(current))) { + // the account set as default changed since this activity was + // created + + // restart the main activity + Intent i = new Intent(this, FileDisplayActivity.class); + i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(i); + } + } + super.onPause(); + } + }