From: David A. Velasco Date: Mon, 3 Nov 2014 12:38:58 +0000 (+0100) Subject: Merge pull request #687 from owncloud/thumbnails_from_server X-Git-Tag: oc-android-1.7.0_signed~121 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/183cd732d0c4cd2f11a722cd45d87b4b3a2b9b85?hp=58040881bdcf0cf12798cc670e464e688dbb83c8 Merge pull request #687 from owncloud/thumbnails_from_server Get remote thumbnails from server (OC8) --- diff --git a/owncloud-android-library b/owncloud-android-library index 5bd0d738..4f315c7e 160000 --- a/owncloud-android-library +++ b/owncloud-android-library @@ -1 +1 @@ -Subproject commit 5bd0d7387712ce3f53869294761ac4d8537841cd +Subproject commit 4f315c7e06f6eef48df246be0ee9252fdfccdf00 diff --git a/res/menu/file_select_all.xml b/res/menu/file_select_all.xml new file mode 100644 index 00000000..a8097aae --- /dev/null +++ b/res/menu/file_select_all.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 07f7e465..9a275407 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -11,6 +11,12 @@ Indstillinger Detaljer Send + Sortér + Sortér efter + + A-Å + Nyeste - ældste + Generel diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 8b550f3a..4ef373d2 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -11,6 +11,12 @@ Settings Details Send + Sort + Sort by + + A-Z + Newest - Oldest + General diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 3dd864a9..d78ff809 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -11,6 +11,12 @@ Configuración Detalles Enviar + Ordenar + Ordenar por + + A-Z + Más nuevo - Más viejo + General diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index e3d598ec..78d39f1c 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -11,6 +11,11 @@ Ezarpenak Xehetasunak Bidali + Ordenatu + + A-Z + Berrienak - Zaharrenak + Orokorra @@ -238,6 +243,7 @@ Mesedez, baimendu berriz Irudi aurreikuspena Ezin da irudi hau erakutsi %1$s ezin da %2$s karpeta lokalera kopiatu + Igotzetarako Bidea Sentitzen dut, partekatzea ez dago zure zerbitzarian gaituta. Mesedez jarri harremanetan zure administratzailearekin. Errore bat egon da fitxategaia edo karpeta partekatzerakoan Errore bat egon da fitxategaia edo karpeta partekatzeari uzterakoan @@ -260,8 +266,12 @@ Mesedez, baimendu berriz Fitxategia jadanik ez dago eskuragarri zerbitzarian Kontuak Gehitu kontua + ownCloud Android programaren egunerokoak + Datuak kargatzen... Autentikazioa beharrezkoa Pasahitz okerra + Mugitu Aukeratu + Berehalako Igoerak Segurtasuna diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 1450fd61..90c54a90 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -4,7 +4,7 @@ version %1$s Actualiser le compte Téléverser - Contenu d\'une autre application + Contenu d\'autres applications Fichiers Ouvrir avec Nouveau dossier @@ -173,7 +173,7 @@ Ci-dessous la liste des fichiers locaux, et les fichiers distants dans %5$s auxq Impossible d\'établir la connexion Connexion sécurisée établie Nom d\'utilisateur ou mot de passe incorrect - Echec d\'autorisation + Échec d\'autorisation Accès refusé par le serveur d\'autorisation État inattendu ; veuillez entrer à nouveau l\'URL du serveur Votre autorisation a expiré. Merci de vous authentifier à nouveau diff --git a/res/values-id/strings.xml b/res/values-id/strings.xml index e1dadf81..1ed5c03a 100644 --- a/res/values-id/strings.xml +++ b/res/values-id/strings.xml @@ -11,6 +11,12 @@ Pengaturan Rincian Kirim + Urutkan + Urutan + + A-Z + Terbaru - Terlawas + Umum @@ -86,6 +92,7 @@ %1$s berhasil diunggah Gagal mengunggah Unggah %1$s tidak selesai + Unggah gagal, Anda perlu masuk ulang Mengunduh... %1$d%% Mengunduh %2$s Berhasil mengunduh @@ -170,6 +177,8 @@ Menyambungkan ke server otentikasi... Server tidak mendukung medote otentikasi ini %1$s tidak mendukung banyak akun + Server Anda tidak membalas id pengguna dengan banar, Sialakn hubungi Administrator + Tidak dapat mengotentikasi pada server ini Biarkan berkas tetap terbaru Ubah nama @@ -236,12 +245,48 @@ Jangan mengunggah Pratilik gambar Gambar ini tidak dapat ditampilkan + %1$s tidak dapat disalin ke folder lokal %2$s + Jalur Lokasi Unggah + Maaf, berbagi tidak diaktifkan pada server Anda. Silakan hubungi + administrator Anda. + Tidak dapat berbagi. Mohon periksa apakah berkas ada + Terjadi kesalahan saat mencoba membagikan berkas atau folder ini + Tidak dapat menghapus berbagi. Mohon periksa apakah berkas ada + Terjadi kesalahan saat mencoba menghapus berbagi berkas dan folder ini Kirim + Salin tautan Disalin ke papan klip + Kesalahan fatal: tidak dapat melakukan operasi + Terjadi kesalahan saat menghubungkan dengan server. + Terjadi kesalahan saat menunggu balasan server, operasi tidak dapat diselesaikan + Terjadi kesalahan saat menunggu balasan server, operasi tidak dapat diselesaikan + Operasi tidak dapat diselesaikan, server tidak tersedia + Anda tidak memiliki izin %s + untuk mengubah nama berkas ini + untuk menghapus berkas ini + untuk membagikan berkas ini + untuk batal membagikan berkas ini + untuk membuat berkas + untuk mengunggah kedalam folder ini + Berkas tidak lagi tersedia pada server Akun + Tambah akun + Sambungan aman dialihkan ke rute yang tidak aman. + Log + Kirim Riwayat + Log apl ownCloud Android + Memuat data... Diperlukan otentikasi Sandi salah + Pindah + Tdak ada apapun disini. Anda dapat menambahkan sebuah folder! Pilih + Tidak dapat memindahkan. Silakan periksa apakah berkas ada + Tidak mungkin untuk memindahkan folder kedalam turunannya + Berkas sudah ada didalam folder tujuan + Terjadi kesalahan saat mencoba memindahkan berkas atau folder ini + untuk memindahkan berkas ini + Unggah Cepat Keamanan diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 38e38acf..4a1c5bda 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -11,6 +11,12 @@ Impostazioni Dettagli Invia + Ordina + Ordina per + + A-Z + Più recente - Più datato + Generale diff --git a/res/values-ja-rJP/strings.xml b/res/values-ja-rJP/strings.xml index 67c1e6e2..f57402ef 100644 --- a/res/values-ja-rJP/strings.xml +++ b/res/values-ja-rJP/strings.xml @@ -13,6 +13,10 @@ 送信 ソート ソート: + + A-Z + 最新 - 最古 + 一般 @@ -243,6 +247,7 @@ イメージプレビュー この画像は表示できません %1$s は、ローカルフォルダー %2$s にコピーできませんでした。 + アップロードパス 申し訳ございません。共有がサーバー上で有効になっていません。 管理者に ご連絡ください。 共有できません。ファイルがあるか確認してください。 @@ -268,6 +273,7 @@ ファイルはサーバー上で利用できません アカウント アカウントを追加 + 暗号化接続は非暗号化接続にリダイレクトされました。 ログ ログを送信 ownCloud Android アプリログ @@ -282,5 +288,6 @@ そのファイルは、宛先フォルダに既に存在しています。 このファイルまたはフォルダーを移動する際にエラーが発生しました このファイルを移動 + 自動アップロード セキュリティ diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index a8687048..0e84c681 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -11,6 +11,12 @@ Ustawienia Szczegóły Wyślij + Sortuj + Sortuj według + + A-Z + Nowsze - Starsze + Ogólne @@ -240,6 +246,7 @@ Podgląd Ten obrazek nie może zostać wyświetlony %1$s nie może zostać skopiowany do lokalnego folderu %2$s + Katalog wysyłania Przepraszamy, ale współdzielenie nie jest włączone na Twoim serwerze. Proszę skontaktuj się z administratorem. Nie można udostępnić. Proszę sprawdzić, czy plik istnieje @@ -265,8 +272,10 @@ Ten plik nie jest już dostępny na serwerze Konta Dodaj konto + Bezpieczne połączenie jest przekierowywane przez niezabezpieczone trasy. Logi Wyślij historię + Logi aplikacji ownCloud Android Ładuję dane... Wymagana autoryzacja Złe hasło @@ -278,5 +287,6 @@ Plik istnieje już w folderze docelowym Pojawił się błąd podczas próby przeniesienia tego pliku lub folderu aby przenieść ten plik + Automatyczne wysyłanie Bezpieczeństwo diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index c043dff8..2b052012 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -11,6 +11,8 @@ Setări Detalii Expediază + Sortare + Sortare după General @@ -259,7 +261,13 @@ pentru a încărca în acest folder Fișierul nu mai este disponibil pe server Conturi + Adaugă cont + Se încarcă datele... + Autentificare necesară Parolă greșită + Mutare + Nu este nimic aici. Poți adăuga un director! Alege + pentru a muta acest fișier Securitate diff --git a/src/com/owncloud/android/authentication/AuthenticatorActivity.java b/src/com/owncloud/android/authentication/AuthenticatorActivity.java index 97dcfde8..0f7892ee 100644 --- a/src/com/owncloud/android/authentication/AuthenticatorActivity.java +++ b/src/com/owncloud/android/authentication/AuthenticatorActivity.java @@ -85,6 +85,7 @@ import com.owncloud.android.ui.dialog.IndeterminateProgressDialog; import com.owncloud.android.ui.dialog.SamlWebViewDialog; import com.owncloud.android.ui.dialog.SslUntrustedCertDialog; import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener; +import com.owncloud.android.utils.DisplayUtils; /** * This Activity is used to add an ownCloud account to the App @@ -356,7 +357,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener { /// step 2 - set properties of UI elements (text, visibility, enabled...) mHostUrlInput = (EditText) findViewById(R.id.hostUrlInput); - mHostUrlInput.setText(mServerInfo.mBaseUrl); + // Convert IDN to Unicode + mHostUrlInput.setText(DisplayUtils.convertIdn(mServerInfo.mBaseUrl, false)); if (mAction != ACTION_CREATE) { /// lock things that should not change mHostUrlInput.setEnabled(false); @@ -737,6 +739,8 @@ SsoWebViewClientListener, OnSslUntrustedCertListener { showRefreshButton(false); if (uri.length() != 0) { + // Handle internationalized domain names + uri = DisplayUtils.convertIdn(uri, true); mServerStatusText = R.string.auth_testing_connection; mServerStatusIcon = R.drawable.progress_small; showServerStatus(); diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index d078b1e2..20330931 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -104,7 +104,7 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa if (obj != null && obj instanceof LongClickableCheckBoxPreference) { mShowContextMenu = true; - mAccountName = obj.toString(); + mAccountName = ((LongClickableCheckBoxPreference) obj).getKey(); Preferences.this.openContextMenu(listView); @@ -406,7 +406,8 @@ public class Preferences extends SherlockPreferenceActivity implements AccountMa for (Account a : accounts) { LongClickableCheckBoxPreference accountPreference = new LongClickableCheckBoxPreference(this); accountPreference.setKey(a.name); - accountPreference.setTitle(a.name); + // Handle internationalized domain names + accountPreference.setTitle(DisplayUtils.convertIdn(a.name, false)); mAccountsPrefCategory.addPreference(accountPreference); // Check the current account that is being used diff --git a/src/com/owncloud/android/ui/activity/UploadFilesActivity.java b/src/com/owncloud/android/ui/activity/UploadFilesActivity.java index 09185726..83e7bc07 100644 --- a/src/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/src/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -34,6 +34,9 @@ import android.widget.TextView; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.OnNavigationListener; +import com.actionbarsherlock.internal.view.menu.ActionMenuItemView; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.owncloud.android.R; import com.owncloud.android.lib.common.utils.Log_OC; @@ -73,6 +76,8 @@ public class UploadFilesActivity extends FileActivity implements private static final String WAIT_DIALOG_TAG = "WAIT"; private static final String QUERY_TO_MOVE_DIALOG_TAG = "QUERY_TO_MOVE"; + private boolean selectAllToggled = false; + private Menu menu; @Override public void onCreate(Bundle savedInstanceState) { @@ -119,6 +124,7 @@ public class UploadFilesActivity extends FileActivity implements actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); actionBar.setListNavigationCallbacks(mDirectories, this); + // wait dialog if (mCurrentDialog != null) { mCurrentDialog.dismiss(); @@ -127,8 +133,15 @@ public class UploadFilesActivity extends FileActivity implements Log_OC.d(TAG, "onCreate() end"); } - - + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu items for use in the action bar + MenuInflater inflater = getSherlock().getMenuInflater(); + inflater.inflate(R.menu.file_select_all, menu); + this.menu = menu; + return true; + } + @Override public boolean onOptionsItemSelected(MenuItem item) { boolean retval = true; @@ -139,12 +152,33 @@ public class UploadFilesActivity extends FileActivity implements } break; } + case R.id.actionbar_select_all:{ + if(selectAllToggled){ + toggleOffSelectAll(); + }else{ + toggleOnSelectAll(item); + } + break; + } default: retval = super.onOptionsItemSelected(item); } return retval; } - + public void toggleOffSelectAll(MenuItem item){ + selectAllToggled = false; + item.setIcon(android.R.drawable.checkbox_off_background); + mFileListFragment.deselectAll(); + } + public void toggleOffSelectAll(){ + MenuItem item = menu.findItem(R.id.actionbar_select_all); + toggleOffSelectAll(item); + } + public void toggleOnSelectAll(MenuItem item){ + selectAllToggled = true; + item.setIcon(android.R.drawable.checkbox_on_background); + mFileListFragment.selectAll(); + } @Override public boolean onNavigationItemSelected(int itemPosition, long itemId) { @@ -175,6 +209,7 @@ public class UploadFilesActivity extends FileActivity implements ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(false); } + toggleOffSelectAll(); } @@ -242,10 +277,11 @@ public class UploadFilesActivity extends FileActivity implements * {@inheritDoc} */ @Override - public void onDirectoryClick(File directory) { + public void onDirectoryClick(File directory) { pushDirname(directory); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); + toggleOffSelectAll(); } diff --git a/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java b/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java index a9b6ad2c..62b41a3e 100644 --- a/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java @@ -18,6 +18,7 @@ package com.owncloud.android.ui.fragment; import java.io.File; +import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; @@ -97,13 +98,33 @@ public class LocalFileListFragment extends ExtendedListFragment { Log_OC.i(TAG, "onActivityCreated() stop"); } + public void selectAll(){ + int numberOfFiles = mAdapter.getCount(); + for(int i = 0; i < numberOfFiles; i++){ + File file = (File) mAdapter.getItem(i); + if (file != null) { + if (!file.isDirectory()) { + /// Click on a file + getListView().setItemChecked(i, true); + // notify the change to the container Activity + mContainerActivity.onFileClick(file); + } + } + } + } + + public void deselectAll(){ + mAdapter = new LocalFileListAdapter(mContainerActivity.getInitialDirectory(), getActivity()); + setListAdapter(mAdapter); + } /** * Checks the file clicked over. Browses inside if it is a directory. Notifies the container activity in any case. */ @Override public void onItemClick(AdapterView l, View v, int position, long id) { - File file = (File) mAdapter.getItem(position); + File file = (File) mAdapter.getItem(position); + if (file != null) { /// Click on a directory if (file.isDirectory()) { @@ -209,16 +230,18 @@ public class LocalFileListFragment extends ExtendedListFragment { * @return File paths to the files checked by the user. */ public String[] getCheckedFilePaths() { - String [] result = null; + ArrayList result = new ArrayList(); SparseBooleanArray positions = mList.getCheckedItemPositions(); if (positions.size() > 0) { - Log_OC.d(TAG, "Returning " + positions.size() + " selected files"); - result = new String[positions.size()]; - for (int i=0; i= Build.VERSION_CODES.GINGERBREAD) { + // Find host name after '//' or '@' + int hostStart = 0; + if (url.indexOf("//") != -1) { + hostStart = url.indexOf("//") + "//".length(); + } else if (url.indexOf("@") != -1) { + hostStart = url.indexOf("@") + "@".length(); + } + + int hostEnd = url.substring(hostStart).indexOf("/"); + // Handle URL which doesn't have a path (path is implicitly '/') + hostEnd = (hostEnd == -1 ? url.length() : hostStart + hostEnd); + + String host = url.substring(hostStart, hostEnd); + host = (toASCII ? IDN.toASCII(host) : IDN.toUnicode(host)); + + return url.substring(0, hostStart) + host + url.substring(hostEnd); + } else { + return url; + } + } } diff --git a/tests/.classpath b/tests/.classpath index 9b141f6f..26d8fe48 100644 --- a/tests/.classpath +++ b/tests/.classpath @@ -1,10 +1,10 @@ - - + +