Эх сурвалжийг харах

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

tobiaskaminsky 8 жил өмнө
parent
commit
fabecc86a5
34 өөрчлөгдсөн 254 нэмэгдсэн , 207 устгасан
  1. 2 2
      build.gradle
  2. 1 1
      src/main/java/com/owncloud/android/authentication/AccountUtils.java
  3. 1 1
      src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
  4. 1 1
      src/main/java/com/owncloud/android/db/PreferenceManager.java
  5. 18 10
      src/main/java/com/owncloud/android/files/FileMenuFilter.java
  6. 5 2
      src/main/java/com/owncloud/android/files/services/FileDownloader.java
  7. 8 2
      src/main/java/com/owncloud/android/operations/DownloadFileOperation.java
  8. 27 14
      src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java
  9. 2 1
      src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
  10. 14 2
      src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
  11. 92 57
      src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
  12. 4 0
      src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java
  13. 4 0
      src/main/java/com/owncloud/android/utils/MimeTypeUtil.java
  14. 6 0
      src/main/res/menu/file_actions_menu.xml
  15. 1 0
      src/main/res/values-ast/strings.xml
  16. 0 3
      src/main/res/values-cs-rCZ/strings.xml
  17. 12 14
      src/main/res/values-de-rDE/strings.xml
  18. 4 6
      src/main/res/values-de/strings.xml
  19. 0 4
      src/main/res/values-el/strings.xml
  20. 4 5
      src/main/res/values-en-rGB/strings.xml
  21. 0 6
      src/main/res/values-es-rMX/strings.xml
  22. 0 4
      src/main/res/values-es/strings.xml
  23. 3 5
      src/main/res/values-fr/strings.xml
  24. 0 6
      src/main/res/values-is/strings.xml
  25. 0 3
      src/main/res/values-ja-rJP/strings.xml
  26. 4 4
      src/main/res/values-nb-rNO/strings.xml
  27. 10 5
      src/main/res/values-nl/strings.xml
  28. 4 6
      src/main/res/values-pl/strings.xml
  29. 4 6
      src/main/res/values-pt-rBR/strings.xml
  30. 3 5
      src/main/res/values-ru/strings.xml
  31. 0 6
      src/main/res/values-sq/strings.xml
  32. 16 18
      src/main/res/values-tr/strings.xml
  33. 0 6
      src/main/res/values-zh-rCN/strings.xml
  34. 4 2
      src/main/res/values/strings.xml

+ 2 - 2
build.gradle

@@ -195,7 +195,7 @@ dependencies {
     compile 'com.googlecode.ez-vcard:ez-vcard:0.10.2'
 
     // uncomment for gplay, modified
-    //compile 'com.google.android.gms:play-services:10.2.4'
+compile 'com.google.android.gms:play-services:10.2.4'
 
     compile 'org.parceler:parceler-api:1.1.6'
     annotationProcessor 'org.parceler:parceler:1.1.6'
@@ -239,4 +239,4 @@ tasks.withType(Test) {
 }
 
 // uncomment for gplay, modified (must be at the bottom)
-//apply plugin: 'com.google.gms.google-services'
+apply plugin: 'com.google.gms.google-services'

+ 1 - 1
src/main/java/com/owncloud/android/authentication/AccountUtils.java

@@ -156,7 +156,7 @@ public class AccountUtils {
                             .getDefaultSharedPreferences(context).edit();
                     appPrefs.putString("select_oc_account", accountName);
     
-                    appPrefs.commit();
+                    appPrefs.apply();
                     result = true;
                     break;
                 }

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

@@ -1791,7 +1791,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 SharedPreferences.Editor editor = PreferenceManager
                         .getDefaultSharedPreferences(this).edit();
                 editor.putString("select_oc_account", accountName);
-                editor.commit();
+                editor.apply();
             }
 
             /// prepare result to return to the Authenticator

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

@@ -274,7 +274,7 @@ public abstract class PreferenceManager {
     private static void saveStringPreferenceNow(Context context, String key, String value) {
         SharedPreferences.Editor appPreferences = getDefaultSharedPreferences(context.getApplicationContext()).edit();
         appPreferences.putString(key, value);
-        appPreferences.commit();
+        appPreferences.apply();
     }
 
     private static void saveIntPreference(Context context, String key, int value) {

+ 18 - 10
src/main/java/com/owncloud/android/files/FileMenuFilter.java

@@ -1,4 +1,4 @@
-/**
+/*
  * ownCloud Android client application
  *
  * @author David A. Velasco
@@ -31,10 +31,11 @@ import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 import com.owncloud.android.lib.resources.status.OCCapability;
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
 import com.owncloud.android.ui.activity.ComponentsGetter;
+import com.owncloud.android.utils.MimeTypeUtil;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -59,8 +60,7 @@ public class FileMenuFilter {
      * @param cg                Accessor to app components, needed to access synchronization services
      * @param context           Android {@link Context}, needed to access build setup resources.
      */
-    public FileMenuFilter(Collection<OCFile> targetFiles, Account account, ComponentsGetter cg,
-                          Context context) {
+    public FileMenuFilter(Collection<OCFile> targetFiles, Account account, ComponentsGetter cg, Context context) {
         mFiles = targetFiles;
         mAccount = account;
         mComponentsGetter = cg;
@@ -75,9 +75,8 @@ public class FileMenuFilter {
      * @param cg                Accessor to app components, needed to access synchronization services
      * @param context           Android {@link Context}, needed to access build setup resources.
      */
-    public FileMenuFilter(OCFile targetFile, Account account, ComponentsGetter cg,
-                          Context context) {
-        this(Arrays.asList(new OCFile[]{targetFile}), account, cg, context);
+    public FileMenuFilter(OCFile targetFile, Account account, ComponentsGetter cg, Context context) {
+        this(Collections.singletonList(targetFile), account, cg, context);
     }
 
     /**
@@ -91,8 +90,8 @@ public class FileMenuFilter {
             hideAll(menu);
 
         } else {
-            List<Integer> toShow = new ArrayList<Integer>();
-            List<Integer> toHide = new ArrayList<Integer>();
+            List<Integer> toShow = new ArrayList<>();
+            List<Integer> toHide = new ArrayList<>();
 
             filter(toShow, toHide);
 
@@ -124,7 +123,6 @@ public class FileMenuFilter {
         }
     }
 
-
     /**
      * Performs the real filtering, to be applied in the {@link Menu} by the caller methods.
      *
@@ -257,6 +255,12 @@ public class FileMenuFilter {
         }
 
 
+        // SET PICTURE AS
+        if (isSingleImage() && !MimeTypeUtil.isSVG(mFiles.iterator().next())) {
+            toShow.add(R.id.action_set_as_wallpaper);
+        } else {
+            toHide.add(R.id.action_set_as_wallpaper);
+        }
     }
 
     private boolean anyFileSynchronizing() {
@@ -312,6 +316,10 @@ public class FileMenuFilter {
         return isSingleSelection() && !mFiles.iterator().next().isFolder();
     }
 
+    private boolean isSingleImage() {
+        return isSingleSelection() && MimeTypeUtil.isImage(mFiles.iterator().next());
+    }
+
     private boolean allFiles() {
         return mFiles != null && !containsFolder();
     }

+ 5 - 2
src/main/java/com/owncloud/android/files/services/FileDownloader.java

@@ -54,6 +54,7 @@ import com.owncloud.android.lib.resources.files.FileUtils;
 import com.owncloud.android.operations.DownloadFileOperation;
 import com.owncloud.android.ui.activity.FileActivity;
 import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.ui.fragment.OCFileListFragment;
 import com.owncloud.android.ui.notifications.NotificationUtils;
 import com.owncloud.android.ui.preview.PreviewImageActivity;
 import com.owncloud.android.ui.preview.PreviewImageFragment;
@@ -174,9 +175,10 @@ public class FileDownloader extends Service
         } else {
             final Account account = intent.getParcelableExtra(EXTRA_ACCOUNT);
             final OCFile file = intent.getParcelableExtra(EXTRA_FILE);
+            final String behaviour = intent.getStringExtra(OCFileListFragment.DOWNLOAD_BEHAVIOUR);
             AbstractList<String> requestedDownloads = new Vector<String>();
             try {
-                DownloadFileOperation newDownload = new DownloadFileOperation(account, file);
+                DownloadFileOperation newDownload = new DownloadFileOperation(account, file, behaviour);
                 newDownload.addDatatransferProgressListener(this);
                 newDownload.addDatatransferProgressListener((FileDownloaderBinder) mBinder);
                 Pair<String, String> putResult = mPendingDownloads.putIfAbsent(
@@ -490,7 +492,7 @@ public class FileDownloader extends Service
         file.setFileLength((new File(mCurrentDownload.getSavePath()).length()));
         file.setRemoteId(mCurrentDownload.getFile().getRemoteId());
         mStorageManager.saveFile(file);
-        mStorageManager.triggerMediaScan(file.getStoragePath());
+        FileDataStorageManager.triggerMediaScan(file.getStoragePath());
         mStorageManager.saveConflict(file, null);
     }
 
@@ -639,6 +641,7 @@ public class FileDownloader extends Service
         end.putExtra(ACCOUNT_NAME, download.getAccount().name);
         end.putExtra(EXTRA_REMOTE_PATH, download.getRemotePath());
         end.putExtra(EXTRA_FILE_PATH, download.getSavePath());
+        end.putExtra(OCFileListFragment.DOWNLOAD_BEHAVIOUR, download.getBehaviour());
         if (unlinkedFromRemotePath != null) {
             end.putExtra(EXTRA_LINKED_TO_PATH, unlinkedFromRemotePath);
         }

+ 8 - 2
src/main/java/com/owncloud/android/operations/DownloadFileOperation.java

@@ -49,6 +49,7 @@ public class DownloadFileOperation extends RemoteOperation {
 
     private Account mAccount;
     private OCFile mFile;
+    private String mBehaviour;
     private Set<OnDatatransferProgressListener> mDataTransferListeners = new HashSet<OnDatatransferProgressListener>();
     private long mModificationTimestamp = 0;
     private String mEtag = "";
@@ -56,8 +57,8 @@ public class DownloadFileOperation extends RemoteOperation {
     
     private DownloadRemoteFileOperation mDownloadOperation;
 
-    
-    public DownloadFileOperation(Account account, OCFile file) {
+
+    public DownloadFileOperation(Account account, OCFile file, String behaviour) {
         if (account == null) {
             throw new IllegalArgumentException("Illegal null account in DownloadFileOperation " +
                     "creation");
@@ -69,6 +70,7 @@ public class DownloadFileOperation extends RemoteOperation {
         
         mAccount = account;
         mFile = file;
+        mBehaviour = behaviour;
     }
 
 
@@ -80,6 +82,10 @@ public class DownloadFileOperation extends RemoteOperation {
         return mFile;
     }
 
+    public String getBehaviour() {
+        return mBehaviour;
+    }
+
     public String getSavePath() {
         if (mFile.getStoragePath() != null) {
             File path = new File(mFile.getStoragePath());  // re-downloads should be done over the original file

+ 27 - 14
src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -83,12 +83,12 @@ import com.owncloud.android.services.observer.FileObserverService;
 import com.owncloud.android.syncadapter.FileSyncAdapter;
 import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
 import com.owncloud.android.ui.events.TokenPushEvent;
-import com.owncloud.android.ui.fragment.contactsbackup.ContactListFragment;
 import com.owncloud.android.ui.fragment.ExtendedListFragment;
 import com.owncloud.android.ui.fragment.FileDetailFragment;
 import com.owncloud.android.ui.fragment.FileFragment;
 import com.owncloud.android.ui.fragment.OCFileListFragment;
 import com.owncloud.android.ui.fragment.TaskRetainerFragment;
+import com.owncloud.android.ui.fragment.contactsbackup.ContactListFragment;
 import com.owncloud.android.ui.helpers.UriUploader;
 import com.owncloud.android.ui.preview.PreviewImageActivity;
 import com.owncloud.android.ui.preview.PreviewImageFragment;
@@ -1373,28 +1373,35 @@ public class FileDisplayActivity extends HookActivity
         public void onReceive(Context context, Intent intent) {
             try {
                 boolean sameAccount = isSameAccount(intent);
-                String downloadedRemotePath =
-                        intent.getStringExtra(FileDownloader.EXTRA_REMOTE_PATH);
+                String downloadedRemotePath = intent.getStringExtra(FileDownloader.EXTRA_REMOTE_PATH);
+                String downloadBehaviour = intent.getStringExtra(OCFileListFragment.DOWNLOAD_BEHAVIOUR);
                 boolean isDescendant = isDescendant(downloadedRemotePath);
 
                 if (sameAccount && isDescendant) {
-                    String linkedToRemotePath =
-                            intent.getStringExtra(FileDownloader.EXTRA_LINKED_TO_PATH);
+                    String linkedToRemotePath = intent.getStringExtra(FileDownloader.EXTRA_LINKED_TO_PATH);
                     if (linkedToRemotePath == null || isAscendant(linkedToRemotePath)) {
                         refreshListOfFilesFragment(false);
                     }
                     refreshSecondFragment(
                             intent.getAction(),
                             downloadedRemotePath,
-                            intent.getBooleanExtra(FileDownloader.EXTRA_DOWNLOAD_RESULT, false)
-                    );
+                            intent.getBooleanExtra(FileDownloader.EXTRA_DOWNLOAD_RESULT, false));
                 }
 
                 if (mWaitingToSend != null) {
-                    mWaitingToSend =
-                            getStorageManager().getFileByPath(mWaitingToSend.getRemotePath());
-                    if (mWaitingToSend.isDown()) {
-                        sendDownloadedFile();
+                    mWaitingToSend = getStorageManager().getFileByPath(mWaitingToSend.getRemotePath());
+                    if (mWaitingToSend.isDown() && downloadBehaviour != null) {
+                        switch (downloadBehaviour) {
+                            case OCFileListFragment.DOWNLOAD_SEND:
+                                sendDownloadedFile();
+                                break;
+                            case OCFileListFragment.DOWNLOAD_SET_AS:
+                                setPictureAs();
+                                break;
+                            default:
+                                // do nothing
+                                break;
+                        }
                     }
                 }
 
@@ -1872,12 +1879,13 @@ public class FileDisplayActivity extends HookActivity
         }
     }
 
-    private void requestForDownload(OCFile file) {
+    private void requestForDownload(OCFile file, String downloadBehaviour) {
         Account account = getAccount();
         if (!mDownloaderBinder.isDownloading(account, mWaitingToPreview)) {
             Intent i = new Intent(this, FileDownloader.class);
             i.putExtra(FileDownloader.EXTRA_ACCOUNT, account);
             i.putExtra(FileDownloader.EXTRA_FILE, file);
+            i.putExtra(OCFileListFragment.DOWNLOAD_BEHAVIOUR, downloadBehaviour);
             startService(i);
         }
     }
@@ -1887,6 +1895,11 @@ public class FileDisplayActivity extends HookActivity
         mWaitingToSend = null;
     }
 
+    private void setPictureAs() {
+        getFileOperationsHelper().setPictureAs(mWaitingToSend);
+        mWaitingToSend = null;
+    }
+
 
     /**
      * Requests the download of the received {@link OCFile} , updates the UI
@@ -1895,9 +1908,9 @@ public class FileDisplayActivity extends HookActivity
      *
      * @param file {@link OCFile} to download and preview.
      */
-    public void startDownloadForSending(OCFile file) {
+    public void startDownloadForSending(OCFile file, String downloadBehaviour) {
         mWaitingToSend = file;
-        requestForDownload(mWaitingToSend);
+        requestForDownload(mWaitingToSend, downloadBehaviour);
         boolean hasSecondFragment = (getSecondFragment() != null);
         updateFragmentsVisibility(hasSecondFragment);
     }

+ 2 - 1
src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

@@ -307,7 +307,8 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
                 // Obtain the file
                 if (!getFile().isDown()) {  // Download the file                    
                     Log_OC.d(TAG, getFile().getRemotePath() + " : File must be downloaded");
-                    ((FileDisplayActivity) mContainerActivity).startDownloadForSending(getFile());
+                    ((FileDisplayActivity) mContainerActivity).startDownloadForSending(getFile(),
+                            OCFileListFragment.DOWNLOAD_SEND);
                 }
                 else {
                     mContainerActivity.getFileOperationsHelper().sendDownloadedFile(getFile());

+ 14 - 2
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -120,6 +120,10 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
     public final static String ARG_ALLOW_CONTEXTUAL_ACTIONS = MY_PACKAGE + ".ALLOW_CONTEXTUAL";
     public final static String ARG_HIDE_FAB = MY_PACKAGE + ".HIDE_FAB";
 
+    public static final String DOWNLOAD_BEHAVIOUR = "DOWNLOAD_BEHAVIOUR";
+    public static final String DOWNLOAD_SEND = "DOWNLOAD_SEND";
+    public static final String DOWNLOAD_SET_AS = "DOWNLOAD_SET_AS";
+
     public static final String SEARCH_EVENT = "SEARCH_EVENT";
 
     private static final String KEY_FILE = MY_PACKAGE + ".extra.FILE";
@@ -867,13 +871,21 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
                     // Obtain the file
                     if (!singleFile.isDown()) {  // Download the file
                         Log_OC.d(TAG, singleFile.getRemotePath() + " : File must be downloaded");
-                        ((FileDisplayActivity) mContainerActivity).startDownloadForSending(singleFile);
-
+                        ((FileDisplayActivity) mContainerActivity).startDownloadForSending(singleFile, DOWNLOAD_SEND);
                     } else {
                         mContainerActivity.getFileOperationsHelper().sendDownloadedFile(singleFile);
                     }
                     return true;
                 }
+                case R.id.action_set_as_wallpaper: {
+                    if (singleFile.isDown()) {
+                        mContainerActivity.getFileOperationsHelper().setPictureAs(singleFile);
+                    } else {
+                        Log_OC.d(TAG, singleFile.getRemotePath() + " : File must be downloaded");
+                        ((FileDisplayActivity) mContainerActivity).startDownloadForSending(singleFile, DOWNLOAD_SET_AS);
+                    }
+                    return true;
+                }
             }
         }
 

+ 92 - 57
src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java

@@ -1,23 +1,22 @@
 /**
- *   ownCloud Android client application
- *
- *   @author masensio
- *   @author David A. Velasco
- *   @author Juan Carlos González Cabrero
- *   Copyright (C) 2015 ownCloud Inc.
- *
- *   This program is free software: you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   as published by the Free Software Foundation.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ownCloud Android client application
  *
+ * @author masensio
+ * @author David A. Velasco
+ * @author Juan Carlos González Cabrero
+ * Copyright (C) 2015 ownCloud Inc.
+ * <p>
+ * 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.
+ * <p>
+ * 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.
+ * <p>
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package com.owncloud.android.ui.helpers;
@@ -29,11 +28,14 @@ import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.net.Uri;
+import android.os.Build;
 import android.support.annotation.Nullable;
 import android.support.v4.app.DialogFragment;
+import android.support.v4.content.FileProvider;
 import android.webkit.MimeTypeMap;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.OCFile;
@@ -53,6 +55,7 @@ import com.owncloud.android.ui.events.FavoriteEvent;
 import org.greenrobot.eventbus.EventBus;
 
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -68,7 +71,7 @@ import java.util.regex.Pattern;
 public class FileOperationsHelper {
 
     private static final String TAG = FileOperationsHelper.class.getSimpleName();
-    
+
     private static final String FTAG_CHOOSER_DIALOG = "CHOOSER_DIALOG";
 
     protected FileActivity mFileActivity = null;
@@ -76,21 +79,21 @@ public class FileOperationsHelper {
     /// Identifier of operation in progress which result shouldn't be lost 
     private long mWaitingForOpId = Long.MAX_VALUE;
 
-	private static final Pattern mPatternUrl = Pattern.compile("^URL=(.+)$");
-	private static final Pattern mPatternString = Pattern.compile("<string>(.+)</string>");
+    private static final Pattern mPatternUrl = Pattern.compile("^URL=(.+)$");
+    private static final Pattern mPatternString = Pattern.compile("<string>(.+)</string>");
 
     public FileOperationsHelper(FileActivity fileActivity) {
         mFileActivity = fileActivity;
     }
 
-	@Nullable
+    @Nullable
     private String getUrlFromFile(String storagePath, Pattern pattern) {
         String url = null;
 
         InputStreamReader fr = null;
         BufferedReader br = null;
         try {
-            fr =  new InputStreamReader(new FileInputStream(storagePath), "UTF8");
+            fr = new InputStreamReader(new FileInputStream(storagePath), "UTF8");
             br = new BufferedReader(fr);
 
             String line;
@@ -102,7 +105,7 @@ public class FileOperationsHelper {
                 }
             }
         } catch (IOException e) {
-			Log_OC.d(TAG, e.getMessage());
+            Log_OC.d(TAG, e.getMessage());
         } finally {
             if (br != null) {
                 try {
@@ -121,20 +124,20 @@ public class FileOperationsHelper {
             }
         }
         return url;
-	}
-	
+    }
+
     @Nullable
     private Intent createIntentFromFile(String storagePath) {
         String url = null;
         int lastIndexOfDot = storagePath.lastIndexOf('.');
         if (lastIndexOfDot >= 0) {
             String fileExt = storagePath.substring(lastIndexOfDot + 1);
-            if (fileExt.equalsIgnoreCase("url") ||fileExt.equalsIgnoreCase("desktop")) {
-				// Windows internet shortcut file .url
-				// Ubuntu internet shortcut file .desktop
+            if (fileExt.equalsIgnoreCase("url") || fileExt.equalsIgnoreCase("desktop")) {
+                // Windows internet shortcut file .url
+                // Ubuntu internet shortcut file .desktop
                 url = getUrlFromFile(storagePath, mPatternUrl);
             } else if (fileExt.equalsIgnoreCase("webloc")) {
-				// mac internet shortcut file .webloc
+                // mac internet shortcut file .webloc
                 url = getUrlFromFile(storagePath, mPatternString);
             }
         }
@@ -162,7 +165,7 @@ public class FileOperationsHelper {
                 }
             }
 
-            if(openFileWithIntent == null) {
+            if (openFileWithIntent == null) {
                 openFileWithIntent = createIntentFromFile(storagePath);
             }
 
@@ -179,7 +182,7 @@ public class FileOperationsHelper {
             List<ResolveInfo> launchables = mFileActivity.getPackageManager().
                     queryIntentActivities(openFileWithIntent, PackageManager.GET_INTENT_FILTERS);
 
-            if(launchables != null && launchables.size() > 0) {
+            if (launchables != null && launchables.size() > 0) {
                 try {
                     mFileActivity.startActivity(
                             Intent.createChooser(
@@ -247,7 +250,7 @@ public class FileOperationsHelper {
         }
     }
 
-    public void getFileWithLink(OCFile file){
+    public void getFileWithLink(OCFile file) {
         if (isSharedSupported()) {
             if (file != null) {
                 mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
@@ -284,7 +287,7 @@ public class FileOperationsHelper {
         if (file != null) {
             // TODO check capability?
             mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
+                    getString(R.string.wait_a_moment));
 
             Intent service = new Intent(mFileActivity, OperationsService.class);
             service.setAction(OperationsService.ACTION_CREATE_SHARE_WITH_SHAREE);
@@ -332,7 +335,7 @@ public class FileOperationsHelper {
         queueShareIntent(unshareService);
     }
 
-    public void unshareFileWithUserOrGroup(OCFile file, ShareType shareType, String userOrGroup){
+    public void unshareFileWithUserOrGroup(OCFile file, ShareType shareType, String userOrGroup) {
 
         // Unshare the file: Create the intent
         Intent unshareService = new Intent(mFileActivity, OperationsService.class);
@@ -346,7 +349,7 @@ public class FileOperationsHelper {
     }
 
 
-    private void queueShareIntent(Intent shareIntent){
+    private void queueShareIntent(Intent shareIntent) {
         if (isSharedSupported()) {
             // Unshare the file
             mWaitingForOpId = mFileActivity.getOperationsServiceBinder().
@@ -370,7 +373,7 @@ public class FileOperationsHelper {
      *
      * @param file  File to share or unshare.
      */
-    public void showShareFile(OCFile file){
+    public void showShareFile(OCFile file) {
         Intent intent = new Intent(mFileActivity, ShareActivity.class);
         intent.putExtra(FileActivity.EXTRA_FILE, file);
         intent.putExtra(FileActivity.EXTRA_ACCOUNT, mFileActivity.getAccount());
@@ -508,8 +511,8 @@ public class FileOperationsHelper {
             // set MimeType
             sendIntent.setType(file.getMimetype());
             sendIntent.putExtra(
-                Intent.EXTRA_STREAM,
-                file.getExposedFileUri(mFileActivity)
+                    Intent.EXTRA_STREAM,
+                    file.getExposedFileUri(mFileActivity)
             );
             sendIntent.putExtra(Intent.ACTION_SEND, true);      // Send Action
 
@@ -524,18 +527,50 @@ public class FileOperationsHelper {
     }
 
     public void syncFiles(Collection<OCFile> files) {
-        for (OCFile file: files) {
+        for (OCFile file : files) {
             syncFile(file);
         }
     }
 
+    public void setPictureAs(OCFile file) {
+        if (file != null) {
+            if (file.isDown()) {
+                Context context = MainApp.getAppContext();
+
+                try {
+                    File externalFile = new File(file.getStoragePath());
+                    Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
+                    Uri sendUri;
+
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+                        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+                        sendUri = FileProvider.getUriForFile(context,
+                                context.getResources().getString(R.string.file_provider_authority), externalFile);
+                    } else {
+                        sendUri = Uri.fromFile(externalFile);
+                    }
+
+                    intent.setDataAndType(sendUri, file.getMimetype());
+                    intent.putExtra("mimeType", file.getMimetype());
+                    mFileActivity.startActivityForResult(Intent.createChooser(intent,
+                            mFileActivity.getString(R.string.set_as)), 200);
+
+                } catch (ActivityNotFoundException exception) {
+                    Toast.makeText(context, R.string.picture_set_as_no_app, Toast.LENGTH_LONG).show();
+                }
+            }
+        } else {
+            Log_OC.wtf(TAG, "Trying to send a NULL OCFile");
+        }
+    }
+
     /**
      * Request the synchronization of a file or folder with the OC server, including its contents.
      *
      * @param file          The file or folder to synchronize
      */
     public void syncFile(OCFile file) {
-        if (!file.isFolder()){
+        if (!file.isFolder()) {
             Intent intent = new Intent(mFileActivity, OperationsService.class);
             intent.setAction(OperationsService.ACTION_SYNC_FILE);
             intent.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
@@ -543,8 +578,8 @@ public class FileOperationsHelper {
             intent.putExtra(OperationsService.EXTRA_SYNC_FILE_CONTENTS, true);
             mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(intent);
             mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
-            
+                    getString(R.string.wait_a_moment));
+
         } else {
             Intent intent = new Intent(mFileActivity, OperationsService.class);
             intent.setAction(OperationsService.ACTION_SYNC_FOLDER);
@@ -557,37 +592,37 @@ public class FileOperationsHelper {
 
     public void toggleFavoriteFiles(Collection<OCFile> files, boolean shouldBeFavorite) {
         List<OCFile> alreadyRightStateList = new ArrayList<>();
-        for(OCFile file : files) {
-            if(file.getIsFavorite() == shouldBeFavorite) {
+        for (OCFile file : files) {
+            if (file.getIsFavorite() == shouldBeFavorite) {
                 alreadyRightStateList.add(file);
             }
         }
 
         files.removeAll(alreadyRightStateList);
 
-        for (OCFile file: files) {
+        for (OCFile file : files) {
             toggleFavoriteFile(file, shouldBeFavorite);
         }
     }
 
     public void toggleFavoriteFile(OCFile file, boolean shouldBeFavorite) {
-        if(file.getIsFavorite() != shouldBeFavorite) {
+        if (file.getIsFavorite() != shouldBeFavorite) {
             EventBus.getDefault().post(new FavoriteEvent(file.getRemotePath(), shouldBeFavorite, file.getRemoteId()));
         }
     }
 
 
-    public void toogleOfflineFiles(Collection<OCFile> files, boolean isAvailableOffline){
+    public void toogleOfflineFiles(Collection<OCFile> files, boolean isAvailableOffline) {
         List<OCFile> alreadyRightStateList = new ArrayList<>();
-        for(OCFile file : files) {
-            if(file.isAvailableOffline() == isAvailableOffline) {
+        for (OCFile file : files) {
+            if (file.isAvailableOffline() == isAvailableOffline) {
                 alreadyRightStateList.add(file);
             }
         }
 
         files.removeAll(alreadyRightStateList);
 
-        for (OCFile file: files) {
+        for (OCFile file : files) {
             toggleOfflineFile(file, isAvailableOffline);
         }
     }
@@ -612,7 +647,7 @@ public class FileOperationsHelper {
             }
         }
     }
-    
+
     public void renameFile(OCFile file, String newFilename) {
         // RenameFile
         Intent service = new Intent(mFileActivity, OperationsService.class);
@@ -621,7 +656,7 @@ public class FileOperationsHelper {
         service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath());
         service.putExtra(OperationsService.EXTRA_NEWNAME, newFilename);
         mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
-        
+
         mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
@@ -643,7 +678,7 @@ public class FileOperationsHelper {
             service.putExtra(OperationsService.EXTRA_REMOVE_ONLY_LOCAL, onlyLocalCopy);
             mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
         }
-        
+
         mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
@@ -655,8 +690,8 @@ public class FileOperationsHelper {
         service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
         service.putExtra(OperationsService.EXTRA_REMOTE_PATH, remotePath);
         service.putExtra(OperationsService.EXTRA_CREATE_FULL_PATH, createFullPath);
-        mWaitingForOpId =  mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
-        
+        mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
+
         mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
@@ -754,7 +789,7 @@ public class FileOperationsHelper {
         mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
 
         mFileActivity.showLoadingDialog(
-            mFileActivity.getString(R.string.wait_checking_credentials)
+                mFileActivity.getString(R.string.wait_checking_credentials)
         );
     }
 }

+ 4 - 0
src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@ -365,6 +365,10 @@ public class PreviewImageFragment extends FileFragment {
                 mContainerActivity.getFileOperationsHelper().syncFile(getFile());
                 return true;
 
+            case R.id.action_set_as_wallpaper:
+                mContainerActivity.getFileOperationsHelper().setPictureAs(getFile());
+                return true;
+
             default:
                 return super.onOptionsItemSelected(item);
         }

+ 4 - 0
src/main/java/com/owncloud/android/utils/MimeTypeUtil.java

@@ -175,6 +175,10 @@ public class MimeTypeUtil {
         return isImage(extractMimeType(file));
     }
 
+    public static boolean isSVG(OCFile file) {
+        return "image/svg+xml".equalsIgnoreCase(file.getMimetype());
+    }
+
     /**
      * @param file the file to be analyzed
      * @return 'True' if the file contains audio

+ 6 - 0
src/main/res/menu/file_actions_menu.xml

@@ -118,6 +118,12 @@
         app:showAsAction="never"
         android:showAsAction="never"
         android:orderInCategory="1" />
+    <item
+        android:id="@+id/action_set_as_wallpaper"
+        android:title="@string/set_picture_as"
+        app:showAsAction="never"
+        android:showAsAction="never"
+        android:orderInCategory="1" />
     <item
         android:id="@+id/action_see_details"
         android:title="@string/actionbar_see_details"

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

@@ -91,6 +91,7 @@
     <string name="file_list_empty_search">¿Quiciabes tea nuna carpeta diferente?</string>
     <string name="file_list_empty_recently_modified_filter">La to gueta nun devolvió ficheros
         modificaos nos caberos 7 díes.</string>
+    <string name="file_list_empty_recently_added_filter">La to gueta nun devolvió ficheros amestaos apocayá</string>
     <string name="file_list_empty_text_videos_filter">La to gueta nun devolvió vídeos.</string>
     <string name="upload_list_empty_headline">Nun hai xubes disponibles</string>
     <string name="file_list_folder">Carpeta</string>

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

@@ -540,9 +540,6 @@
     <string name="participate_release_candidate_headline">Předběžná verze</string>
     <string name="participate_release_candidate_text">Předběžná verze nebo také Release Candidate (RC) je stabilní stav připravované, finální verze. Přihlas se jako tester v Play store nebo si najdi a instaluj hodící se verzi z F-Droid pod \"Verze\".</string>
     <string name="participate_contribute_headline">Aktivně něčím přispět</string>
-    <string name="participate_contribute_irc_text">Diskutovat na IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Pomozte ostatním na &lt;a href="%1$s">fóru&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Přeložte&lt;/a> aplikaci</string>
     <string name="move_to">Přesunout do&#8230;</string>
     <string name="copy_to">Kopírovat do&#8230;</string>
     <string name="choose_remote_folder">Vybrat adresář&#8230;</string>

+ 12 - 14
src/main/res/values-de-rDE/strings.xml

@@ -108,7 +108,7 @@
     <string name="file_list_empty_headline_server_search">Keine Ergebnisse</string>
     <string name="file_list_empty_favorite_headline">Noch keine Favoriten vorhanden</string>
     <string name="file_list_empty_shared_headline">Noch nichts geteilt</string>
-    <string name="file_list_empty_shared">Von dir geteilte Dateien und Ordner werden hier erscheinen</string>
+    <string name="file_list_empty_shared">Von Ihnen geteilte Dateien und Ordner werden hier erscheinen</string>
     <string name="file_list_empty_headline_server_search_videos">Keine Videos</string>
     <string name="file_list_empty_headline_server_search_photos">Keine Fotos</string>
     <string name="file_list_empty_search">Vielleicht befindet es sich in einem anderen Ordner?</string>
@@ -172,7 +172,7 @@
     <string name="uploads_view_group_finished_uploads">Hochgeladen</string>
     <string name="uploads_view_upload_status_succeeded">Fertiggestellt</string>
     <string name="uploads_view_upload_status_cancelled">Abgebrochen</string>
-    <string name="uploads_view_upload_status_paused">pausiert</string>
+    <string name="uploads_view_upload_status_paused">Pausiert</string>
     <string name="uploads_view_upload_status_failed_connection_error">Verbindungsfehler</string>
     <string name="uploads_view_upload_status_failed_retry">Hochladen wird in Kürze erneut versucht</string>
     <string name="uploads_view_upload_status_failed_credentials_error">Zugangsdaten falsch</string>
@@ -214,7 +214,7 @@
     <string name="upload_query_move_foreign_files">Es steht nicht genügend Speicherplatz zur Verfügung, um die ausgewählten Dateien in das Verzeichnis %1$s zu kopieren. Sollen diese stattdessen verschoben werden?</string>
     <string name="pass_code_enter_pass_code">Bitte geben Sie Ihre PIN ein</string>
     
-    <string name="pass_code_configure_your_pass_code">Bitte PIN eingeben</string>
+    <string name="pass_code_configure_your_pass_code">PIN eingeben</string>
     <string name="pass_code_configure_your_pass_code_explanation">Die PIN wird jedes mal beim Start der App abgefragt</string>
     <string name="pass_code_reenter_your_pass_code">Bitte Ihre PIN nochmals eingeben</string>
     <string name="pass_code_remove_your_pass_code">PIN entfernen</string>
@@ -241,7 +241,7 @@
     <string name="media_err_unexpected">Ein unerwarteter Fehler ist aufgetreten beim Versuch %1$s wiederzugeben</string>
     <string name="media_rewind_description">Rückspulknopf</string>
     <string name="media_play_pause_description">Wiedergabe-/Pause Knopf</string>
-    <string name="media_forward_description">Vorspul Knopf</string>
+    <string name="media_forward_description">Vorspulknopf</string>
 
 	<string name="auth_getting_authorization">Genehmigung erhalten &#8230;</string>
 	<string name="auth_trying_to_login">Der Versuch, sich anzumelden &#8230;</string>
@@ -249,17 +249,17 @@
 	<string name="auth_nossl_plain_ok_title">Sichere Verbindung nicht verfügbar.</string>
 	<string name="auth_connection_established">Verbindung hergestellt</string>
 	<string name="auth_testing_connection">Verbindung testen</string>
-	<string name="auth_not_configured_title">Fehlerhafte Server Konfiguration</string>
+	<string name="auth_not_configured_title">Fehlerhafte Serverkonfiguration</string>
 	<string name="auth_account_not_new">Ein Benutzerkonto für den gleichen Benutzer und Server existiert auf diesem Gerät bereits</string>
 	<string name="auth_account_not_the_same">Der eingegebene Benutzer passt nicht zu dem Benutzer dieses Benutzerkontos</string>
 	<string name="auth_unknown_error_title">Ein unbekannter Fehler ist aufgetreten!</string>
 	<string name="auth_unknown_host_title">Konnte den Host nicht finden</string>
 	<string name="auth_incorrect_path_title">Server nicht gefunden</string>
 	<string name="auth_timeout_title">Der Server braucht zu lange für eine Antwort.</string>
-	<string name="auth_incorrect_address_title">Falsches Adress-Format für den Server</string>
-	<string name="auth_ssl_general_error_title">SSL-Initialisierung fehlgeschlagen.</string>
+	<string name="auth_incorrect_address_title">Falsches Adressformat für den Server</string>
+	<string name="auth_ssl_general_error_title">SSL-Initialisierung fehlgeschlagen</string>
 	<string name="auth_ssl_unverified_server_title">SSL-Server-Identität konnte nicht überprüft werden</string>
-	<string name="auth_bad_oc_version_title">Unbekannte Server-Version</string>
+	<string name="auth_bad_oc_version_title">Unbekannte Serverversion</string>
 	<string name="auth_wrong_connection_title">Verbindung konnte nicht hergestellt werden</string>
 	<string name="auth_secure_connection">Sichere Verbindung hergestellt</string>
 	<string name="auth_unauthorized">Falscher Benutzername oder Passwort</string>
@@ -560,10 +560,10 @@
     <string name="participate_release_candidate_headline">Vorabversion</string>
     <string name="participate_release_candidate_text">Eine Vorabversion, auch Release Candidate (RC) genannt, ist ein stabiler Stand der kommenden, finalen Version. Ein Test in der eigenen Umgebung hilft uns diese Stabilität sicherzustellen. Melden Sie sich als Tester im Play Store an oder suchen und installieren Sie die passende Version bei F-Droid unter „Versionen“.</string>
     <string name="participate_contribute_headline">Aktiv etwas beitragen</string>
-    <string name="participate_contribute_irc_text">An Chats teilnehmen auf IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Hilf anderen im &lt;a href="%1$s">Forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">Die App &lt;a href="%1$s">Übersetzen&lt;/a></string>
-    <string name="participate_contribute_github_text">Zum Überprüfen, Ändern und Schreiben von Quellcode schaue bitte unter &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> für weitere Details.</string>
+    <string name="participate_contribute_irc_text">An Chats auf IRC teil: &lt;a href=\"%1$s\">#nexcloud-mobile&lt;/a></string>
+    <string name="participate_contribute_forum_text">Helfe anderen im &lt;a href=\\"%1$s\\">Forum&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\\"%1$s\\">Übersetze&lt;/a>die App</string>
+    <string name="participate_contribute_github_text">Prüfen, ändern und schreiben Sie Code. Siehe auch  &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> für Einzelheiten</string>
     <string name="move_to">Verschieben nach&#8230;</string>
     <string name="copy_to">Kopieren nach&#8230;</string>
     <string name="choose_remote_folder">Wähle Verzeichnis&#8230;</string>
@@ -655,6 +655,4 @@
     <string name="new_notification_received">Neue Benachrichtigung erhalten</string>
     <string name="drawer_logout">Abmelden</string>
     <string name="privacy">Datenschutz</string>
-
-
 </resources>

+ 4 - 6
src/main/res/values-de/strings.xml

@@ -561,10 +561,10 @@
     <string name="participate_release_candidate_headline">Vorabversion</string>
     <string name="participate_release_candidate_text">Eine Vorabversion, auch Release Candidate (RC) genannt, ist ein stabiler Stand der kommenden, finalen Version. Ein Test in der eigenen Umgebung hilft uns diese Stabilität sicherzustellen. Melden Sie sich als Tester im Play Store an oder suchen und installieren Sie die passende Version bei F-Droid unter „Versionen“.</string>
     <string name="participate_contribute_headline">Aktiv etwas beitragen</string>
-    <string name="participate_contribute_irc_text">An Chats teilnehmen auf IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Hilf anderen im &lt;a href="%1$s">Forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">Die App &lt;a href="%1$s">Übersetzen&lt;/a></string>
-    <string name="participate_contribute_github_text">Zum Überprüfen, Ändern und Schreiben von Quellcode schaue bitte unter &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> für weitere Details.</string>
+    <string name="participate_contribute_irc_text">Trete dem Chat auf IRC bei: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
+    <string name="participate_contribute_forum_text">Hilf Anderen im &lt;a href=\"%1$s\">Forum&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Übersetze&lt;/a> die App</string>
+    <string name="participate_contribute_github_text">Prüfe, ändere und schreibe Code. Siehe auch &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> für Einzelheiten</string>
     <string name="move_to">Verschieben nach&#8230;</string>
     <string name="copy_to">Kopieren nach&#8230;</string>
     <string name="choose_remote_folder">Wähle Verzeichnis&#8230;</string>
@@ -656,6 +656,4 @@
     <string name="new_notification_received">Neue Benachrichtigung erhalten</string>
     <string name="drawer_logout">Abmelden</string>
     <string name="privacy">Datenschutz</string>
-
-
 </resources>

+ 0 - 4
src/main/res/values-el/strings.xml

@@ -557,10 +557,6 @@
     <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_release_candidate_text">Η υποψήφια κυκλοφορία (RC) είναι ένα στιγμιότυπο της επερχόμενης έκδοσης και αναμένεται να είναι σταθερή. Η δοκιμή της μεμονωμένης εγκατάστασής σας θα βοηθήσει στην εξασφάλιση αυτού. Εγγραφείτε για δοκιμές στο Play store ή χειροκίνητα αναζητείστε στο τμήμα \"εκδόσεις\" στο F-Droid.</string>
     <string name="participate_contribute_headline">Ενεργή συνεισφορά</string>
-    <string name="participate_contribute_irc_text">Συμμετέχετε στη συνομιλία στο IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Βοηθήστε χρήστες στο &lt;a href=\"%1$s\">forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Μεταφράστε&lt;/a> την εφαρμογή</string>
-    <string name="participate_contribute_github_text">Συνεισφέρετε ως προγραμματιστής, για περισσότερες λεπτομέρειες δείτε &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a></string>
     <string name="move_to">Μετακίνηση σε&#8230;</string>
     <string name="copy_to">Αντιγραφή σε&#8230;</string>
     <string name="choose_remote_folder">Επιλογή φακέλου&#8230;</string>

+ 4 - 5
src/main/res/values-en-rGB/strings.xml

@@ -559,9 +559,10 @@
     <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_release_candidate_text">The release candidate (RC) is a snapshot of the upcoming release and is expected to be stable. Testing your individual setup could help ensure this. Sign up for testing on the Play store or manually look in the \"versions\" section on F-Droid.</string>
     <string name="participate_contribute_headline">Actively Contribute</string>
-    <string name="participate_contribute_irc_text">Join the chat on IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Help others on the &lt;a href="%1$s">forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Translate&lt;/a> the app</string>
+    <string name="participate_contribute_irc_text">Join the chat on IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
+    <string name="participate_contribute_forum_text">Help others on the &lt;a href=\"%1$s\">forum&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Translate&lt;/a> the app</string>
+    <string name="participate_contribute_github_text">Review, amend and write code, see &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> for details</string>
     <string name="move_to">Move to&#8230;</string>
     <string name="copy_to">Copy to&#8230;</string>
     <string name="choose_remote_folder">Choose folder&#8230;</string>
@@ -653,6 +654,4 @@
     <string name="new_notification_received">New notification received</string>
     <string name="drawer_logout">Logout</string>
     <string name="privacy">Privacy</string>
-
-
 </resources>

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

@@ -560,10 +560,6 @@ en los últimos 7 días. </string>
     <string name="participate_release_candidate_headline">Candidato a lanzamiento</string>
     <string name="participate_release_candidate_text">El candidato a lanzamiento (CL) es una foto del más próximo lanzamiento y se espera que sea estable. Las pruebas a su configuración individual podrían ayudarnos a asegurar esto. Regístrese para hacer pruebas en la Play Store o consulte directamente la sección de \"versiones\" en F-Droid. </string>
     <string name="participate_contribute_headline">Contribuya activamente</string>
-    <string name="participate_contribute_irc_text">Únase a las conversaciones en IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Ayude a los demás en el &lt;a href=\"%1$s\">foro&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Traduzca&lt;/a> la aplicación</string>
-    <string name="participate_contribute_github_text">Revise, corrija y escriba código, consulte &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUIR.md&lt;/a> para más detalles</string>
     <string name="move_to">Mover a&#8230;</string>
     <string name="copy_to">Copiar a&#8230;</string>
     <string name="choose_remote_folder">Seleccione la carpeta&#8230;</string>
@@ -655,6 +651,4 @@ en los últimos 7 días. </string>
     <string name="new_notification_received">No se han recibido nuevas notificaciones </string>
     <string name="drawer_logout">Salir de la sesión</string>
     <string name="privacy">Privacidad</string>
-
-
 </resources>

+ 0 - 4
src/main/res/values-es/strings.xml

@@ -558,10 +558,6 @@
     <string name="participate_release_candidate_headline">Versión a ser liberada</string>
     <string name="participate_release_candidate_text">La versión a ser liberada (release candidate - RC) es una instantánea de la próxima versión y se espera que sea estable. Probar su configuración individual podría ayudar a asegurar esto. Regístrate para probarla en Play Store o busca manualmente en la sección \"versiones\" de F-Droid.</string>
     <string name="participate_contribute_headline">Colabore activamente</string>
-    <string name="participate_contribute_irc_text">Únase a la conversación en IRC:  &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Ayude a otros en el foro &lt;a href=\"%1$s\">&lt;/a>.</string>
-    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Traducen&lt;/a> la app</string>
-    <string name="participate_contribute_github_text">Revisa, corrige y escribe código, lee  &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> para más detalles</string>
     <string name="move_to">Mover a&#8230;</string>
     <string name="copy_to">Copiar a&#8230;</string>
     <string name="choose_remote_folder">Elija carpeta&#8230;</string>

+ 3 - 5
src/main/res/values-fr/strings.xml

@@ -559,10 +559,10 @@
     <string name="participate_release_candidate_headline">Testez la version Release Candidate</string>
     <string name="participate_release_candidate_text">La version « release candidate » (RC) est un instantanné de la prochaine version et est supposée stable. Le test de votre configuration pourrait nous aider à nous assurer que cette version est entièrement stable. Inscrivez vous pour être testeur sur le Play store ou allez jeter un œil dans la section \"versions\" de F-Droid.</string>
     <string name="participate_contribute_headline">Participez activement</string>
-    <string name="participate_contribute_irc_text">Rejoignez la discussion sur IRC &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a>.</string>
-    <string name="participate_contribute_forum_text">Aidez les autres sur le &lt;a href=\"%1$s\">forum&lt;/a>.</string>
+    <string name="participate_contribute_irc_text">Rejoingnez la discussion sur le canal IRC : &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a>.</string>
+    <string name="participate_contribute_forum_text">Aidez les autres utilisateurs sur &lt;a href=\"%1$s\">le forum&lt;/a>.</string>
     <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Traduisez&lt;/a> l\'application.</string>
-    <string name="participate_contribute_github_text">Vous êtes développeur ? Consultez &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> pour plus d\'informations</string>
+    <string name="participate_contribute_github_text">Pour contrôler, réviser ou écrire du code, consultez &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a>.</string>
     <string name="move_to">Déplacer vers&#8230;</string>
     <string name="copy_to">Copier vers&#8230;</string>
     <string name="choose_remote_folder">Sélectionner le dossier&#8230;</string>
@@ -654,6 +654,4 @@
     <string name="new_notification_received">Nouvelle notification reçue</string>
     <string name="drawer_logout">Se déconnecter</string>
     <string name="privacy">Vie privée</string>
-
-
 </resources>

+ 0 - 6
src/main/res/values-is/strings.xml

@@ -530,10 +530,6 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="participate_release_candidate_headline">Forútgáfa</string>
     <string name="participate_release_candidate_text">Útgáfukandídat (RC) er stöðutaka á væntanlegri útgáfu og er vænst til að hún sé nokkuð stöðug. Með prófun á uppsetningunni þinni værirðu að hjálpa til við að tryggja þann stöðugleika. Skráðu þig til prófana í Play-safninu eða skoðaðu handvirkt í \"útgáfur\" hlutanum á F-Droid.</string>
     <string name="participate_contribute_headline">Vertu virkur þáttakandi</string>
-    <string name="participate_contribute_irc_text">Taktu þátt í spjalli á IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Hjálpaðu öðrum á &lt;a href=\"%1$s\">spjallvefnum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Þýða&lt;/a> forritið</string>
-    <string name="participate_contribute_github_text">Yfirfarðu kóða, bættu við og skrifaðu, sjá &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> fyrir nánari upplýsingar</string>
     <string name="move_to">Færa í&#8230;</string>
     <string name="copy_to">Afrita í&#8230;</string>
     <string name="choose_remote_folder">Veldu möppu&#8230;</string>
@@ -621,6 +617,4 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
     <string name="new_notification_received">Tók á móti nýrri tilkynningu</string>
     <string name="drawer_logout">Útskráning</string>
     <string name="privacy">Gagnaleynd</string>
-
-
 </resources>

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

@@ -436,9 +436,6 @@
     <string name="participate_beta_headline">開発バージョンをテスト</string>
     <string name="participate_release_candidate_headline">リリース候補</string>
     <string name="participate_contribute_headline">積極的な貢献</string>
-    <string name="participate_contribute_irc_text">IRCでチャットに参加してください: &lt;a href=\"%1$s\">#nextcloud-モバイル&lt;/a></string>
-    <string name="participate_contribute_forum_text">&lt;a href=\"%1$s\">フォーラム&lt;/a> で他の人を助けてください</string>
-    <string name="participate_contribute_translate_text">アプリを &lt;a href=\"%1$s\">翻訳する&lt;/a></string>
     <string name="move_to">&#8230;に移動</string>
     <string name="copy_to">&#8230;にコピー</string>
     <string name="choose_remote_folder">&#8230; フォルダーを選択</string>

+ 4 - 4
src/main/res/values-nb-rNO/strings.xml

@@ -543,6 +543,8 @@
     <string name="local_file_not_found_toast">Filen ble ikke funnet i lokalt filsystem</string>
     <string name="confirmation_remove_files_alert">Vil du virkelig fjerne de valgte elementene?</string>
     <string name="confirmation_remove_folders_alert">Vil du virkelig fjerne de valgte elementene og dets innhold?</string>
+    <string name="maintenance_mode">Tjener i vedlikeholdsmodus</string>
+
     <string name="uploads_view_upload_status_waiting_for_charging">Venter på lading av enhet.</string>
     <string name="actionbar_search">Søk</string>
     <string name="files_drop_not_supported">Dette er en Nextcloud funksjon, vennligst oppdater.</string>
@@ -558,9 +560,6 @@
     <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_release_candidate_text">Release candidate (RC) er en pakke av den kommende utgaven og er forventet å være stabil. Ved å teste denne med ditt oppsett vil kunne hjelpe oss å sikre dette. Meld deg på for testen i Play butikken eller se i versjonsseksjonen i F-Droid.</string>
     <string name="participate_contribute_headline">Bidra aktivt</string>
-    <string name="participate_contribute_irc_text">Delta i chat på IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a> </string>
-    <string name="participate_contribute_forum_text">Hjelp andre på &lt;a href="%1$s">forumet&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Oversette&lt;/a> app\'en</string>
     <string name="move_to">Flytt til&#8230;</string>
     <string name="copy_to">Kopier til&#8230;</string>
     <string name="choose_remote_folder">Velg mappe&#8230;</string>
@@ -651,4 +650,5 @@
     <!-- Notifications -->
     <string name="new_notification_received">Nytt varsel mottatt</string>
     <string name="drawer_logout">Utlogging</string>
-    </resources>
+    <string name="privacy">Personvern</string>
+</resources>

+ 10 - 5
src/main/res/values-nl/strings.xml

@@ -544,6 +544,8 @@ Kies er eentje van een provider.</string>
     <string name="local_file_not_found_toast">Het bestand is niet te vinden binnen het lokale bestandssysteem.</string>
     <string name="confirmation_remove_files_alert">Wil je de geselecteerde objecten echt verwijderen?</string>
     <string name="confirmation_remove_folders_alert">Wil je de geselecteerde objecten en hun inhoud echt verwijderen?</string>
+    <string name="maintenance_mode">Server in onderhoudsmodus</string>
+
     <string name="uploads_view_upload_status_waiting_for_charging">Wachten to apparaat wordt opgeladen</string>
     <string name="actionbar_search">Zoeken</string>
     <string name="files_drop_not_supported">Dit is een Nextcloud-optie, gelieve te updaten.</string>
@@ -559,10 +561,12 @@ Kies er eentje van een provider.</string>
     <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_release_candidate_text">De Release Candidate (RC) is een kopie van de komende release en zou stabiel moeten zijn. Testen van jouw installatie kan ons helpen om dit te bevestigen. Meld je aan om te testen op de Play Store of bekijk handmatig de \"versies\"-sectie op F-Droid.</string>
     <string name="participate_contribute_headline">Actief meedoen</string>
-    <string name="participate_contribute_irc_text">Doe mee met de chat op IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Help andere gebruikers in de &lt;a href="%1$s">forums&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Vertaal&lt;/a> de app</string>
-    <string name="participate_contribute_github_text">Review, voeg toe en schrijf code, bekijk &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> voor details</string>
+    <string name="participate_contribute_irc_text">Bezoek de IRC chat op IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a>
+</string>
+    <string name="participate_contribute_forum_text">Help anderen op het &lt;a href=\"%1$s\">forum&lt;/a>
+</string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Vertaal&lt;/a> de app</string>
+    <string name="participate_contribute_github_text">Bekijk, schrijf of pas code aan. Kijk in &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> voor meer details</string>
     <string name="move_to">Verplaats naar&#160;&#8230;</string>
     <string name="copy_to">Kopieer naar&#160;&#8230;</string>
     <string name="choose_remote_folder">Kies map&#160;&#8230;</string>
@@ -653,4 +657,5 @@ Kies er eentje van een provider.</string>
     <!-- Notifications -->
     <string name="new_notification_received">Nieuwe meldingen ontvangen</string>
     <string name="drawer_logout">Uitloggen</string>
-    </resources>
+    <string name="privacy">Privacy</string>
+</resources>

+ 4 - 6
src/main/res/values-pl/strings.xml

@@ -559,10 +559,10 @@
     <string name="participate_release_candidate_headline">Wydanie kandydujące</string>
     <string name="participate_release_candidate_text">Release Candidate (RC) jest zarysem nadchodzącego wydania i oczekujemy że będzie stabilne. Testowanie indywidualnej konfiguracji może pomóc, aby to zapewnić. Zapisz się do testowania w sklepie Play lub ręcznie szukaj w sekcji \"wersje\" na F-Droid.</string>
     <string name="participate_contribute_headline">Aktywni członkowie projektu</string>
-    <string name="participate_contribute_irc_text">Dołącz do chatu (IRC): &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Pomóż innym na &lt;a href="%1$s">forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Tłumacz&lt;/a> aplikację</string>
-    <string name="participate_contribute_github_text">Wspomóż nas jako programista, po więcej szczegółów odwiedź &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a></string>
+    <string name="participate_contribute_irc_text">Dołącz do rozmowy na IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
+    <string name="participate_contribute_forum_text">Pomóż innym na &lt;a href=\"%1$s\">forum&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Przetłumacz&lt;/a> aplikację</string>
+    <string name="participate_contribute_github_text">Przejrzyj, zmień i wpisz kod, zobacz szczegóły: &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a></string>
     <string name="move_to">Przenieś do&#8230;</string>
     <string name="copy_to">Skopiuj do&#8230;</string>
     <string name="choose_remote_folder">Wybierz folder&#8230;</string>
@@ -656,6 +656,4 @@
     <string name="new_notification_received">Otrzymano nowe powiadomienie</string>
     <string name="drawer_logout">Wyloguj</string>
     <string name="privacy">Prywatność</string>
-
-
 </resources>

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

@@ -560,10 +560,10 @@
     <string name="participate_release_candidate_headline">Candidato a versão</string>
     <string name="participate_release_candidate_text">O release candidate (RC) é um instantâneo da próxima versão e espera-se que seja estável. Testar sua configuração individual pode ajudar a garantir isso. Inscreva-se para testar na Play Store ou confira a seção \"versões\" no F-Droid.</string>
     <string name="participate_contribute_headline">Contribuir ativamente</string>
-    <string name="participate_contribute_irc_text">Participe de uma conversa no IRC: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Ajude outros no &lt;a href="%1$s">forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">Traduza&lt;/a> the app</string>
-    <string name="participate_contribute_github_text">Revisar, alterar e escrever código, veja &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> para detalhes</string>
+    <string name="participate_contribute_irc_text">Junte-se ao chat no IRC:&lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
+    <string name="participate_contribute_forum_text">Ajude os outros no &lt;a href=\"%1$s\">forum&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Traduzir&lt;/a> o aplicativo</string>
+    <string name="participate_contribute_github_text">Rever, alterar e escrever código, consulte &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> para detalhes</string>
     <string name="move_to">Mover para&#8230;</string>
     <string name="copy_to">Copiar para&#8230;</string>
     <string name="choose_remote_folder">Escolha a pasta&#8230;</string>
@@ -655,6 +655,4 @@
     <string name="new_notification_received">Nova notificação recebida</string>
     <string name="drawer_logout">Sair</string>
     <string name="privacy">Privacidade</string>
-
-
 </resources>

+ 3 - 5
src/main/res/values-ru/strings.xml

@@ -563,9 +563,9 @@
     <string name="participate_release_candidate_text">Релиз-кандидат (RC) — это текущее состояние готовящегося выпуска, и, ожидается, что он будет стабильным. Проверка с вашими индивидуальными настройками может помочь убедится в этом. Зарегистрируйтесь для тестирования в Google Play или используйте раздел «версии» в каталоге приложений F-Droid.</string>
     <string name="participate_contribute_headline">Активное участие</string>
     <string name="participate_contribute_irc_text">Присоединяйтесь к IRC-чату: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Помогайте другим на нашем &lt;a href=\"%1$s\">форуме&lt;/a></string>
-    <string name="participate_contribute_translate_text">Участвуйте в &lt;a href=\"%1$s\">переводе&lt;/a> приложения</string>
-    <string name="participate_contribute_github_text">Рецензируйте, изменяйте и пишите код, подробности по ссылке &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a>.</string>
+    <string name="participate_contribute_forum_text">Помогайте другим на &lt;a href=\"%1$s\">форуме&lt;/a></string>
+    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Переводите&lt;/a> приложение</string>
+    <string name="participate_contribute_github_text">Рецензируйте, изменяйте и пишите код, подробности по ссылке  &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> </string>
     <string name="move_to">Переместить в&#8230;</string>
     <string name="copy_to">Копировать в&#8230;</string>
     <string name="choose_remote_folder">Выберите каталог &#8230;</string>
@@ -659,6 +659,4 @@
     <string name="new_notification_received">Получено новое уведомление</string>
     <string name="drawer_logout">Выйти</string>
     <string name="privacy">Конфиденциальность</string>
-
-
 </resources>

+ 0 - 6
src/main/res/values-sq/strings.xml

@@ -558,10 +558,6 @@ në 7 ditët e fundit.</string>
     <string name="participate_release_candidate_headline">Lëshimi i kandidatit</string>
     <string name="participate_release_candidate_text">Lëshimi i kandidatit  (RC) është një fragment i lëshimit të ardhshme dhe pritet të jetë i qëndrueshëm. Testimi i setup-it tuaj individuale mund të ndihmojë për ta siguruar këtë. Regjistrohuni për testimin në Play Store ose manualisht  shikoni në seksionin \"versionet\" në F-Droid.</string>
     <string name="participate_contribute_headline">Kontribim aktiv</string>
-    <string name="participate_contribute_irc_text">Bashkohu në bisedat në IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">Ndihmo të tjerët në &lt;a href="%1$s">forum&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href=\"%1$s\">Përktheni&lt;/a> aplikacionin</string>
-    <string name="participate_contribute_github_text">Kontriboni si një zhvillues, shih&lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> për detaje</string>
     <string name="move_to">Levizni tek&#8230;</string>
     <string name="copy_to">Kopjojeni tek&#8230;</string>
     <string name="choose_remote_folder">Zgjidh dosjen&#8230;</string>
@@ -653,6 +649,4 @@ në 7 ditët e fundit.</string>
     <string name="new_notification_received">Morët njoftime të reja</string>
     <string name="drawer_logout">Dilni</string>
     <string name="privacy">Privatësi</string>
-
-
 </resources>

+ 16 - 18
src/main/res/values-tr/strings.xml

@@ -150,7 +150,7 @@
     <string name="common_error">Hata</string>
     <string name="common_loading">Yükleniyor&#8230;</string>
     <string name="common_unknown">bilinmiyor</string>
-    <string name="common_error_unknown">Bilinmeyen hata</string>
+    <string name="common_error_unknown">Bilinmeyen sorun</string>
     <string name="common_pending">Bekliyor</string>
     <string name="about_title">Hakkında</string>
     <string name="change_password">Parola değiştir</string>
@@ -173,16 +173,16 @@
     <string name="uploads_view_upload_status_succeeded">Tamamlandı</string>
     <string name="uploads_view_upload_status_cancelled">İptal Edildi</string>
     <string name="uploads_view_upload_status_paused">Duraklatıldı</string>
-    <string name="uploads_view_upload_status_failed_connection_error">Bağlantı hatası</string>
+    <string name="uploads_view_upload_status_failed_connection_error">Bağlantı sorunu</string>
     <string name="uploads_view_upload_status_failed_retry">Yükleme kısa bir süre sonra yeniden denenecek</string>
-    <string name="uploads_view_upload_status_failed_credentials_error">Kimlik bilgileri hatası</string>
-    <string name="uploads_view_upload_status_failed_folder_error">Klasör hatası</string>
-    <string name="uploads_view_upload_status_failed_file_error">Dosya hatası</string>
+    <string name="uploads_view_upload_status_failed_credentials_error">Kimlik bilgileri sorunu</string>
+    <string name="uploads_view_upload_status_failed_folder_error">Klasör sorunu</string>
+    <string name="uploads_view_upload_status_failed_file_error">Dosya sorunu</string>
     <string name="uploads_view_upload_status_failed_localfile_error">Yerel dosya bulunamadı</string>
-    <string name="uploads_view_upload_status_failed_permission_error">İzin hatası</string>
+    <string name="uploads_view_upload_status_failed_permission_error">İzin sorunu</string>
     <string name="uploads_view_upload_status_conflict">Çakışma</string>
     <string name="uploads_view_upload_status_service_interrupted">Uygulama sonlandırıldı</string>
-    <string name="uploads_view_upload_status_unknown_fail">Bilinmeyen hata</string>
+    <string name="uploads_view_upload_status_unknown_fail">Bilinmeyen sorun</string>
     <string name="uploads_view_upload_status_waiting_for_wifi">WiFi bağlantısı bekleniyor</string>
     <string name="uploads_view_later_waiting_to_upload">Yüklenmeyi bekliyor</string>
     <string name="downloader_download_in_progress_ticker">İndiriliyor&#8230;</string>
@@ -219,7 +219,7 @@
     <string name="pass_code_reenter_your_pass_code">Lütfen parolanızı yeniden yazın</string>
     <string name="pass_code_remove_your_pass_code">Parolanızı kaldırın</string>
     <string name="pass_code_mismatch">Parola ile onayı aynı değil</string>
-    <string name="pass_code_wrong">Parola hatalı</string>
+    <string name="pass_code_wrong">Parola yanlış</string>
     <string name="pass_code_removed">Parola kaldırıldı</string>
     <string name="pass_code_stored">Parola depolandı</string>
     
@@ -249,20 +249,20 @@
 	<string name="auth_nossl_plain_ok_title">Güvenli bağlantı kullanılamıyor.</string>
 	<string name="auth_connection_established">Bağlantı kuruldu</string>
 	<string name="auth_testing_connection">Bağlantı sınanıyor</string>
-	<string name="auth_not_configured_title">Sunucu ayarları hatalı</string>
+	<string name="auth_not_configured_title">Sunucu ayarları doğru değil</string>
 	<string name="auth_account_not_new">Aygıt üzerinde aynı kullanıcı adı ve sunucu için bir hesap zaten var</string>
 	<string name="auth_account_not_the_same">Yazdığınız kullanıcı adı bu hesabın kullanıcı adı ile eşleşmiyor</string>
 	<string name="auth_unknown_error_title">Bilinmeyen bir sorun çıktı!</string>
 	<string name="auth_unknown_host_title">Sunucu adı bulunamadı</string>
 	<string name="auth_incorrect_path_title">Sunucu bulunamadı</string>
 	<string name="auth_timeout_title">Sunucu çok geç yanıt veriyor</string>
-	<string name="auth_incorrect_address_title">Sunucu adresi biçimi hatalı</string>
+	<string name="auth_incorrect_address_title">Sunucu adresi biçimi yanlış</string>
 	<string name="auth_ssl_general_error_title">SSL başlatılamadı</string>
 	<string name="auth_ssl_unverified_server_title">SSL sunucusunun kimliği doğrulanamadı</string>
 	<string name="auth_bad_oc_version_title">Sunucu sürümü anlaşılamadı</string>
 	<string name="auth_wrong_connection_title">Bağlantı kurulamadı</string>
 	<string name="auth_secure_connection">Güvenli bağlantı kuruldu</string>
-	<string name="auth_unauthorized">Kullanıcı adı ya da parola hatalı</string>
+	<string name="auth_unauthorized">Kullanıcı adı ya da parola yanlış</string>
 	<string name="auth_oauth_error">Kimlik doğrulanamadı</string>
 	<string name="auth_oauth_error_access_denied">Kimlik doğrulama sunucusu erişime izin vermedi</string>
 	<string name="auth_wtf_reenter_URL">Beklenilmeyen durum; Lütfen sunucu adresini yeniden yazın</string>
@@ -437,7 +437,7 @@
 	<string name="log_progress_dialog_text">Veri yükleniyor&#8230;</string>
 
 	<string name="saml_authentication_required_text">Kimlik doğrulaması gerekli</string>
-	<string name="saml_authentication_wrong_pass">Parola hatalı</string>
+	<string name="saml_authentication_wrong_pass">Parola yanlış</string>
 	<string name="actionbar_move">Taşı</string>
     <string name="actionbar_copy">Kopyala</string>
 	<string name="file_list_empty_moving">Burada bir şey yok. Bir klasör ekleyebilirsiniz!</string>
@@ -556,14 +556,14 @@
     <string name="participate_testing_report_text">Github üzerinden bir sorun bildirin</string>
     <string name="participate_testing_version_text">Sonraki sürümü deneyerek bize yardımcı olmak ister misiniz?</string>
     <string name="participate_beta_headline">Geliştirici sürümünü deneyin</string>
-    <string name="participate_beta_text">Bu sürümde tüm yeni özellikler bulunur ve çok taze olduğundan hata ve sorunlar olabilir. Bir hata ya da soruna rastlarsanız bize iletin.</string>
+    <string name="participate_beta_text">Bu sürümde tüm yeni özellikler bulunur ve çok taze olduğundan eksikleri olabilir. Bir hata ya da soruna rastlarsanız bize iletin.</string>
     <string name="participate_release_candidate_headline">Yayın adayı</string>
     <string name="participate_release_candidate_text">Yayın adayı (Release Candidate, RC) yayınlanacak sürümün bir kopyasıdır ve kararlı olması beklenir. Kişisel olarak kullanmanız kararlı olduğundan emin olmamızı sağlar. Denemek için Play Store üzerinden kayıt olun ya da el ile F-Droid üzerindeki \"sürümler\" bölümüne bakın.</string>
     <string name="participate_contribute_headline">Etkin Katkıda Bulunun</string>
     <string name="participate_contribute_irc_text">IRC sohbetine katılın: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">&lt;a href=\"%1$s\">forum&lt;/a> üzerinde diğer kişilere yardımcı olun</string>
-    <string name="participate_contribute_translate_text">Uygulamayı &lt;a href="%1$s">çevirin&lt;/a> </string>
-    <string name="participate_contribute_github_text">Yazılımcı olarak katkıda bulunun! Ayrıntılı bilgi almak için &lt;a href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">KATKIDA BULUNMA.md&lt;/a> sayfasına bakın</string>
+    <string name="participate_contribute_forum_text">&lt;a href=\"%1$s\">Forumda&lt;/a> diğer kullanıcılara yardımcı olun</string>
+    <string name="participate_contribute_translate_text">Uygulamayı &lt;a href=\"%1$s\">Çevirin&lt;/a></string>
+    <string name="participate_contribute_github_text">Kodu gözden geçirin ve katkıda bulunun. Ayrıntılar için &lt;a href=\"%1$s\">CONTRIBUTING.md&lt;a> dosyasına bakın</string>
     <string name="move_to">Taşı&#8230;</string>
     <string name="copy_to">Kopyala&#8230;</string>
     <string name="choose_remote_folder">Klasör seçin&#8230;</string>
@@ -655,6 +655,4 @@
     <string name="new_notification_received">Yeni bir bildirim var</string>
     <string name="drawer_logout">Oturumu Kapat</string>
     <string name="privacy">Gizlilik</string>
-
-
 </resources>

+ 0 - 6
src/main/res/values-zh-rCN/strings.xml

@@ -562,10 +562,6 @@
     <string name="participate_release_candidate_headline">发行候选版本</string>
     <string name="participate_release_candidate_text">发布候选人(RC)是即将发布的快照,预计将稳定。 测试您的个人设置可以帮助确保这一点。 注册在Play商店进行测试,或手动查看F-Droid上的“版本”部分。</string>
     <string name="participate_contribute_headline">活跃的候选版</string>
-    <string name="participate_contribute_irc_text">在IRC上加入这个会话: &lt;a href="%1$s">#nextcloud-mobile&lt;/a></string>
-    <string name="participate_contribute_forum_text">帮助他人在 &lt;a href="%1$s">论坛&lt;/a></string>
-    <string name="participate_contribute_translate_text">&lt;a href="%1$s">翻译&lt;/a> 应用程序</string>
-    <string name="participate_contribute_github_text">查看,修改和编写代码,有关详细信息,请参阅&lt;a   href=\"https://github.com/nextcloud/android/blob/master/CONTRIBUTING.md\">CONTRIBUTING.md&lt;/a> </string>
     <string name="move_to">转移到&#8230;</string>
     <string name="copy_to">复制到</string>
     <string name="choose_remote_folder">选择文件夹&#8230;</string>
@@ -656,6 +652,4 @@
     <string name="new_notification_received">收到新提示</string>
     <string name="drawer_logout">退出</string>
     <string name="privacy">隐私</string>
-
-
 </resources>

+ 4 - 2
src/main/res/values/strings.xml

@@ -483,6 +483,9 @@
     <string name="file_list__footer__files">%1$d files</string>
     <string name="file_list__footer__files_and_folder">%1$d files, 1 folder</string>
     <string name="file_list__footer__files_and_folders">%1$d files, %2$d folders</string>
+    <string name="set_picture_as">Set picture as</string>
+    <string name="set_as">Set As</string>
+
     <string name="prefs_instant_behaviour_dialogTitle">Original file will be&#8230;</string>
     <string name="prefs_instant_behaviour_title">Original file will be&#8230;</string>
     <string name="upload_copy_files">Copy file</string>
@@ -662,8 +665,7 @@
     <!-- Notifications -->
     <string name="new_notification_received">New notification received</string>
     <string name="drawer_logout">Logout</string>
+    <string name="picture_set_as_no_app">No app found to set a picture with!</string>
     <string name="privacy">Privacy</string>
     <string name="file_not_found">File not found!</string>
-
-
 </resources>