Browse Source

Merge remote-tracking branch 'remotes/origin/master' into userTheming

tobiasKaminsky 7 years ago
parent
commit
379709d27a

+ 2 - 0
scripts/lint/lint-up-wrapper.sh

@@ -12,7 +12,9 @@ ruby scripts/lint/lint-up.rb $1 $2 $3
 if [ $? -eq 0 ]; then
     echo "New master at: https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v"
     curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/master.html --upload-file build/reports/lint/lint.html
+    exit 0
 else
     echo "New results at https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v ->" $6.html
     curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/$6.html --upload-file build/reports/lint/lint.html
+    exit 1
 fi

+ 0 - 0
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java


+ 1 - 0
src/main/AndroidManifest.xml

@@ -71,6 +71,7 @@
         <activity
             android:name=".ui.activity.FileDisplayActivity"
             android:label="@string/app_name"
+            android:configChanges="orientation|screenSize"
             android:theme="@style/Theme.ownCloud.Toolbar.Drawer">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

+ 29 - 6
src/main/java/com/owncloud/android/db/PreferenceManager.java

@@ -38,6 +38,7 @@ public abstract class PreferenceManager {
     private static final String AUTO_PREF__UPLOAD_FILE_EXTENSION_MAP_URL = "prefs_upload_file_extension_map_url";
     private static final String AUTO_PREF__UPLOAD_FILE_EXTENSION_URL = "prefs_upload_file_extension_url";
     private static final String AUTO_PREF__UPLOADER_BEHAVIOR = "prefs_uploader_behaviour";
+    private static final String AUTO_PREF__GRID_COLUMNS = "grid_columns";
     private static final String PREF__INSTANT_UPLOADING = "instant_uploading";
     private static final String PREF__INSTANT_VIDEO_UPLOADING = "instant_video_uploading";
     private static final String PREF__INSTANT_UPLOAD_PATH_USE_SUBFOLDERS = "instant_upload_path_use_subfolders";
@@ -259,16 +260,34 @@ public abstract class PreferenceManager {
         saveIntPreference(context, AUTO_PREF__UPLOADER_BEHAVIOR, uploaderBehaviour);
     }
 
+    /**
+     * Gets the grid columns which the user has set last.
+     *
+     * @param context Caller {@link Context}, used to access to shared preferences manager.
+     * @return grid columns     grid columns
+     */
+    public static float getGridColumns(Context context) {
+        return getDefaultSharedPreferences(context).getFloat(AUTO_PREF__GRID_COLUMNS, -1.0f);
+    }
+
+    /**
+     * Saves the grid columns which the user has set last.
+     *
+     * @param context   Caller {@link Context}, used to access to shared preferences manager.
+     * @param gridColumns the uploader behavior
+     */
+    public static void setGridColumns(Context context, float gridColumns) {
+        saveFloatPreference(context, AUTO_PREF__GRID_COLUMNS, gridColumns);
+    }
+
     public static void saveBooleanPreference(Context context, String key, boolean value) {
         SharedPreferences.Editor appPreferences = getDefaultSharedPreferences(context.getApplicationContext()).edit();
-        appPreferences.putBoolean(key, value);
-        appPreferences.apply();
+        appPreferences.putBoolean(key, value).apply();
     }
 
     private static void saveStringPreference(Context context, String key, String value) {
         SharedPreferences.Editor appPreferences = getDefaultSharedPreferences(context.getApplicationContext()).edit();
-        appPreferences.putString(key, value);
-        appPreferences.apply();
+        appPreferences.putString(key, value).apply();
     }
 
     private static void saveStringPreferenceNow(Context context, String key, String value) {
@@ -279,8 +298,12 @@ public abstract class PreferenceManager {
 
     private static void saveIntPreference(Context context, String key, int value) {
         SharedPreferences.Editor appPreferences = getDefaultSharedPreferences(context.getApplicationContext()).edit();
-        appPreferences.putInt(key, value);
-        appPreferences.apply();
+        appPreferences.putInt(key, value).apply();
+    }
+
+    public static void saveFloatPreference(Context context, String key, float value) {
+        SharedPreferences.Editor appPreferences = getDefaultSharedPreferences(context.getApplicationContext()).edit();
+        appPreferences.putFloat(key, value).apply();
     }
 
     private static void saveLongPreference(Context context, String key, long value) {

+ 10 - 6
src/main/java/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -77,6 +77,7 @@ import java.util.Vector;
  */
 public class FileListListAdapter extends BaseAdapter {
 
+    public static final int showFilenameColumnThreshold = 4;
     private Context mContext;
     private Vector<OCFile> mFilesAll = new Vector<OCFile>();
     private Vector<OCFile> mFiles = null;
@@ -252,9 +253,15 @@ public class FileListListAdapter extends BaseAdapter {
                 case GRID_ITEM:
                     // filename
                     fileName = (TextView) view.findViewById(R.id.Filename);
+
                     name = file.getFileName();
                     fileName.setText(name);
 
+                    if (OCFileListFragmentInterface.getColumnSize() > showFilenameColumnThreshold
+                            && viewType == ViewType.GRID_ITEM) {
+                        fileName.setVisibility(View.GONE);
+                    }
+
                 case GRID_IMAGE:
                     // sharedIcon
                     ImageView sharedIconV = (ImageView) view.findViewById(R.id.sharedIcon);
@@ -273,12 +280,9 @@ public class FileListListAdapter extends BaseAdapter {
                     // local state
                     ImageView localStateView = (ImageView) view.findViewById(R.id.localFileIndicator);
                     localStateView.bringToFront();
-                    FileDownloaderBinder downloaderBinder =
-                            mTransferServiceGetter.getFileDownloaderBinder();
-                    FileUploaderBinder uploaderBinder =
-                            mTransferServiceGetter.getFileUploaderBinder();
-                    OperationsServiceBinder opsBinder =
-                            mTransferServiceGetter.getOperationsServiceBinder();
+                    FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();
+                    FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();
+                    OperationsServiceBinder opsBinder = mTransferServiceGetter.getOperationsServiceBinder();
 
                     localStateView.setVisibility(View.INVISIBLE);   // default first
 

+ 102 - 4
src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -25,6 +25,8 @@ import android.accounts.Account;
 import android.animation.LayoutTransition;
 import android.app.Activity;
 import android.graphics.Color;
+import android.content.res.Configuration;
+import android.graphics.PorterDuff;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
@@ -37,10 +39,13 @@ import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.widget.SearchView;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
+import android.view.GestureDetector;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.view.MotionEvent;
+import android.view.ScaleGestureDetector;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
@@ -62,6 +67,7 @@ import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.FileDataStorageManager;
+import com.owncloud.android.db.PreferenceManager;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.lib.resources.files.SearchOperation;
 import com.owncloud.android.lib.resources.status.OCCapability;
@@ -82,8 +88,6 @@ import java.util.ArrayList;
 
 import third_parties.in.srain.cube.GridViewWithHeaderAndFooter;
 
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
-
 public class ExtendedListFragment extends Fragment
         implements OnItemClickListener, OnEnforceableRefreshListener, SearchView.OnQueryTextListener {
 
@@ -97,7 +101,13 @@ public class ExtendedListFragment extends Fragment
     private static final String KEY_HEIGHT_CELL = "HEIGHT_CELL";
     private static final String KEY_EMPTY_LIST_MESSAGE = "EMPTY_LIST_MESSAGE";
     private static final String KEY_IS_GRID_VISIBLE = "IS_GRID_VISIBLE";
+    public static final float minColumnSize = 2.0f;
+
+    private int maxColumnSize = 5;
+    private int maxColumnSizePortrait = 5;
+    private int maxColumnSizeLandscape = 10;
 
+    private ScaleGestureDetector mScaleGestureDetector = null;
     protected SwipeRefreshLayout mRefreshListLayout;
     protected SwipeRefreshLayout mRefreshGridLayout;
     protected SwipeRefreshLayout mRefreshEmptyLayout;
@@ -131,6 +141,8 @@ public class ExtendedListFragment extends Fragment
     protected SearchView searchView;
     private Handler handler = new Handler();
 
+    private float mScale = -1f;
+
     @Parcel
     public enum SearchType {
         NO_SEARCH,
@@ -213,7 +225,7 @@ public class ExtendedListFragment extends Fragment
         if ((activity = getActivity()) != null) {
             activity.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
             int width = displaymetrics.widthPixels;
-            if (getResources().getConfiguration().orientation == ORIENTATION_LANDSCAPE) {
+            if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                 searchView.setMaxWidth((int) (width * 0.4));
             } else {
                 if (activity instanceof FolderPickerActivity) {
@@ -383,11 +395,40 @@ public class ExtendedListFragment extends Fragment
         mListFooterView = inflater.inflate(R.layout.list_footer, null, false);
 
         mGridView = (GridViewWithHeaderAndFooter) (v.findViewById(R.id.grid_root));
-        mGridView.setNumColumns(GridView.AUTO_FIT);
+
+        mScale = PreferenceManager.getGridColumns(getContext());
+        setGridViewColumns(1f);
+
         mGridView.setOnItemClickListener(this);
 
         mGridFooterView = inflater.inflate(R.layout.list_footer, null, false);
 
+        mScaleGestureDetector = new ScaleGestureDetector(MainApp.getAppContext(),new ScaleListener());
+
+        mGridView.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View view, MotionEvent motionEvent) {
+                mScaleGestureDetector.onTouchEvent(motionEvent);
+
+                if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
+                    view.performClick();
+                }
+
+                return false;
+            }
+        });
+
+        if (savedInstanceState != null) {
+            int referencePosition = savedInstanceState.getInt(KEY_SAVED_LIST_POSITION);
+            if (mCurrentListView!= null && mCurrentListView.equals(mListView)) {
+                Log_OC.v(TAG, "Setting and centering around list position " + referencePosition);
+                mListView.setAndCenterSelection(referencePosition);
+            } else {
+                Log_OC.v(TAG, "Setting grid position " + referencePosition);
+                mGridView.setSelection(referencePosition);
+            }
+        }
+
         // Pull-down to refresh layout
         mRefreshListLayout = (SwipeRefreshLayout) v.findViewById(R.id.swipe_containing_list);
         mRefreshGridLayout = (SwipeRefreshLayout) v.findViewById(R.id.swipe_containing_grid);
@@ -465,6 +506,38 @@ public class ExtendedListFragment extends Fragment
         mEmptyListContainer.setVisibility(View.VISIBLE);
     }
 
+    private class SingleTapConfirm extends GestureDetector.SimpleOnGestureListener {
+        @Override
+        public boolean onSingleTapUp(MotionEvent e) {
+            return true;
+        }
+    }
+
+    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
+        @Override
+        public boolean onScale(ScaleGestureDetector detector) {
+            setGridViewColumns(detector.getScaleFactor());
+
+            PreferenceManager.setGridColumns(getContext(), mScale);
+
+            mAdapter.notifyDataSetChanged();
+
+            return true;
+        }
+    }
+
+    private void setGridViewColumns(float scaleFactor) {
+        if (mScale == -1f) {
+            mGridView.setNumColumns(GridView.AUTO_FIT);
+            mScale = mGridView.getNumColumns();
+        }
+        mScale *= 1.f - (scaleFactor - 1.f);
+        mScale = Math.max(minColumnSize, Math.min(mScale, maxColumnSize));
+        Integer scaleInt = Math.round(mScale);
+        mGridView.setNumColumns(scaleInt);
+        mGridView.invalidateViews();
+    }
+
     protected void setupEmptyList(View view) {
         mEmptyListContainer = (LinearLayout) view.findViewById(R.id.empty_list_view);
         mEmptyListMessage = (TextView) view.findViewById(R.id.empty_list_view_text);
@@ -492,6 +565,8 @@ public class ExtendedListFragment extends Fragment
             mTops = new ArrayList<>();
             mHeightCell = 0;
         }
+
+        mScale = PreferenceManager.getGridColumns(getContext());
     }
 
 
@@ -506,6 +581,8 @@ public class ExtendedListFragment extends Fragment
         savedInstanceState.putIntegerArrayList(KEY_TOPS, mTops);
         savedInstanceState.putInt(KEY_HEIGHT_CELL, mHeightCell);
         savedInstanceState.putString(KEY_EMPTY_LIST_MESSAGE, getEmptyViewText());
+
+        PreferenceManager.setGridColumns(getContext(), mScale);
     }
 
     /**
@@ -528,6 +605,10 @@ public class ExtendedListFragment extends Fragment
         }
     }
 
+    public int getColumnSize() {
+        return Math.round(mScale);
+    }
+
 
     /*
      * Restore index and position
@@ -875,4 +956,21 @@ public class ExtendedListFragment extends Fragment
         }
     }
 
+    @Override
+    public void onConfigurationChanged(Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
+
+        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
+            maxColumnSize = maxColumnSizeLandscape;
+        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
+            maxColumnSize = maxColumnSizePortrait;
+        } else {
+            maxColumnSize = maxColumnSizePortrait;
+        }
+
+        if (mGridView.getNumColumns() > maxColumnSize) {
+            mGridView.setNumColumns(maxColumnSize);
+            mGridView.invalidateViews();
+        }
+    }
 }

+ 2 - 0
src/main/java/com/owncloud/android/ui/interfaces/OCFileListFragmentInterface.java

@@ -26,4 +26,6 @@ package com.owncloud.android.ui.interfaces;
 
 public interface OCFileListFragmentInterface {
     void finishedFiltering();
+
+    int getColumnSize();
 }

+ 9 - 9
src/main/res/values-es-rMX/strings.xml

@@ -46,9 +46,9 @@
     <string name="prefs_fingerprint">Bloqueo por huella digital</string>
     <string name="prefs_fingerprint_notsetup">No se ha establecido ninguna huella digital. </string>
     <string name="prefs_show_hidden_files">Mostrar archivos ocultos</string>
-    <string name="prefs_instant_upload">Carga instantánea de imágenes</string>
+    <string name="prefs_instant_upload">Carga automática de imágenes</string>
     <string name="prefs_instant_upload_summary">Cargar instantaneamente las fotografías tomadas por la cámara</string>
-    <string name="prefs_instant_video_upload">Carga instantánea de video</string>
+    <string name="prefs_instant_video_upload">Carga automática de video</string>
     <string name="prefs_instant_video_upload_summary">Cargar instantáneamente los videos grabados por la cámara</string>
     <string name="prefs_log_title">Habilitar registro</string>
     <string name="prefs_log_summary">Esto se usa para registrar problemas</string>
@@ -121,7 +121,7 @@ en los últimos 7 días. </string>
     <string name="file_list_empty_text_videos">Cargue algunos videos o active la carga automática.</string>
     <string name="file_list_empty_text_videos_filter">Su búsqueda no encontró videos. </string>
     <string name="upload_list_empty_headline">No hay cargas disponibles</string>
-    <string name="upload_list_empty_text">Cargue algún contenido o active la carga instantánea</string>
+    <string name="upload_list_empty_text">Carga algún contenido o activa la carga automática</string>
     <string name="upload_list_empty_text_auto_upload">Cargue algún contenido o active la carga automática</string>
     <string name="file_list_folder">carpeta</string>
     <string name="file_list_folders">carpetas</string>
@@ -347,7 +347,7 @@ en los últimos 7 días. </string>
     <string name="instant_video_upload_on_wifi">Cargar videos sólo a través de Wi-Fi</string>
     <string name="instant_video_upload_on_charging">Cargar archivos sólo con el dispositivo conectado a la toma de corriente</string>
     <string name="instant_upload_on_charging">Cargar archivos sólo con el dispositivo conectado a la toma de corriente</string>
-    <string name="instant_upload_path">/CargasInstantáneas</string>
+    <string name="instant_upload_path">/CargasAutomáticas</string>
     <string name="auto_upload_path">/Carga automática</string>
     <string name="conflict_title">Conflicto de archivo</string>
     <string name="conflict_message">¿Qué archivos desea mantener? Si selecciona ambas versiones, se le agregará un número al nombre del archivo local.</string>
@@ -360,7 +360,7 @@ en los últimos 7 días. </string>
     <string name="preview_image_error_unknown_format">No es posible mostrar la imagen</string>
 
     <string name="error__upload__local_file_not_copied">%1$s no pudo ser copiado a la carpeta local %2$s</string>
-    <string name="prefs_instant_upload_path_title">Carpeta de carga instantánea</string>
+    <string name="prefs_instant_upload_path_title">Carpeta de carga automática</string>
     <string name="prefs_folder_sync_local_path_title">Carpeta local</string>
     <string name="prefs_folder_sync_remote_path_title">Carpeta remota</string>
     <string name="prefs_instant_upload_path_use_subfolders_title">Usar sub carpetas</string>
@@ -457,10 +457,10 @@ en los últimos 7 días. </string>
     <string name="copy_file_error">Se presentó un error al intentar copiar este archivo o carpeta</string>
     <string name="forbidden_permissions_copy">para copiar este archivo</string>
 
-    <string name="prefs_category_instant_uploading">Cargas instantáneas</string>
+    <string name="prefs_category_instant_uploading">Cargas automáticas</string>
     <string name="prefs_category_details">Detalles</string>
 
-	<string name="prefs_instant_video_upload_path_title">Carpeta de video para cargas instantáneas</string>
+	<string name="prefs_instant_video_upload_path_title">Carpeta de video para cargas automáticas</string>
     <string name="sync_folder_failed_content">La sincronización de %1$s carpeta no se pudo completar</string>
 
 	<string name="shared_subject_header">compartido</string>
@@ -575,7 +575,7 @@ en los últimos 7 días. </string>
     <string name="folder_sync_no_results">No se encontraron carpetas de medios</string>
     <string name="folder_sync_preferences">Preferencias de carga automática</string>
     <string name="folder_sync_settings">Configuraciones </string>
-    <string name="folder_sync_new_info">La carga instantánea ha sido completamente moderinzada. Reconfigure su carga automática desde el menu principal. \n\nDisfrute de las nuevas y extendidas capacidades de la carga automática. </string>
+    <string name="folder_sync_new_info">La carga automática ha sido completamente moderinzada. Reconfigure su carga automática desde el menu principal. \n\nDisfrute de las nuevas y extendidas capacidades de la carga automática. </string>
     <string name="folder_sync_preferences_folder_path">Para %1$s</string>
     <plurals name="items_selected_count">
         <item quantity="one">%d seleccionado</item>
@@ -610,7 +610,7 @@ en los últimos 7 días. </string>
     <string name="welcome_feature_2_title">Multi cuenta</string>
     <string name="welcome_feature_2_text">Conéctese a todas sus nubes</string>
 
-    <string name="welcome_feature_3_title">Carga instatánea</string>
+    <string name="welcome_feature_3_title">Carga automática</string>
     <string name="welcome_feature_3_text">Mantenga sus fotos seguras</string>
 
     <string name="whats_new_skip">Saltar</string>

+ 9 - 1
src/main/res/values-is/strings.xml

@@ -305,6 +305,7 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="activity_chooser_title">Senda tengil til &#8230;</string>
     <string name="wait_for_tmp_copy_from_private_storage">Afrita skrá úr einkageymslu</string>
     
+    <string name="oauth_check_onoff">Skrá inn með oAuth2</string> 
     <string name="oauth_login_connection">Tengist við OAuth-auðkenningarþjón …</string>    
         
     <string name="ssl_validator_header">Ekki var hægt að sannreyna auðkenni vefsvæðisins</string>
@@ -348,6 +349,7 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="instant_video_upload_on_charging">Einungis senda inn þegar verið er að hlaða</string>
     <string name="instant_upload_on_charging">Einungis senda inn þegar verið er að hlaða</string>
     <string name="instant_upload_path">/BeinInnsending</string>
+    <string name="auto_upload_path">/Sjálfvirk innsending</string>
     <string name="conflict_title">Árekstur skráa</string>
     <string name="conflict_message">Hvaða skrám viltu halda? Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar.</string>
     <string name="conflict_keep_both">Halda báðum</string>
@@ -423,6 +425,8 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="file_migration_use_data_folder">Nota</string>
 
     <string name="file_migration_source_not_readable_title">Upprunamappa er ekki lesanleg!</string>
+    <string name="file_migration_source_not_readable">Viltu breyta slóð á geymslurými yfir í %1$s?\n\nAthugaðu: Sækja þarf öll gögn aftur.</string>
+
     <string name="prefs_category_accounts">Notandaaðgangar</string>
     <string name="prefs_add_account">Bæta við notandaaðgangi</string>
     <string name="drawer_manage_accounts">Sýsla með notandaaðganga</string>
@@ -657,4 +661,8 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="drawer_logout">Útskráning</string>
     <string name="picture_set_as_no_app">Engin forrit fundust til að setja mynd!</string>
     <string name="privacy">Gagnaleynd</string>
-    </resources>
+    <string name="file_not_found">Skrá finnst ekki!</string>
+
+    <string name="folder_sync_folders">Stilla möppur</string>
+
+  </resources>

+ 3 - 0
src/main/res/values-it/strings.xml

@@ -332,6 +332,7 @@
 
     <string name="file_migration_dialog_title">Aggiornamento del percorso di archiviazione</string>
     <string name="file_migration_finish_button">Fine</string>
+    <string name="file_migration_preparing">Preparazione della migrazione&#8230;</string>
     <string name="file_migration_checking_destination">Controllo della destinazione&#8230;</string>
     <string name="file_migration_migrating">Spostamento dei dati&#8230;</string>
     <string name="file_migration_updating_index">Aggiornamento dell\'indice&#8230;</string>
@@ -364,11 +365,13 @@
 	<string name="folder_picker_choose_button_text">Scegli</string>
 
     <string name="move_file_not_found">Impossibile spostare il file. Controlla che esista</string>
+    <string name="move_file_invalid_overwrite">Il file è già presente nella cartella di destinazione</string>
     <string name="move_file_error">Si è verificato un errore durante il tentativo di spostare il file o la cartella</string>
     <string name="forbidden_permissions_move">per spostare questo file</string>
 
 
     <string name="copy_file_not_found">Impossibile copiare. Assicurati che il file esista</string>
+    <string name="copy_file_invalid_overwrite">Il file è già presente nella cartella di destinazione</string>
     <string name="copy_file_error">Si è verificato un errore durante il tentativo di copiare il file o la cartella</string>
     <string name="forbidden_permissions_copy">per copiare questo file</string>
 

+ 1 - 0
src/main/res/values-pl/strings.xml

@@ -347,6 +347,7 @@
     <string name="instant_video_upload_on_charging">Wysyłaj tylko podczas ładowania</string>
     <string name="instant_upload_on_charging">Wysyłaj tylko podczas ładowania</string>
     <string name="instant_upload_path">/InstantUpload</string>
+    <string name="auto_upload_path">/Automatyczne wysyłanie</string>
     <string name="conflict_title">Konflikt pliku</string>
     <string name="conflict_message">Które pliki chcesz zachować? Jeżeli wybierzesz obie wersje, do nazwy pliku lokalnego zostanie dodana liczba.</string>
     <string name="conflict_keep_both">Zatrzymaj oba</string>

+ 11 - 11
src/main/res/values-pt-rBR/strings.xml

@@ -55,7 +55,7 @@
     <string name="prefs_log_title_history">Histórico de logins</string>
     <string name="prefs_log_summary_history">Mostra os registros gravados</string>
     <string name="prefs_log_delete_history_button">Eliminar histórico</string>
-    <string name="prefs_calendar_contacts">Configurar a sincronização do calendário e dos contatos</string>
+    <string name="prefs_calendar_contacts">sincronizar calendário &amp; contatos</string>
     <string name="prefs_calendar_contacts_summary">Configurar o DAVdroid (v1.3.0+) para a conta em uso</string>
     <string name="prefs_calendar_contacts_address_resolve_error">O endereço do servidor da conta não pôde ser reconhecido pelo DAVdroid</string>
     <string name="prefs_calendar_contacts_no_store_error">Nem F-droid nem Google Play estão instalados</string>
@@ -146,7 +146,7 @@
     <string name="common_cancel">Cancelar</string>
     <string name="common_back">Voltar</string>
     <string name="common_save">Salvar</string>
-    <string name="common_save_exit">Salvar e sair</string>
+    <string name="common_save_exit">Salvar &amp; sair</string>
     <string name="common_error">Erro</string>
     <string name="common_loading">Carregando &#8230;</string>
     <string name="common_unknown">desconhecido</string>
@@ -255,7 +255,7 @@
 	<string name="auth_unknown_error_title">Ocorreu um erro desconhecido!</string>
 	<string name="auth_unknown_host_title">Não foi possível encontrar o host</string>
 	<string name="auth_incorrect_path_title">Servidor não encontrado</string>
-	<string name="auth_timeout_title">O servidor demorou demais a responder</string>
+	<string name="auth_timeout_title">O servidor demorou demais para responder</string>
 	<string name="auth_incorrect_address_title">O formato de endereço do servidor está errado</string>
 	<string name="auth_ssl_general_error_title">Inicialização SSL falhou</string>
 	<string name="auth_ssl_unverified_server_title">Não foi possível verificar a identidade do servidor SSL</string>
@@ -336,7 +336,7 @@
     <string name="ssl_validator_no_info_about_error">- Nenhuma informação sobre o erro</string>
 
     <string name="placeholder_sentence">Este é um espaço reservado</string>
-    <string name="placeholder_filename">espaçoreservado.txt</string>
+    <string name="placeholder_filename">placeholder.txt</string>
     <string name="placeholder_filetype">Imagem PNG</string>
     <string name="placeholder_filesize">389 KB</string>
     <string name="placeholder_timestamp">2012/05/18 12:23 PM</string>
@@ -415,7 +415,7 @@
     <string name="file_migration_failed_not_enough_space">ERRO: Espaço insuficiente</string>
     <string name="file_migration_failed_not_writable">ERRO: Arquivo de destino não gravável</string>
     <string name="file_migration_failed_not_readable">ERRO: Arquivo fonte não legível</string>
-    <string name="file_migration_failed_dir_already_exists">ERRO: Diretório Nexcloud já existe</string>
+    <string name="file_migration_failed_dir_already_exists">ERRO: Diretório Nextcloud já existe</string>
     <string name="file_migration_failed_while_coping">ERRO: Falha durante a migração</string>
     <string name="file_migration_failed_while_updating_index">ERRO: Falha ao atualizar índice</string>
 
@@ -535,7 +535,7 @@
     <string name="action_clear_successful_uploads">Limpo</string>
     <string name="action_clear_finished_uploads">Limpar envios termiandos</string>
 
-    <string name="action_switch_grid_view">Grade de exibição</string>
+    <string name="action_switch_grid_view">Vista da grade</string>
     <string name="action_switch_list_view">Lista de visualização</string>
 
     <string name="manage_space_title">Gerenciar o espaço</string>
@@ -613,7 +613,7 @@
     <string name="welcome_feature_3_title">Envio automático</string>
     <string name="welcome_feature_3_text">Mantenha seguras as suas fotos</string>
 
-    <string name="whats_new_skip">Pular</string>
+    <string name="whats_new_skip">Saltar</string>
 
     <string name="fingerprint_scan_finger">Por favor escaneie sua impressão digital</string>
     <string name="fingerprint_unknown">Impressão digital não reconhecida</string>
@@ -630,7 +630,7 @@
 
     <!-- Activities -->
     <string name="activities_no_results_headline">Nenhuma atividade ainda</string>
-    <string name="activities_no_results_message">O fluxo irá mostrar eventos como\nInclusões, alterações e compartilhamentos</string>
+    <string name="activities_no_results_message">O Stream irá mostrar eventos como\nInclusões, alterações e compartilhamentos</string>
     <string name="webview_error">Um erro ocorreu</string>
     <string name="prefs_category_about">Sobre</string>
 
@@ -642,7 +642,7 @@
     <string name="contacts_header_backup">Backup</string>
     <string name="contacts_automatic_backup">Backup dos contatos</string>
     <string name="contacts_last_backup">Último backup</string>
-    <string name="contacts_read_permission">Permissão para ler contatos é necessária</string>
+    <string name="contacts_read_permission">Permissão para ler lista de contatos é necessária</string>
     <string name="contacts_write_permission">Permissão para alterar a lista de contatos é necessária</string>
     <string name="contactlist_title">Restaurar contatos</string>
     <string name="contaclist_restore_selected">Restaurar contatos selecionados</string>
@@ -652,8 +652,8 @@
     <string name="contacts_preference_backup_never">nunca</string>
     <string name="contacts_preferences_no_file_found">Nenhum arquivo encontrado</string>
     <string name="contacts_preferences_something_strange_happened">Não foi possível encontrar seu último backup!</string>
-    <string name="contacts_preferences_backup_scheduled">Backup agendado e irá iniciar em breve</string>
-    <string name="contacts_preferences_import_scheduled">Backup importado e irá iniciar em breve</string>
+    <string name="contacts_preferences_backup_scheduled">Backup agendado, irá iniciar em breve</string>
+    <string name="contacts_preferences_import_scheduled">Backup importado, irá iniciar em breve</string>
 
     <!-- Notifications -->
     <string name="new_notification_received">Nova notificação recebida</string>