Quellcode durchsuchen

Merge branch 'master' of https://github.com/nextcloud/android into favourites

# Conflicts:
#	build.gradle
#	src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
#	src/main/res/menu/drawer_menu.xml
AndyScherzinger vor 8 Jahren
Ursprung
Commit
3d17ac886b
62 geänderte Dateien mit 1115 neuen und 115 gelöschten Zeilen
  1. 8 1
      build.gradle
  2. 58 0
      drawable_resources/ic_activity.svg
  3. 58 0
      drawable_resources/ic_activity_light_grey.svg
  4. 1 0
      src/main/AndroidManifest.xml
  5. 9 0
      src/main/java/com/owncloud/android/MainApp.java
  6. 1 2
      src/main/java/com/owncloud/android/datamodel/MediaProvider.java
  7. 51 2
      src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java
  8. 25 1
      src/main/java/com/owncloud/android/db/PreferenceManager.java
  9. 293 0
      src/main/java/com/owncloud/android/ui/activity/ActivitiesListActivity.java
  10. 5 0
      src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
  11. 148 0
      src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java
  12. 40 0
      src/main/java/com/owncloud/android/utils/svg/SvgDecoder.java
  13. 37 0
      src/main/java/com/owncloud/android/utils/svg/SvgDrawableTranscoder.java
  14. 43 0
      src/main/java/com/owncloud/android/utils/svg/SvgSoftwareLayerSetter.java
  15. BIN
      src/main/res/drawable-hdpi/ic_activity.png
  16. BIN
      src/main/res/drawable-hdpi/ic_activity_light_grey.png
  17. BIN
      src/main/res/drawable-mdpi/ic_activity.png
  18. BIN
      src/main/res/drawable-mdpi/ic_activity_light_grey.png
  19. BIN
      src/main/res/drawable-xhdpi/ic_activity.png
  20. BIN
      src/main/res/drawable-xhdpi/ic_activity_light_grey.png
  21. BIN
      src/main/res/drawable-xxhdpi/ic_activity.png
  22. BIN
      src/main/res/drawable-xxhdpi/ic_activity_light_grey.png
  23. BIN
      src/main/res/drawable-xxxhdpi/ic_activity.png
  24. BIN
      src/main/res/drawable-xxxhdpi/ic_activity_light_grey.png
  25. 75 0
      src/main/res/layout/activity_list_item.xml
  26. 81 0
      src/main/res/layout/activity_list_layout.xml
  27. 1 1
      src/main/res/layout/user_info_layout.xml
  28. 5 0
      src/main/res/menu/drawer_menu.xml
  29. 0 3
      src/main/res/values-bg-rBG/strings.xml
  30. 0 3
      src/main/res/values-ca/strings.xml
  31. 14 4
      src/main/res/values-cs-rCZ/strings.xml
  32. 0 3
      src/main/res/values-da/strings.xml
  33. 10 3
      src/main/res/values-de-rDE/strings.xml
  34. 10 3
      src/main/res/values-de/strings.xml
  35. 0 3
      src/main/res/values-el/strings.xml
  36. 0 3
      src/main/res/values-en-rGB/strings.xml
  37. 17 7
      src/main/res/values-es-rMX/strings.xml
  38. 22 4
      src/main/res/values-es/strings.xml
  39. 10 3
      src/main/res/values-fr/strings.xml
  40. 0 3
      src/main/res/values-he/strings.xml
  41. 24 4
      src/main/res/values-hu-rHU/strings.xml
  42. 0 3
      src/main/res/values-id/strings.xml
  43. 0 3
      src/main/res/values-is/strings.xml
  44. 0 3
      src/main/res/values-it/strings.xml
  45. 0 3
      src/main/res/values-ja-rJP/strings.xml
  46. 0 3
      src/main/res/values-ko/strings.xml
  47. 0 3
      src/main/res/values-lv/strings.xml
  48. 0 3
      src/main/res/values-nb-rNO/strings.xml
  49. 2 3
      src/main/res/values-nl/strings.xml
  50. 10 3
      src/main/res/values-pl/strings.xml
  51. 0 3
      src/main/res/values-pt-rBR/strings.xml
  52. 0 3
      src/main/res/values-pt-rPT/strings.xml
  53. 0 3
      src/main/res/values-ro/strings.xml
  54. 11 4
      src/main/res/values-ru/strings.xml
  55. 26 4
      src/main/res/values-sk-rSK/strings.xml
  56. 0 3
      src/main/res/values-sl/strings.xml
  57. 0 3
      src/main/res/values-sq/strings.xml
  58. 0 3
      src/main/res/values-sv/strings.xml
  59. 10 3
      src/main/res/values-tr/strings.xml
  60. 0 3
      src/main/res/values-zh-rCN/strings.xml
  61. 0 3
      src/main/res/values-zh-rTW/strings.xml
  62. 10 0
      src/main/res/values/strings.xml

+ 8 - 1
build.gradle

@@ -37,6 +37,11 @@ ext {
     preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))
 }
 
+configurations.all {
+    // Check for updates every build
+    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
+}
+
 repositories {
     jcenter()
     maven { url "https://jitpack.io" }
@@ -59,7 +64,7 @@ android {
     }
 
     compileSdkVersion 25
-    buildToolsVersion "25.0.0"
+    buildToolsVersion '25.0.0'
 
     defaultConfig {
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -191,6 +196,8 @@ dependencies {
     compile 'org.parceler:parceler-api:1.1.6'
     annotationProcessor 'org.parceler:parceler:1.1.6'
 
+    compile 'com.github.bumptech.glide:glide:3.7.0'
+    compile 'com.caverock:androidsvg:1.2.1'
     /// dependencies for local unit tests
     testCompile 'junit:junit:4.12'
     testCompile 'org.mockito:mockito-core:1.10.19'

+ 58 - 0
drawable_resources/ic_activity.svg

@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="32"
+   width="32"
+   version="1.0"
+   viewBox="0 0 32 32"
+   id="svg4"
+   sodipodi:docname="ic_activity.svg"
+   inkscape:version="0.92.1 r15371"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\activities\src\main\res\drawable-mdpi\ic_activity.png"
+   inkscape:export-xdpi="72"
+   inkscape:export-ydpi="72">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="7.375"
+     inkscape:cx="16"
+     inkscape:cy="16"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg4" />
+  <path
+     d="M 16,1.9491526 6,18.810169 H 17 L 16,30.050847 26,13.189831 H 15 Z"
+     id="path2"
+     style="fill:#757575;fill-opacity:1;stroke-width:0.96784461"
+     inkscape:connector-curvature="0" />
+</svg>

+ 58 - 0
drawable_resources/ic_activity_light_grey.svg

@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="32"
+   width="32"
+   version="1.0"
+   viewBox="0 0 32 32"
+   id="svg4"
+   sodipodi:docname="ic_activity_light_grey.svg"
+   inkscape:version="0.92.1 r15371"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\activities\src\main\res\drawable-mdpi\ic_activity_light_grey.png"
+   inkscape:export-xdpi="216"
+   inkscape:export-ydpi="216">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="7.375"
+     inkscape:cx="-20.40678"
+     inkscape:cy="16"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg4" />
+  <path
+     d="M 16,1.9491526 6,18.810169 H 17 L 16,30.050847 26,13.189831 H 15 Z"
+     id="path2"
+     style="fill:#000000;fill-opacity:1;stroke-width:0.96784461;opacity:0.5"
+     inkscape:connector-curvature="0" />
+</svg>

+ 1 - 0
src/main/AndroidManifest.xml

@@ -77,6 +77,7 @@
         <activity android:name=".ui.activity.ManageAccountsActivity" />
         <activity android:name=".ui.activity.UserInfoActivity" />
         <activity android:name=".ui.activity.ParticipateActivity" />
+        <activity android:name=".ui.activity.ActivitiesListActivity"/>
         <activity android:name=".ui.activity.FolderSyncActivity" />
         <activity android:name=".ui.activity.UploadFilesActivity" />
         <activity android:name=".ui.activity.ReceiveExternalFilesActivity"

+ 9 - 0
src/main/java/com/owncloud/android/MainApp.java

@@ -118,6 +118,7 @@ public class MainApp extends MultiDexApplication {
         }
 
         cleanOldEntries();
+        updateAutoUploadEntries();
 
         Log_OC.d("SyncedFolderObserverService", "Start service SyncedFolderObserverService");
         Intent i = new Intent(this, SyncedFolderObserverService.class);
@@ -269,6 +270,14 @@ public class MainApp extends MultiDexApplication {
         return userAgent;
     }
 
+    private void updateAutoUploadEntries() {
+        // updates entries to reflect their true paths
+        if (!PreferenceManager.getAutoUploadPathsUpdate(this)) {
+            SyncedFolderProvider syncedFolderProvider =
+                    new SyncedFolderProvider(MainApp.getAppContext().getContentResolver());
+            syncedFolderProvider.updateAutoUploadPaths(mContext);
+        }
+    }
     private void cleanOldEntries() {
         // previous versions of application created broken entries in the SyncedFolderProvider
         // database, and this cleans all that and leaves 1 (newest) entry per synced folder

+ 1 - 2
src/main/java/com/owncloud/android/datamodel/MediaProvider.java

@@ -86,8 +86,7 @@ public class MediaProvider {
                         filePath = cursorImages.getString(cursorImages.getColumnIndexOrThrow(
                                 MediaStore.MediaColumns.DATA));
                         mediaFolder.filePaths.add(filePath);
-                        mediaFolder.absolutePath = filePath.substring(0, filePath.lastIndexOf(folderName)
-                                + folderName.length());
+                        mediaFolder.absolutePath = filePath.substring(0, filePath.lastIndexOf("/"));
                     }
                     cursorImages.close();
 

+ 51 - 2
src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java

@@ -31,6 +31,7 @@ import com.owncloud.android.db.PreferenceManager;
 import com.owncloud.android.db.ProviderMeta;
 import com.owncloud.android.lib.common.utils.Log_OC;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Observable;
@@ -188,6 +189,52 @@ public class SyncedFolderProvider extends Observable {
 
     }
 
+    /**
+     * Delete a synced folder from the db
+     *
+     * @param id for the synced folder.
+     */
+
+    private int deleteSyncFolderWithId(long id) {
+        int result = mContentResolver.delete(
+                ProviderMeta.ProviderTableMeta.CONTENT_URI_SYNCED_FOLDERS,
+                ProviderMeta.ProviderTableMeta._ID + " = ?",
+                new String[]{String.valueOf(id)}
+        );
+
+        return result;
+    }
+
+    /**
+     * Try to figure out if a path exists for synced folder, and if not, go one folder back
+     * Otherwise, delete the entry
+     *
+     * @param context the context.
+     */
+    public void updateAutoUploadPaths(Context context) {
+        List<SyncedFolder> syncedFolders = getSyncedFolders();
+        for (int i = 0; i < syncedFolders.size(); i++) {
+            SyncedFolder syncedFolder = syncedFolders.get(i);
+            if (!new File(syncedFolder.getLocalPath()).exists()) {
+                String localPath = syncedFolder.getLocalPath();
+                if (localPath.endsWith("/")) {
+                    localPath = localPath.substring(0, localPath.lastIndexOf("/"));
+                }
+                localPath = localPath.substring(0, localPath.lastIndexOf("/"));
+                if (new File(localPath).exists()) {
+                    syncedFolders.get(i).setLocalPath(localPath);
+                    updateSyncFolder(syncedFolder);
+                } else {
+                    deleteSyncFolderWithId(syncedFolder.getId());
+                }
+            }
+        }
+
+        if (context != null) {
+            PreferenceManager.setAutoUploadPathsUpdate(context, true);
+        }
+    }
+
     /**
      * delete any records of synchronized folders that are not within the given list of ids.
      *
@@ -293,7 +340,9 @@ public class SyncedFolderProvider extends Observable {
      * @param syncedFolder changed, synchronized folder
      */
     private void notifyFolderSyncObservers(SyncedFolder syncedFolder) {
-        MainApp.getSyncedFolderObserverService().restartObserver(syncedFolder);
-        Log_OC.d(TAG, "notifying folder sync data observers for changed/added: " + syncedFolder.getLocalPath());
+        if (syncedFolder != null) {
+            MainApp.getSyncedFolderObserverService().restartObserver(syncedFolder);
+            Log_OC.d(TAG, "notifying folder sync data observers for changed/added: " + syncedFolder.getLocalPath());
+        }
     }
 }

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

@@ -45,6 +45,8 @@ public abstract class PreferenceManager {
     private static final String PREF__INSTANT_VIDEO_UPLOAD_ON_WIFI = "instant_video_upload_on_wifi";
     private static final String PREF__INSTANT_VIDEO_UPLOAD_PATH_USE_SUBFOLDERS = "instant_video_upload_path_use_subfolders";
     private static final String PREF__LEGACY_CLEAN = "legacyClean";
+    private static final String PREF__AUTO_UPLOAD_UPDATE_PATH = "autoUploadPathUpdate";
+
 
     public static boolean instantPictureUploadEnabled(Context context) {
         return getDefaultSharedPreferences(context).getBoolean(PREF__INSTANT_UPLOADING, false);
@@ -189,12 +191,23 @@ public abstract class PreferenceManager {
      * Gets the legacy cleaning flag last set.
      *
      * @param context Caller {@link Context}, used to access to shared preferences manager.
-     * @return ascending order     the alegacy cleaning flag, default is false
+     * @return ascending order     the legacy cleaning flag, default is false
      */
     public static boolean getLegacyClean(Context context) {
         return getDefaultSharedPreferences(context).getBoolean(PREF__LEGACY_CLEAN, false);
     }
 
+    /**
+     * Gets the auto upload paths flag last set.
+     *
+     * @param context Caller {@link Context}, used to access to shared preferences manager.
+     * @return ascending order     the legacy cleaning flag, default is false
+     */
+    public static boolean getAutoUploadPathsUpdate(Context context) {
+        return getDefaultSharedPreferences(context).getBoolean(PREF__AUTO_UPLOAD_UPDATE_PATH, false);
+    }
+
+
     /**
      * Saves the legacy cleaning flag which the user has set last.
      *
@@ -205,6 +218,17 @@ public abstract class PreferenceManager {
         saveBooleanPreference(context, PREF__LEGACY_CLEAN, legacyClean);
     }
 
+    /**
+     * Saves the legacy cleaning flag which the user has set last.
+     *
+     * @param context   Caller {@link Context}, used to access to shared preferences manager.
+     * @param pathUpdate flag if it is a auto upload path update
+     */
+    public static void setAutoUploadPathsUpdate(Context context, boolean pathUpdate) {
+        saveBooleanPreference(context, PREF__AUTO_UPLOAD_UPDATE_PATH, pathUpdate);
+    }
+
+
     /**
      * Gets the uploader behavior which the user has set last.
      *

+ 293 - 0
src/main/java/com/owncloud/android/ui/activity/ActivitiesListActivity.java

@@ -0,0 +1,293 @@
+/**
+ * Nextcloud Android client application
+ *
+ * @author Andy Scherzinger
+ * @author Mario Danic
+ * Copyright (C) 2017 Andy Scherzinger
+ * Copyright (C) 2017 Mario Danic
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * at your option) any later version.
+ *
+ * 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package com.owncloud.android.ui.activity;
+
+import android.accounts.Account;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+
+import com.owncloud.android.MainApp;
+import com.owncloud.android.R;
+import com.owncloud.android.authentication.AccountUtils;
+import com.owncloud.android.lib.common.OwnCloudAccount;
+import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
+import com.owncloud.android.lib.common.operations.RemoteOperation;
+import com.owncloud.android.lib.common.operations.RemoteOperationResult;
+import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.lib.resources.activities.GetRemoteActivitiesOperation;
+import com.owncloud.android.ui.adapter.ActivityListAdapter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindString;
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+
+/**
+ * Activity displaying all server side stored activity items.
+ */
+public class ActivitiesListActivity extends FileActivity {
+
+    private static final String TAG = ActivitiesListActivity.class.getSimpleName();
+
+    @BindView(R.id.empty_list_view)
+    public LinearLayout emptyContentContainer;
+
+    @BindView(R.id.swipe_containing_list)
+    public SwipeRefreshLayout swipeListRefreshLayout;
+
+    @BindView(R.id.swipe_containing_empty)
+    public SwipeRefreshLayout swipeEmptyListRefreshLayout;
+
+    @BindView(R.id.empty_list_view_text)
+    public TextView emptyContentMessage;
+
+    @BindView(R.id.empty_list_view_headline)
+    public TextView emptyContentHeadline;
+
+    @BindView(R.id.empty_list_icon)
+    public ImageView emptyContentIcon;
+
+    @BindView(R.id.empty_list_progress)
+    public ProgressBar emptyContentProgressBar;
+
+    @BindView(android.R.id.list)
+    public RecyclerView recyclerView;
+
+    @BindString(R.string.activities_no_results_headline)
+    public String noResultsHeadline;
+
+    @BindString(R.string.activities_no_results_message)
+    public String noResultsMessage;
+
+    private ActivityListAdapter adapter;
+    private Unbinder unbinder;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        Log_OC.v(TAG, "onCreate() start");
+        super.onCreate(savedInstanceState);
+
+        setContentView(R.layout.activity_list_layout);
+        unbinder = ButterKnife.bind(this);
+        // setup toolbar
+        setupToolbar();
+
+        // setup drawer
+        setupDrawer(R.id.nav_activity);
+        getSupportActionBar().setTitle(getString(R.string.drawer_item_activities));
+
+        swipeListRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                setLoadingMessage();
+                fetchAndSetData();
+            }
+        });
+
+        swipeEmptyListRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                setLoadingMessage();
+                fetchAndSetData();
+
+            }
+        });
+        setupContent();
+    }
+
+    public void onDestroy() {
+        super.onDestroy();
+        unbinder.unbind();
+    }
+
+    @Override
+    public void showFiles(boolean onDeviceOnly) {
+        super.showFiles(onDeviceOnly);
+        Intent i = new Intent(getApplicationContext(), FileDisplayActivity.class);
+        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+        startActivity(i);
+    }
+
+    /**
+     * sets up the UI elements and loads all activity items.
+     */
+    private void setupContent() {
+        emptyContentIcon.setImageResource(R.drawable.ic_activity_light_grey);
+        setLoadingMessage();
+
+        adapter = new ActivityListAdapter(this);
+        recyclerView.setAdapter(adapter);
+
+        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
+        DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
+                layoutManager.getOrientation());
+
+        recyclerView.setLayoutManager(layoutManager);
+        recyclerView.addItemDecoration(dividerItemDecoration);
+
+        fetchAndSetData();
+    }
+
+    private void fetchAndSetData() {
+        final Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(MainApp.getAppContext());
+        final Context context = MainApp.getAppContext();
+
+        Thread t = new Thread(new Runnable() {
+
+
+            public void run() {
+                OwnCloudAccount ocAccount = null;
+                try {
+                    ocAccount = new OwnCloudAccount(
+                            currentAccount,
+                            context
+                            );
+                    OwnCloudClient mClient = OwnCloudClientManagerFactory.getDefaultSingleton().
+                            getClientFor(ocAccount, MainApp.getAppContext());
+                    mClient.setOwnCloudVersion(AccountUtils.getServerVersion(currentAccount));
+
+                    RemoteOperation getRemoteNotificationOperation = new GetRemoteActivitiesOperation();
+                    Log_OC.d(TAG, "BEFORE getRemoteActivitiesOperation.execute");
+                    final RemoteOperationResult result =
+                            getRemoteNotificationOperation.execute(mClient);
+
+                    if (result.isSuccess() && result.getData() != null) {
+                        final ArrayList<Object> activities = result.getData();
+
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                if (activities.size() > 0) {
+                                    populateList(activities);
+                                    swipeEmptyListRefreshLayout.setVisibility(View.GONE);
+                                    swipeListRefreshLayout.setVisibility(View.VISIBLE);
+                                } else {
+                                    setEmptyContent(noResultsHeadline, noResultsMessage);
+                                }
+                            }
+                        });
+                    } else {
+                        Log_OC.d(TAG, result.getLogMessage());
+                        // show error
+                        String logMessage = result.getLogMessage();
+                        if (result.getHttpCode() == 304) {
+                            logMessage = noResultsMessage;
+                        }
+                        final String finalLogMessage = logMessage;
+                        runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                setEmptyContent(noResultsHeadline, finalLogMessage);
+                            }
+                        });
+                    }
+
+                    hideRefreshLayoutLoader();
+                } catch (com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException e) {
+                    Log_OC.e(TAG, "Account not found", e);
+                } catch (IOException e) {
+                    Log_OC.e(TAG, "IO error", e);
+                } catch (OperationCanceledException e) {
+                    Log_OC.e(TAG, "Operation has been canceled", e);
+                } catch (AuthenticatorException e) {
+                    Log_OC.e(TAG, "Authentication Exception", e);
+                }
+            }
+        });
+
+        t.start();
+    }
+
+    private void hideRefreshLayoutLoader() {
+        runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                swipeListRefreshLayout.setRefreshing(false);
+                swipeEmptyListRefreshLayout.setRefreshing(false);
+            }
+        });
+    }
+
+    private void populateList(List<Object> activities) {
+
+        adapter.setActivityItems(activities);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        boolean retval = true;
+
+        switch (item.getItemId()) {
+            case android.R.id.home:
+                if (isDrawerOpen()) {
+                    closeDrawer();
+                } else {
+                    openDrawer();
+                }
+                break;
+            default:
+                Log_OC.w(TAG, "Unknown menu item triggered");
+                retval = super.onOptionsItemSelected(item);
+                break;
+        }
+
+        return retval;
+    }
+
+    private void setLoadingMessage() {
+        emptyContentHeadline.setText(R.string.file_list_loading);
+        emptyContentMessage.setText("");
+
+        emptyContentIcon.setVisibility(View.GONE);
+        emptyContentProgressBar.setVisibility(View.VISIBLE);
+    }
+
+    private void setEmptyContent(String headline, String message) {
+        if (emptyContentContainer != null && emptyContentMessage != null) {
+            emptyContentHeadline.setText(headline);
+            emptyContentMessage.setText(message);
+
+            emptyContentProgressBar.setVisibility(View.GONE);
+            emptyContentIcon.setVisibility(View.VISIBLE);
+        }
+    }
+
+}

+ 5 - 0
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -400,6 +400,11 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                 uploadListIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                 startActivity(uploadListIntent);
                 break;
+            case R.id.nav_activity:
+                Intent activityIntent = new Intent(getApplicationContext(), ActivitiesListActivity.class);
+                activityIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                startActivity(activityIntent);
+                break;
             case R.id.nav_folder_sync:
                 Intent folderSyncIntent = new Intent(getApplicationContext(), FolderSyncActivity.class);
                 startActivity(folderSyncIntent);

+ 148 - 0
src/main/java/com/owncloud/android/ui/adapter/ActivityListAdapter.java

@@ -0,0 +1,148 @@
+/**
+ * Nextcloud Android client application
+ *
+ * @author Alejandro Bautista
+ * Copyright (C) 2017 Alejandro Bautista
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * 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 AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.owncloud.android.ui.adapter;
+
+import android.content.Context;
+import android.graphics.drawable.PictureDrawable;
+import android.net.Uri;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.bumptech.glide.GenericRequestBuilder;
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.model.StreamEncoder;
+import com.bumptech.glide.load.resource.file.FileToStreamDecoder;
+import com.caverock.androidsvg.SVG;
+import com.owncloud.android.R;
+import com.owncloud.android.lib.resources.activities.models.Activity;
+import com.owncloud.android.utils.DisplayUtils;
+import com.owncloud.android.utils.svg.SvgDecoder;
+import com.owncloud.android.utils.svg.SvgDrawableTranscoder;
+import com.owncloud.android.utils.svg.SvgSoftwareLayerSetter;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Adapter for the activity view
+ */
+
+public class ActivityListAdapter extends RecyclerView.Adapter<ActivityListAdapter.ActivityViewHolder> {
+
+    private Context context;
+    private List<Object> mValues;
+
+    public ActivityListAdapter(Context context) {
+        this.mValues = new ArrayList<>();
+        this.context = context;
+    }
+
+    public void setActivityItems(List<Object> activityItems) {
+        mValues.clear();
+        mValues.addAll(activityItems);
+        notifyDataSetChanged();
+    }
+
+    @Override
+    public ActivityViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_list_item, parent, false);
+        return new ActivityViewHolder(v);
+    }
+
+    @Override
+    public void onBindViewHolder(ActivityViewHolder holder, int position) {
+        Activity activity = (Activity) mValues.get(position);
+        if (activity.getDatetime() != null) {
+            holder.dateTime.setText(DisplayUtils.getRelativeTimestamp(context,
+                    activity.getDatetime().getTime()));
+        } else {
+            holder.dateTime.setText(DisplayUtils.getRelativeTimestamp(context,
+                    activity.getDate().getTime()));
+        }
+
+        if (!TextUtils.isEmpty(activity.getSubject())) {
+            holder.subject.setText(activity.getSubject());
+            holder.subject.setVisibility(View.VISIBLE);
+        } else {
+            holder.subject.setVisibility(View.GONE);
+        }
+
+        if (!TextUtils.isEmpty(activity.getMessage())) {
+            holder.message.setText(activity.getMessage());
+            holder.message.setVisibility(View.VISIBLE);
+        } else {
+            holder.message.setVisibility(View.GONE);
+        }
+
+        if (!TextUtils.isEmpty(activity.getIcon())) {
+            downloadIcon(activity.getIcon(), holder.activityIcon);
+        }
+    }
+
+    private void downloadIcon(String icon, ImageView itemViewType) {
+        GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder = Glide.with(context)
+                .using(Glide.buildStreamModelLoader(Uri.class, context), InputStream.class)
+                .from(Uri.class)
+                .as(SVG.class)
+                .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
+                .sourceEncoder(new StreamEncoder())
+                .cacheDecoder(new FileToStreamDecoder<>(new SvgDecoder()))
+                .decoder(new SvgDecoder())
+                .placeholder(R.drawable.ic_activity)
+                .error(R.drawable.ic_activity)
+                .animate(android.R.anim.fade_in)
+                .listener(new SvgSoftwareLayerSetter<Uri>());
+
+
+        Uri uri = Uri.parse(icon);
+        requestBuilder
+                .diskCacheStrategy(DiskCacheStrategy.SOURCE)
+                .load(uri)
+                .into(itemViewType);
+    }
+
+    @Override
+    public int getItemCount() {
+        return mValues.size();
+    }
+
+    class ActivityViewHolder extends RecyclerView.ViewHolder {
+
+        private final ImageView activityIcon;
+        private final TextView subject;
+        private final TextView message;
+        private final TextView dateTime;
+
+        private ActivityViewHolder(View itemView) {
+            super(itemView);
+            activityIcon = (ImageView) itemView.findViewById(R.id.activity_icon);
+            subject = (TextView) itemView.findViewById(R.id.activity_subject);
+            message = (TextView) itemView.findViewById(R.id.activity_message);
+            dateTime = (TextView) itemView.findViewById(R.id.activity_datetime);
+        }
+    }
+}

+ 40 - 0
src/main/java/com/owncloud/android/utils/svg/SvgDecoder.java

@@ -0,0 +1,40 @@
+/*
+ * Nextcloud Android client application
+ *
+ * Copyright 2014 Google, Inc. All rights reserved.
+ * Licenced under the BSD licence
+ *
+ * Borrowed from:
+ * https://github.com/bumptech/glide/blob/master/samples/svg/src/main/java/com/bumptech/glide/samples/svg/
+ * SvgDecoder.java
+ */
+
+package com.owncloud.android.utils.svg;
+
+import com.bumptech.glide.load.ResourceDecoder;
+import com.bumptech.glide.load.engine.Resource;
+import com.bumptech.glide.load.resource.SimpleResource;
+import com.caverock.androidsvg.SVG;
+import com.caverock.androidsvg.SVGParseException;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Decodes an SVG internal representation from an {@link InputStream}.
+ */
+public class SvgDecoder implements ResourceDecoder<InputStream, SVG> {
+    public Resource<SVG> decode(InputStream source, int width, int height) throws IOException {
+        try {
+            SVG svg = SVG.getFromInputStream(source);
+            return new SimpleResource<SVG>(svg);
+        } catch (SVGParseException ex) {
+            throw new IOException("Cannot load SVG from stream", ex);
+        }
+    }
+
+    @Override
+    public String getId() {
+        return "SvgDecoder.com.owncloud.android";
+    }
+}

+ 37 - 0
src/main/java/com/owncloud/android/utils/svg/SvgDrawableTranscoder.java

@@ -0,0 +1,37 @@
+/*
+ * Nextcloud Android client application
+ *
+ * Copyright 2014 Google, Inc. All rights reserved.
+ * Licenced under the BSD licence
+ *
+ * Borrowed from:
+ * https://github.com/bumptech/glide/blob/master/samples/svg/src/main/java/com/bumptech/glide/samples/svg/
+ * SvgDrawableTranscoder.java
+ */
+package com.owncloud.android.utils.svg;
+
+import android.graphics.Picture;
+import android.graphics.drawable.PictureDrawable;
+
+import com.bumptech.glide.load.engine.Resource;
+import com.bumptech.glide.load.resource.SimpleResource;
+import com.bumptech.glide.load.resource.transcode.ResourceTranscoder;
+import com.caverock.androidsvg.SVG;
+
+/**
+ * Convert the {@link SVG}'s internal representation to an Android-compatible one ({@link Picture}).
+ */
+public class SvgDrawableTranscoder implements ResourceTranscoder<SVG, PictureDrawable> {
+    @Override
+    public Resource<PictureDrawable> transcode(Resource<SVG> toTranscode) {
+        SVG svg = toTranscode.get();
+        Picture picture = svg.renderToPicture();
+        PictureDrawable drawable = new PictureDrawable(picture);
+        return new SimpleResource<PictureDrawable>(drawable);
+    }
+
+    @Override
+    public String getId() {
+        return "";
+    }
+}

+ 43 - 0
src/main/java/com/owncloud/android/utils/svg/SvgSoftwareLayerSetter.java

@@ -0,0 +1,43 @@
+/*
+ * Nextcloud Android client application
+ *
+ * Copyright 2014 Google, Inc. All rights reserved.
+ * Licenced under the BSD licence
+ *
+ * Borrowed from:
+ * https://github.com/bumptech/glide/blob/master/samples/svg/src/main/java/com/bumptech/glide/samples/svg/
+ * SvgSoftwareLayerSetter.java
+ */
+package com.owncloud.android.utils.svg;
+
+import android.annotation.TargetApi;
+import android.graphics.drawable.PictureDrawable;
+import android.os.Build;
+import android.widget.ImageView;
+
+import com.bumptech.glide.request.RequestListener;
+import com.bumptech.glide.request.target.ImageViewTarget;
+import com.bumptech.glide.request.target.Target;
+
+@TargetApi(Build.VERSION_CODES.HONEYCOMB)
+public class SvgSoftwareLayerSetter<T> implements RequestListener<T, PictureDrawable> {
+
+    @Override
+    public boolean onException(Exception e, T model, Target<PictureDrawable> target, boolean isFirstResource) {
+        ImageView view = ((ImageViewTarget<?>) target).getView();
+        if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
+            view.setLayerType(ImageView.LAYER_TYPE_NONE, null);
+        }
+        return false;
+    }
+
+    @Override
+    public boolean onResourceReady(PictureDrawable resource, T model, Target<PictureDrawable> target,
+                                   boolean isFromMemoryCache, boolean isFirstResource) {
+        ImageView view = ((ImageViewTarget<?>) target).getView();
+        if (Build.VERSION_CODES.HONEYCOMB <= Build.VERSION.SDK_INT) {
+            view.setLayerType(ImageView.LAYER_TYPE_SOFTWARE, null);
+        }
+        return false;
+    }
+}

BIN
src/main/res/drawable-hdpi/ic_activity.png


BIN
src/main/res/drawable-hdpi/ic_activity_light_grey.png


BIN
src/main/res/drawable-mdpi/ic_activity.png


BIN
src/main/res/drawable-mdpi/ic_activity_light_grey.png


BIN
src/main/res/drawable-xhdpi/ic_activity.png


BIN
src/main/res/drawable-xhdpi/ic_activity_light_grey.png


BIN
src/main/res/drawable-xxhdpi/ic_activity.png


BIN
src/main/res/drawable-xxhdpi/ic_activity_light_grey.png


BIN
src/main/res/drawable-xxxhdpi/ic_activity.png


BIN
src/main/res/drawable-xxxhdpi/ic_activity_light_grey.png


+ 75 - 0
src/main/res/layout/activity_list_item.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Nextcloud Android client application
+
+  Copyright (C) 2017 Andy Scherzinger
+
+  This program is free software; you can redistribute it and/or
+  modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or any later version.
+
+  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 AFFERO GENERAL PUBLIC LICENSE for more details.
+
+  You should have received a copy of the GNU Affero General Public
+  License along with this program. If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:paddingTop="@dimen/standard_padding"
+    android:paddingRight="@dimen/standard_padding"
+    android:paddingBottom="@dimen/standard_padding"
+    android:paddingLeft="12dp">
+
+    <ImageView
+        android:id="@+id/activity_icon"
+        android:layout_width="@dimen/user_icon_size"
+        android:layout_height="@dimen/user_icon_size"
+        android:layout_alignParentTop="true"
+        android:layout_marginRight="24dp"
+        android:src="@drawable/ic_activity"/>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_alignTop="@id/activity_icon"
+        android:layout_toRightOf="@id/activity_icon">
+
+        <TextView
+            android:id="@+id/activity_subject"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:ellipsize="end"
+            android:maxLines="2"
+            android:text="@string/placeholder_filename"
+            android:textAppearance="?android:attr/textAppearanceListItem"/>
+
+        <TextView
+            android:id="@+id/activity_message"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:ellipsize="end"
+            android:maxLines="3"
+            android:text="@string/placeholder_sentence"
+            android:textColor="?android:attr/textColorSecondary"/>
+
+        <TextView
+            android:id="@+id/activity_datetime"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="right"
+            android:ellipsize="end"
+            android:text="@string/placeholder_sentence"
+            android:textColor="?android:attr/textColorSecondary"/>
+
+    </LinearLayout>
+
+</RelativeLayout>

+ 81 - 0
src/main/res/layout/activity_list_layout.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Nextcloud Android client application
+
+  Copyright (C) 2017 Andy Scherzinger
+
+  This program is free software; you can redistribute it and/or
+  modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or any later version.
+
+  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 AFFERO GENERAL PUBLIC LICENSE for more details.
+
+  You should have received a copy of the GNU Affero General Public
+  License along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                                        android:id="@+id/drawer_layout"
+                                        android:layout_width="match_parent"
+                                        android:layout_height="match_parent"
+                                        android:clickable="true"
+                                        android:fitsSystemWindows="true">
+
+    <!-- The main content view -->
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <include
+            layout="@layout/toolbar_standard"/>
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <android.support.v4.widget.SwipeRefreshLayout
+                android:id="@+id/swipe_containing_list"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:footerDividersEnabled="false"
+                android:visibility="visible">
+
+                <android.support.v7.widget.RecyclerView
+                    android:id="@android:id/list"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginBottom="-3dp"
+                    android:layout_marginLeft="-3dp"
+                    android:layout_marginRight="-3dp"
+                    android:clipToPadding="false"
+                    android:scrollbarStyle="outsideOverlay"
+                    android:scrollbars="vertical"
+                    android:visibility="visible"/>
+
+            </android.support.v4.widget.SwipeRefreshLayout>
+
+            <android.support.v4.widget.SwipeRefreshLayout
+                android:id="@+id/swipe_containing_empty"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:footerDividersEnabled="false"
+                android:visibility="visible">
+
+                <include layout="@layout/empty_list"/>
+            </android.support.v4.widget.SwipeRefreshLayout>
+
+        </FrameLayout>
+
+    </LinearLayout>
+
+    <include
+        layout="@layout/drawer"
+        android:layout_width="240dp"
+        android:layout_height="match_parent"
+        android:layout_gravity="start"/>
+
+</android.support.v4.widget.DrawerLayout>

+ 1 - 1
src/main/res/layout/user_info_layout.xml

@@ -46,7 +46,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
-                android:visibility="gone">
+                android:visibility="visible">
 
                 <android.support.v7.widget.CardView
                     android:id="@+id/primary_user_info_view"

+ 5 - 0
src/main/res/menu/drawer_menu.xml

@@ -70,6 +70,11 @@
             android:orderInCategory="0"
             android:title="@string/drawer_item_on_device"/>
         <item
+            android:id="@+id/nav_activity"
+            android:icon="@drawable/ic_activity"
+            android:title="@string/drawer_item_activities"/>
+        <item
+            android:orderInCategory="0"
             android:id="@+id/nav_folder_sync"
             android:icon="@drawable/ic_cloud_upload"
             android:orderInCategory="0"

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Изпращане</string>
     <string name="actionbar_sort">Сортирай</string>
     <string name="actionbar_sort_title">Сортиране по</string>
-    <string name="menu_item_sort_by_name">А - Я</string>
-    <string name="menu_item_sort_by_date">Нови - Стари</string>
-    <string name="menu_item_sort_by_size">Големи - Малки</string>
     <string name="drawer_item_all_files">Всички файлове</string>
     <string name="drawer_item_on_device">На устройството</string>
     <string name="drawer_item_settings">Настройки</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Envia</string>
     <string name="actionbar_sort">Ordena</string>
     <string name="actionbar_sort_title">Ordena per</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Més nou - Més antic</string>
-    <string name="menu_item_sort_by_size">Més gran - Més petit</string>
     <string name="drawer_item_all_files">Tots els fitxers</string>
     <string name="drawer_item_on_device">Al dispositiu</string>
     <string name="drawer_item_settings">Configuració</string>

+ 14 - 4
src/main/res/values-cs-rCZ/strings.xml

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Odeslat</string>
     <string name="actionbar_sort">Seřadit</string>
     <string name="actionbar_sort_title">Seřadit podle</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Nejnovější - nejstarší</string>
-    <string name="menu_item_sort_by_size">Největší - nejmenší</string>
     <string name="drawer_item_all_files">Všechny soubory</string>
     <string name="drawer_item_on_device">Na přístroji</string>
     <string name="drawer_item_settings">Nastavení</string>
@@ -315,6 +312,7 @@
     <string name="conflict_use_local_version">místní verze</string>
     <string name="conflict_use_server_version">serverová verze</string>
 
+    <string name="preview_sorry">Omlouváme se za to!</string>
     <string name="preview_image_description">Náhled obrázku</string>
     <string name="preview_image_error_unknown_format">Obrázek nelze zobrazit</string>
 
@@ -509,6 +507,8 @@
     <string name="participate_testing_bug_text">Našel jsi chybu? Něco nefunguje?</string>
     <string name="participate_testing_report_text">Nahlásit chybu na Github</string>
     <string name="participate_testing_version_text">Chceš nám pomoci testovat další verzi?</string>
+    <string name="participate_beta_headline">Testovat noční verzi</string>
+    <string name="participate_beta_text">Zahrnuje všechny nadcházející funkce a pohybuje se na hraně stability. Mohou se vyskytnout chyby, a pokud ano, nahlašte nám je prosím.</string>
     <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>
@@ -556,4 +556,14 @@
 
     <string name="whats_new_skip">Přeskočit</string>
 
-    </resources>
+    <!-- User information -->
+    <string name="user_info_full_name">Celé jméno</string>
+    <string name="user_info_email">Email</string>
+    <string name="user_info_phone">Telefonní číslo</string>
+    <string name="user_info_address">Adresa</string>
+    <string name="user_info_website">Webová stránka</string>
+    <string name="user_info_twitter">Twitter</string>
+
+    <string name="user_information_description">Uživatelské informace</string>
+
+</resources>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Send</string>
     <string name="actionbar_sort">Sortér</string>
     <string name="actionbar_sort_title">Sortér efter</string>
-    <string name="menu_item_sort_by_name">A - Å</string>
-    <string name="menu_item_sort_by_date">Nyeste - Ældste</string>
-    <string name="menu_item_sort_by_size">Største - Mindste</string>
     <string name="drawer_item_all_files">Alle filer</string>
     <string name="drawer_item_settings">Indstillinger</string>
     <string name="drawer_item_uploads_list">Uploade filer</string>

+ 10 - 3
src/main/res/values-de-rDE/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Senden</string>
     <string name="actionbar_sort">Sortieren</string>
     <string name="actionbar_sort_title">Sortiere nach</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Neueste - Älteste</string>
-    <string name="menu_item_sort_by_size">Größte - Kleinste</string>
+    <string name="sort_by">Sortiere nach</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Neueste zuerst</string>
+    <string name="menu_item_sort_by_date_oldest_first">Älteste zuerst</string>
+    <string name="menu_item_sort_by_size_biggest_first">Größte zuerst</string>
+    <string name="menu_item_sort_by_size_smallest_first">Kleinste zuerst</string>
+
     <string name="drawer_item_all_files">Alle Dateien</string>
     <string name="drawer_item_on_device">Auf dem Gerät</string>
     <string name="drawer_item_settings">Einstellungen</string>
@@ -510,6 +515,8 @@
     <string name="participate_testing_bug_text">Fehler gefunden? Merkwürdiges Verhalten?</string>
     <string name="participate_testing_report_text">Fehler melden auf Github</string>
     <string name="participate_testing_version_text">Möchten Sie uns beim Testen der nächsten Version unterstützen?</string>
+    <string name="participate_beta_headline">Teste die \"nightly\" Version</string>
+    <string name="participate_beta_text">Dies beinhaltet neue Funktionalitäten und ist nicht vollumfänglich qualitätsgesichert. Es können daher Fehler/Bugs auftreten, melden Sie uns diese bitte.</string>
     <string name="participate_release_candidate_headline">Vorabversionen</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>

+ 10 - 3
src/main/res/values-de/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Senden</string>
     <string name="actionbar_sort">Sortieren</string>
     <string name="actionbar_sort_title">Sortieren nach</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Neueste - Älteste</string>
-    <string name="menu_item_sort_by_size">Größte - Kleinste</string>
+    <string name="sort_by">Sortieren nach</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Neueste zuerst</string>
+    <string name="menu_item_sort_by_date_oldest_first">Älteste zuerst</string>
+    <string name="menu_item_sort_by_size_biggest_first">Größte zuerst</string>
+    <string name="menu_item_sort_by_size_smallest_first">Kleinste zuerst</string>
+
     <string name="drawer_item_all_files">Alle Dateien</string>
     <string name="drawer_item_on_device">Auf dem Gerät</string>
     <string name="drawer_item_settings">Einstellungen</string>
@@ -510,6 +515,8 @@
     <string name="participate_testing_bug_text">Fehler gefunden? Komisches Verhalten?</string>
     <string name="participate_testing_report_text">Fehler melden auf Github</string>
     <string name="participate_testing_version_text">Interessiert uns beim Test der nächsten Version zu unterstützen?</string>
+    <string name="participate_beta_headline">Teste die \"nightly\" Version</string>
+    <string name="participate_beta_text">Dies beinhaltet neue Funktionalitäten und ist nicht vollumfänglich qualitätsgesichert. Es können daher Fehler/Bugs auftreten, melde uns diese bitte.</string>
     <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>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Αποστολή</string>
     <string name="actionbar_sort">Ταξινόμηση</string>
     <string name="actionbar_sort_title">Ταξινόμηση κατά</string>
-    <string name="menu_item_sort_by_name">Α - Ω</string>
-    <string name="menu_item_sort_by_date">Νεότερο - Παλαιότερο</string>
-    <string name="menu_item_sort_by_size">Μεγαλύτερο - Μικρότερο</string>
     <string name="drawer_item_all_files">Όλα τα αρχεία</string>
     <string name="drawer_item_on_device">Στην συσκευή</string>
     <string name="drawer_item_settings">Ρυθμίσεις</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Send</string>
     <string name="actionbar_sort">Sort</string>
     <string name="actionbar_sort_title">Sort by</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Newest - Oldest</string>
-    <string name="menu_item_sort_by_size">Biggest - Smallest</string>
     <string name="drawer_item_all_files">All files</string>
     <string name="drawer_item_on_device">On device</string>
     <string name="drawer_item_settings">Settings</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Enviar</string>
     <string name="actionbar_sort">Ordenar</string>
     <string name="actionbar_sort_title">Ordenar por</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Más reciente - Más antiguo</string>
-    <string name="menu_item_sort_by_size">Mayor - Menor</string>
     <string name="drawer_item_all_files">Todos los archivos</string>
     <string name="drawer_item_on_device">En el dispositivo</string>
     <string name="drawer_item_settings">Ajustes</string>
@@ -57,7 +54,7 @@
     <string name="auth_host_url">Dirección del servidor https://…</string>
     <string name="auth_username">Nombre de usuario</string>
     <string name="auth_password">Contraseña</string>
-    <string name="auth_register">Aún no tiene un servidor? \nDa click aqui para obtener uno de un proveedor</string>
+    <string name="auth_register">Aún no tiene un servidor? \nDa click aquí para obtener uno de un proveedor</string>
     <string name="sync_string_files">Archivos</string>
     <string name="setup_btn_connect">Conectar</string>
     <string name="uploader_btn_upload_text">Cargar</string>
@@ -78,7 +75,7 @@
     <string name="uploader_upload_files_behaviour_only_upload">Mantener el archivo en la carpeta de origen</string>
     <string name="uploader_upload_files_behaviour_upload_and_delete_from_source">Borrar el archivo de la carpeta de origen</string>
     <string name="file_list_seconds_ago">hace algunos segundos</string>
-    <string name="file_list_empty_headline">No hay archivos aqui</string>
+    <string name="file_list_empty_headline">No hay archivos aquí</string>
     <string name="file_list_empty">¡Cargue algún contenido o sincronice con sus dispositivos!</string>
     <string name="file_list_loading">Cargando&#8230;</string>
     <string name="file_list_no_app_for_file_type">¡No se encontró una aplicación para este tipo de archivo!</string>
@@ -315,6 +312,7 @@
     <string name="conflict_use_local_version">versión local</string>
     <string name="conflict_use_server_version">versión de servidor</string>
 
+    <string name="preview_sorry">¡Disculpas por eso!</string>
     <string name="preview_image_description">Vista previa de imagen</string>
     <string name="preview_image_error_unknown_format">Esta imagen no puede ser mostrada</string>
 
@@ -509,6 +507,8 @@
     <string name="participate_testing_bug_text">¿Encontró una falla? ¿Hay algo raro?</string>
     <string name="participate_testing_report_text">Reportar un tema en Github</string>
     <string name="participate_testing_version_text">¿Le interesaría ayudarnos a probar la siguiente Versión?</string>
+    <string name="participate_beta_headline">Probar la versión nocturna</string>
+    <string name="participate_beta_text">Esto incluye todas las próximas características y es lo más nuevo. Fallas/errores pueden ocurrir y si es el caso, favor de reportarnoslos. </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ía 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>
@@ -536,7 +536,7 @@
     <string name="upload_file_dialog_filetype_internet_shortcut">Archivo de acceso directo a Internet(%s)</string>
     <string name="upload_file_dialog_filetype_googlemap_shortcut">Archivo de acceso directo a Google Maps(%s)</string>
 
-    <string name="storage_description_default">Por omisión</string>
+    <string name="storage_description_default">Predeterminado</string>
     <string name="storage_description_sd_no">tarjeta SD %1$d</string>
     <string name="storage_description_unknown">Desconocido</string>
 
@@ -555,4 +555,14 @@
 
     <string name="whats_new_skip">Saltar</string>
 
-    </resources>
+    <!-- User information -->
+    <string name="user_info_full_name">Nombre completo</string>
+    <string name="user_info_email">Correo electrónico</string>
+    <string name="user_info_phone">Número telefónico</string>
+    <string name="user_info_address">Dirección</string>
+    <string name="user_info_website">Sitio web</string>
+    <string name="user_info_twitter">Twitter</string>
+
+    <string name="user_information_description">Información del usuario</string>
+
+</resources>

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

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Enviar</string>
     <string name="actionbar_sort">Ordenar</string>
     <string name="actionbar_sort_title">Ordenar por</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Más nuevo - Más antiguo</string>
-    <string name="menu_item_sort_by_size">Mayor - Menor</string>
+    <string name="sort_by">Ordenar por</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">El más reciente primero</string>
+    <string name="menu_item_sort_by_date_oldest_first">El más viejo primero</string>
+    <string name="menu_item_sort_by_size_biggest_first">El más grande primero</string>
+    <string name="menu_item_sort_by_size_smallest_first">El más pequeno primero</string>
+
     <string name="drawer_item_all_files">Todos los archivos</string>
     <string name="drawer_item_on_device">En el dispositivo</string>
     <string name="drawer_item_settings">Ajustes</string>
@@ -315,6 +320,7 @@
     <string name="conflict_use_local_version">versión local</string>
     <string name="conflict_use_server_version">versión del servidor</string>
 
+    <string name="preview_sorry">¡Lo sentimos!</string>
     <string name="preview_image_description">Previsualización de imagen</string>
     <string name="preview_image_error_unknown_format">No se puede mostrar la imagen</string>
 
@@ -509,6 +515,8 @@
     <string name="participate_testing_bug_text">¿Encontró un error? ¿Algo está mal?</string>
     <string name="participate_testing_report_text">Informa de un problema en Github</string>
     <string name="participate_testing_version_text">¿Interesado en ayudarnos a probar la próxima versión?</string>
+    <string name="participate_beta_headline">Pruebe la versión \"nightly\"</string>
+    <string name="participate_beta_text">Esto incluye todas las características por llegar y está al filo de la novedad. Pueden ocurrir fallos y errores y, si sucede, por favor infórmanos.</string>
     <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_release_candidate_text">La 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ístrese para probarla en Play Store o busque manualmente en la sección \"versiones\" de F-Droid.</string>
     <string name="participate_contribute_headline">Contribuye activamente</string>
@@ -555,4 +563,14 @@
 
     <string name="whats_new_skip">Omitir</string>
 
-    </resources>
+    <!-- User information -->
+    <string name="user_info_full_name">Nombre completo</string>
+    <string name="user_info_email">Correo electrónico</string>
+    <string name="user_info_phone">Número de teléfono</string>
+    <string name="user_info_address">Dirección</string>
+    <string name="user_info_website">Sitio web</string>
+    <string name="user_info_twitter">Twitter</string>
+
+    <string name="user_information_description">Información de usuario</string>
+
+</resources>

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

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Exporter</string>
     <string name="actionbar_sort">Trier</string>
     <string name="actionbar_sort_title">Trier par</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">du plus récent au plus ancien</string>
-    <string name="menu_item_sort_by_size">du plus grand au plus petit</string>
+    <string name="sort_by">Trier par</string>
+    <string name="menu_item_sort_by_name_a_z">De A à Z</string>
+    <string name="menu_item_sort_by_name_z_a"> De Z à A</string>
+    <string name="menu_item_sort_by_date_newest_first">Le plus récent en premier</string>
+    <string name="menu_item_sort_by_date_oldest_first">Le plus ancien en premier</string>
+    <string name="menu_item_sort_by_size_biggest_first">Le plus grand en premier</string>
+    <string name="menu_item_sort_by_size_smallest_first">Le plus petit en premier</string>
+
     <string name="drawer_item_all_files">Tous les fichiers</string>
     <string name="drawer_item_on_device">Sur l\'appareil</string>
     <string name="drawer_item_settings">Paramètres</string>
@@ -510,6 +515,8 @@
     <string name="participate_testing_bug_text">Vous avez trouvé un bug ? Quelque chose vous semble étrange ?</string>
     <string name="participate_testing_report_text">Signaler un problème sur Github</string>
     <string name="participate_testing_version_text">Vous avez envie de nous aider en testant les futures versions ?</string>
+    <string name="participate_beta_headline">Testez la version Bêta</string>
+    <string name="participate_beta_text">La version Beta inclut les dernières fonctionnalités qui sont encore toutes fraîches. Des erreurs peuvent se produire et si c\'est le cas, merci de nous les signaler.</string>
     <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 dernière version 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>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">שליחה</string>
     <string name="actionbar_sort">מיון</string>
     <string name="actionbar_sort_title">מיון על בסיס</string>
-    <string name="menu_item_sort_by_name">א - ת</string>
-    <string name="menu_item_sort_by_date">חדש - ישן</string>
-    <string name="menu_item_sort_by_size">גדול - קטן</string>
     <string name="drawer_item_all_files">כל הקבצים</string>
     <string name="drawer_item_settings">הגדרות</string>
     <string name="drawer_item_uploads_list">העלאות</string>

+ 24 - 4
src/main/res/values-hu-rHU/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Küldés</string>
     <string name="actionbar_sort">Rendezés</string>
     <string name="actionbar_sort_title">Rendezés elve</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Újabb - régebbi</string>
-    <string name="menu_item_sort_by_size">Nagyobb - kisebb</string>
+    <string name="sort_by">Rendezés elve</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Újabbak elöl</string>
+    <string name="menu_item_sort_by_date_oldest_first">Régebbieak elöl</string>
+    <string name="menu_item_sort_by_size_biggest_first">Nagyobbak elöl</string>
+    <string name="menu_item_sort_by_size_smallest_first">Kisebbek elöl</string>
+
     <string name="drawer_item_all_files">Összes fájl</string>
     <string name="drawer_item_on_device">Az eszközön</string>
     <string name="drawer_item_settings">Beállítások</string>
@@ -58,6 +63,7 @@
     <string name="auth_host_url">Szerver címe https://...</string>
     <string name="auth_username">Felhasználónév</string>
     <string name="auth_password">Jelszó</string>
+    <string name="auth_register">Nincs még szervered?\nKattints ide és szerezz egyet egy szolgáltatótól!</string>
     <string name="sync_string_files">Fájlok</string>
     <string name="setup_btn_connect">Kapcsolódás</string>
     <string name="uploader_btn_upload_text">Feltöltés</string>
@@ -83,6 +89,8 @@
     <string name="file_list_loading">Betöltés&#8230;</string>
     <string name="file_list_no_app_for_file_type">Nem található alkalmazás a fálj típushoz.</string>
     <string name="local_file_list_empty">Nincs fájl ebben a mappában.</string>
+    <string name="file_list_empty_headline_search">Nincsenek eredmények ebben a mappában</string>
+    <string name="file_list_empty_search">Megpróbálsz másik mappában keresni?</string>
     <string name="upload_list_empty_headline">Nincsenek feltöltések</string>
     <string name="upload_list_empty_text">Tölts fel valami tartalmat vagy kapcsold be az azonnali feltöltést!</string>
     <string name="file_list_folder">mappa</string>
@@ -313,6 +321,7 @@
     <string name="conflict_use_local_version">helyi verzió</string>
     <string name="conflict_use_server_version">szerver verzió</string>
 
+    <string name="preview_sorry">Elnézést kérek!</string>
     <string name="preview_image_description">Előnézeti kép</string>
     <string name="preview_image_error_unknown_format">Ez a kép nem jeleníthető meg</string>
 
@@ -507,6 +516,7 @@
     <string name="participate_testing_bug_text">Hibát találtál? Valami furcsa?</string>
     <string name="participate_testing_report_text">Jelentsd a problémát a Githubon</string>
     <string name="participate_testing_version_text">Érdekel a következő verzió tesztelési lehetősége?</string>
+    <string name="participate_beta_headline">Nightly verzió tesztelése</string>
     <string name="participate_release_candidate_headline">Kiadásra jelölt</string>
     <string name="participate_release_candidate_text">A kiadásra jelölt (RC) változat az egy pillanatképe a közelgő új változatnak, és stabilnak mondható. Az egyedi telepítésekkel segíthet nekünk, hogy ezt biztosítsuk. Jelentkezzen tesztelésre a Play Áruházban vagy manuálisan nézzen bele a verziók részbe F-Droid-on.</string>
     <string name="participate_contribute_headline">Aktívan hozzájárul</string>
@@ -553,4 +563,14 @@
 
     <string name="whats_new_skip">Kihagy</string>
 
-    </resources>
+    <!-- User information -->
+    <string name="user_info_full_name">Teljes név</string>
+    <string name="user_info_email">E-mail</string>
+    <string name="user_info_phone">Telefonszám</string>
+    <string name="user_info_address">Cím</string>
+    <string name="user_info_website">Weboldal</string>
+    <string name="user_info_twitter">Twitter</string>
+
+    <string name="user_information_description">Felhasználói információ</string>
+
+</resources>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Kirim</string>
     <string name="actionbar_sort">Urutkan</string>
     <string name="actionbar_sort_title">Urutan</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Terbaru - Terlama</string>
-    <string name="menu_item_sort_by_size">Terbesar - Terkecil</string>
     <string name="drawer_item_all_files">Semua berkas</string>
     <string name="drawer_item_on_device">Dalam perangkat</string>
     <string name="drawer_item_settings">Pengaturan</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Senda</string>
     <string name="actionbar_sort">Raða</string>
     <string name="actionbar_sort_title">Raða sem</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Nýjast - Elst</string>
-    <string name="menu_item_sort_by_size">Stærst - Minnst</string>
     <string name="drawer_item_all_files">Allar skrár</string>
     <string name="drawer_item_on_device">á tækinu</string>
     <string name="drawer_item_settings">Stillingar</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Invia</string>
     <string name="actionbar_sort">Ordina</string>
     <string name="actionbar_sort_title">Ordina per</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Più recente - Più datato</string>
-    <string name="menu_item_sort_by_size">Più grande - Più piccolo</string>
     <string name="drawer_item_all_files">Tutti i file</string>
     <string name="drawer_item_on_device">Su dispositivo</string>
     <string name="drawer_item_settings">Impostazioni</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">送信</string>
     <string name="actionbar_sort">ソート</string>
     <string name="actionbar_sort_title">ソート: </string>
-    <string name="menu_item_sort_by_name">A-Z</string>
-    <string name="menu_item_sort_by_date">更新の降順</string>
-    <string name="menu_item_sort_by_size">サイズの降順</string>
     <string name="drawer_item_all_files">すべてのファイル</string>
     <string name="drawer_item_on_device">デバイス上</string>
     <string name="drawer_item_settings">設定</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">보내기</string>
     <string name="actionbar_sort">정렬</string>
     <string name="actionbar_sort_title">정렬 순서</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">최신 - 오래된</string>
-    <string name="menu_item_sort_by_size">가장 큰 - 가장 작은</string>
     <string name="drawer_item_all_files">모든 파일</string>
     <string name="drawer_item_on_device">장치</string>
     <string name="drawer_item_settings">설정</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Sūtīt</string>
     <string name="actionbar_sort">Kārtot</string>
     <string name="actionbar_sort_title">Kārtot pēc</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Jaunākie - vecākie</string>
-    <string name="menu_item_sort_by_size">Lielākie - mazākie</string>
     <string name="drawer_item_all_files">Visas datnes</string>
     <string name="drawer_item_on_device">Ierīcē</string>
     <string name="drawer_item_settings">Iestatījumi</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Send</string>
     <string name="actionbar_sort">Sorter</string>
     <string name="actionbar_sort_title">Sorter etter</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Nyest - Eldst</string>
-    <string name="menu_item_sort_by_size">Størst - Minst</string>
     <string name="drawer_item_all_files">Alle filer</string>
     <string name="drawer_item_on_device">På enheten</string>
     <string name="drawer_item_settings">Innstillinger</string>

+ 2 - 3
src/main/res/values-nl/strings.xml

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Versturen</string>
     <string name="actionbar_sort">Sorteren</string>
     <string name="actionbar_sort_title">Sorteer op</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Nieuwste - Oudste</string>
-    <string name="menu_item_sort_by_size">Grootste - Kleinste</string>
     <string name="drawer_item_all_files">Alle bestanden</string>
     <string name="drawer_item_on_device">Op het apparaat</string>
     <string name="drawer_item_settings">Instellingen</string>
@@ -510,6 +507,8 @@
     <string name="participate_testing_bug_text">Foutje gevonden? Of iets raars?</string>
     <string name="participate_testing_report_text">Meld het op Github</string>
     <string name="participate_testing_version_text">Geïnteresseerd om ons te helpen de volgende versie te testen?</string>
+    <string name="participate_beta_headline">Test de nightly-versie</string>
+    <string name="participate_beta_text">Dit omvat alle komende opties en is zeer \'bleeding edge\'. Bugs/fouten kunnen voorkomen en in dat geval vragen we je die aan ons te melden.</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>

+ 10 - 3
src/main/res/values-pl/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Wyślij</string>
     <string name="actionbar_sort">Sortuj</string>
     <string name="actionbar_sort_title">Sortuj według</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Nowsze - Starsze</string>
-    <string name="menu_item_sort_by_size">Największe - Najmniejsze</string>
+    <string name="sort_by">Sortuj po</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Najnowsze najpierw</string>
+    <string name="menu_item_sort_by_date_oldest_first">Najstarsze najpier</string>
+    <string name="menu_item_sort_by_size_biggest_first">Największe najpierw</string>
+    <string name="menu_item_sort_by_size_smallest_first">Najmniejsze najpierw</string>
+
     <string name="drawer_item_all_files">Wszystkie pliki</string>
     <string name="drawer_item_on_device">Na urządzeniu</string>
     <string name="drawer_item_settings">Ustawienia</string>
@@ -510,6 +515,8 @@
     <string name="participate_testing_bug_text">Znaleziono błąd? Jest coś dziwnego?</string>
     <string name="participate_testing_report_text">Zgłoś błąd na GitHubie</string>
     <string name="participate_testing_version_text">Chcesz pomóc nam testować następną wersję?</string>
+    <string name="participate_beta_headline">Testuj wersję nocną</string>
+    <string name="participate_beta_text">Zawiera to w sobie wszystkie nadchodzące funkcjonalności i jest bardzo ryzykowne. Mogą się pojawiać błędy. Jeśli będą proszę je do nas zgłosić.</string>
     <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>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Enviar</string>
     <string name="actionbar_sort">Classificar</string>
     <string name="actionbar_sort_title">Classificar por</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Mais novo - Mais antigo</string>
-    <string name="menu_item_sort_by_size">Maior - Menor</string>
     <string name="drawer_item_all_files">Todos os arquivos</string>
     <string name="drawer_item_on_device">No aparelho</string>
     <string name="drawer_item_settings">Configurações</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Enviar</string>
     <string name="actionbar_sort">Ordenar</string>
     <string name="actionbar_sort_title">Ordenar por</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Recente - Antigo</string>
-    <string name="menu_item_sort_by_size">Maior - Menor</string>
     <string name="drawer_item_all_files">Todos os ficheiros</string>
     <string name="drawer_item_on_device">No dispositivo</string>
     <string name="drawer_item_settings">Definições</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Expediază</string>
     <string name="actionbar_sort">Sortare</string>
     <string name="actionbar_sort_title">Sortare după</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Noi - Vechi</string>
-    <string name="menu_item_sort_by_size">Mari - Mici</string>
     <string name="drawer_item_all_files">Toate fișierele</string>
     <string name="drawer_item_on_device">Pe dispozitiv</string>
     <string name="drawer_item_settings">Setări</string>

+ 11 - 4
src/main/res/values-ru/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Отправить</string>
     <string name="actionbar_sort">Сортировать</string>
     <string name="actionbar_sort_title">Сортировать по</string>
-    <string name="menu_item_sort_by_name">А - Я</string>
-    <string name="menu_item_sort_by_date">Новые - старые</string>
-    <string name="menu_item_sort_by_size">Размеру</string>
+    <string name="sort_by">Порядок сортировки</string>
+    <string name="menu_item_sort_by_name_a_z">А–Я</string>
+    <string name="menu_item_sort_by_name_z_a">Я–A</string>
+    <string name="menu_item_sort_by_date_newest_first">Новые–старые</string>
+    <string name="menu_item_sort_by_date_oldest_first">Старые–новые</string>
+    <string name="menu_item_sort_by_size_biggest_first">Большие–маленькие</string>
+    <string name="menu_item_sort_by_size_smallest_first">Маленькие–большие</string>
+
     <string name="drawer_item_all_files">Все файлы</string>
     <string name="drawer_item_on_device">На устройстве</string>
     <string name="drawer_item_settings">Настройки</string>
@@ -85,7 +90,7 @@
     <string name="file_list_loading">Загрузка&#8230;</string>
     <string name="file_list_no_app_for_file_type">Приложение для этого типа файла не найдено!</string>
     <string name="local_file_list_empty">В этом каталоге нет файлов.</string>
-    <string name="file_list_empty_headline_search">В этом катадлоге результатов не найдено</string>
+    <string name="file_list_empty_headline_search">В этой папке результатов не найдено</string>
     <string name="file_list_empty_search">Искать в другом каталоге?</string>
     <string name="upload_list_empty_headline">Нет доступных загрузок</string>
     <string name="upload_list_empty_text">Загрузите что-нибудь или включите автоматическую загрузку!</string>
@@ -512,6 +517,8 @@
     <string name="participate_testing_bug_text">Нашли ошибку? Заметили необычное поведение программы?</string>
     <string name="participate_testing_report_text">Сообщить о проблеме на Github</string>
     <string name="participate_testing_version_text">Вам интересно участие в тестировании следующих версий?</string>
+    <string name="participate_beta_headline">Протестируйте \"ночную\" версию</string>
+    <string name="participate_beta_text">Она включает в себя все готовящиеся возможности с самой передовой. Могут появляться баги, в таком случае, напишите о них нам</string>
     <string name="participate_release_candidate_headline">Кандидат в релизы</string>
     <string name="participate_release_candidate_text">Релиз-кандидат (RC) - это текущее состояние готовящегося выпуска, и, ожидается, что он будет стабильным. Проверка с вашими индивидуальными настройками может помочь убедится в этом. Зарегистрируйтесь для тестирования в Google Play или используйте раздел \"версии\" в каталоге приложений F-Droid.</string>
     <string name="participate_contribute_headline">Активное участие</string>

+ 26 - 4
src/main/res/values-sk-rSK/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Odoslať</string>
     <string name="actionbar_sort">Zoradiť</string>
     <string name="actionbar_sort_title">Zoradiť podľa</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Od najnovších</string>
-    <string name="menu_item_sort_by_size">Od najväčších</string>
+    <string name="sort_by">Zoradiť podľa</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Najnovšie prvé</string>
+    <string name="menu_item_sort_by_date_oldest_first">Najstaršie prvé</string>
+    <string name="menu_item_sort_by_size_biggest_first">Najväčšie prvé</string>
+    <string name="menu_item_sort_by_size_smallest_first">Najmenšie prvé</string>
+
     <string name="drawer_item_all_files">Všetky súbory</string>
     <string name="drawer_item_on_device">V zariadení</string>
     <string name="drawer_item_settings">Nastavenia</string>
@@ -315,6 +320,7 @@
     <string name="conflict_use_local_version">lokálnu verziu</string>
     <string name="conflict_use_server_version">serverovú verziu</string>
 
+    <string name="preview_sorry">Je nám to ľúto!</string>
     <string name="preview_image_description">Ukážka obrazu</string>
     <string name="preview_image_error_unknown_format">Obrázok nemožno zobraziť</string>
 
@@ -471,6 +477,8 @@
     <string name="share_group_clarification">%1$s (skupina)</string>
     <string name="share_remote_clarification">%1$s (vzdialený)</string>
     <string name="share_email_clarification">%1$s (email)</string>
+    <string name="share_known_remote_clarification">%1$s ( na %2$s )</string>
+
     <string name="share_sharee_unavailable">Je nám ľúto, verzia vášho servera neumožňuje sprístupňovanie obsahu používateľom alebo skupinám. \nProsím, obráťte sa na svojho správcu</string>
     <string name="share_privilege_can_share">môže sprístupniť</string>
     <string name="share_privilege_can_edit">môže upraviť</string>
@@ -498,6 +506,7 @@
     <string name="confirmation_remove_folders_alert">Naozaj chcete odstrániť vybraté položky a ich obsah?</string>
     <string name="uploads_view_upload_status_waiting_for_charging">Čakám na nabíjanie zariadenia</string>
     <string name="actionbar_search">Hľadať</string>
+    <string name="files_drop_not_supported">Toto je funkcia Nextcloudu, aktualizujte prosím.</string>
     <string name="learn_more">Dozvedieť sa viac</string>
     <string name="drawer_folder_sync">Automatické nahratie</string>
     <string name="drawer_participate">Zúčastniť sa</string>
@@ -505,6 +514,9 @@
     <string name="participate_testing_bug_text">Našli ste chybu? Niečo nefunguje?</string>
     <string name="participate_testing_report_text">Nahlásiť chybu na Githube</string>
     <string name="participate_testing_version_text">Máte záujem pomôcť nám s testovaním ďalšej Verzie?</string>
+    <string name="participate_beta_headline">Testovať nočnú verziu</string>
+    <string name="participate_beta_text">Táto verzia obsahuje všetký pripravované funkcie. Je veľmi nestabilná a môže obsahovať chyby. Ak na ne natrafíte, prosím nahláste nám ich. </string>
+    <string name="participate_release_candidate_headline">Release candidate</string>
     <string name="participate_contribute_headline">Aktívne prispievať</string>
     <string name="participate_contribute_irc_text">Vst=upte do chatu na IRC: &lt;a href=\"%1$s\">#nextcloud-mobile&lt;/a></string>
     <string name="participate_contribute_forum_text">Pomôž ostatným na &lt;a href=\"%1$s\">fóre&lt;/a></string>
@@ -549,4 +561,14 @@
 
     <string name="whats_new_skip">Preskočiť</string>
 
-    </resources>
+    <!-- User information -->
+    <string name="user_info_full_name">Celé meno</string>
+    <string name="user_info_email">Email</string>
+    <string name="user_info_phone">Telefónne číslo</string>
+    <string name="user_info_address">Adresa</string>
+    <string name="user_info_website">Web stránka</string>
+    <string name="user_info_twitter">Twitter</string>
+
+    <string name="user_information_description">Informácie o používateľovi</string>
+
+</resources>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Pošlji</string>
     <string name="actionbar_sort">Razvrsti</string>
     <string name="actionbar_sort_title">Razvrsti ...</string>
-    <string name="menu_item_sort_by_name">A - Ž</string>
-    <string name="menu_item_sort_by_date">Novo - Staro</string>
-    <string name="menu_item_sort_by_size">Večje - Manjše</string>
     <string name="drawer_item_all_files">Vse datoteke</string>
     <string name="drawer_item_on_device">Na napravi</string>
     <string name="drawer_item_settings">Nastavitve</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Dërgojeni</string>
     <string name="actionbar_sort">Renditni</string>
     <string name="actionbar_sort_title">Renditni sipas</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Më e reja - Më e vjetra</string>
-    <string name="menu_item_sort_by_size">Më i madh - Më i vogël</string>
     <string name="drawer_item_all_files">Të gjithë skedarët</string>
     <string name="drawer_item_on_device">Në pajisjen</string>
     <string name="drawer_item_settings">Rregullime</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">Skicka</string>
     <string name="actionbar_sort">Sortera</string>
     <string name="actionbar_sort_title">Sortera efter</string>
-    <string name="menu_item_sort_by_name">A - Ö</string>
-    <string name="menu_item_sort_by_date">Nyast - Äldst</string>
-    <string name="menu_item_sort_by_size">Störst - Minst</string>
     <string name="drawer_item_all_files">Alla filer</string>
     <string name="drawer_item_on_device">Filer på enheten</string>
     <string name="drawer_item_settings">Inställningar</string>

+ 10 - 3
src/main/res/values-tr/strings.xml

@@ -13,9 +13,14 @@
     <string name="actionbar_send_file">Gönder</string>
     <string name="actionbar_sort">Sırala</string>
     <string name="actionbar_sort_title">Şuna göre sırala</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">Yeniden Eskiye</string>
-    <string name="menu_item_sort_by_size">Büyükten Küçüğe</string>
+    <string name="sort_by">Sıralama</string>
+    <string name="menu_item_sort_by_name_a_z">A - Z</string>
+    <string name="menu_item_sort_by_name_z_a">Z - A</string>
+    <string name="menu_item_sort_by_date_newest_first">Yeniden - Eskiye</string>
+    <string name="menu_item_sort_by_date_oldest_first">Eskiden Yeniye</string>
+    <string name="menu_item_sort_by_size_biggest_first">Büyükten Küçüğe</string>
+    <string name="menu_item_sort_by_size_smallest_first">Küçükten Büyüğe</string>
+
     <string name="drawer_item_all_files">Tüm dosyalar</string>
     <string name="drawer_item_on_device">Aygıt üzerinde</string>
     <string name="drawer_item_settings">Ayarlar</string>
@@ -510,6 +515,8 @@
     <string name="participate_testing_bug_text">Bir hata mı buldunuz? Bir gariplik mi var?</string>
     <string name="participate_testing_report_text">Github üzerinden bir sorun bildirin</string>
     <string name="participate_testing_version_text">Gelecek sürümler için bize yardımcı olmak ister misiniz?</string>
+    <string name="participate_beta_headline">Gecelik sürümü 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_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ümlere\" bakın.</string>
     <string name="participate_contribute_headline">Etkin Katkıda Bulunun</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">发送</string>
     <string name="actionbar_sort">排序</string>
     <string name="actionbar_sort_title">排序方式</string>
-    <string name="menu_item_sort_by_name">按名字排序</string>
-    <string name="menu_item_sort_by_date">按时间排序</string>
-    <string name="menu_item_sort_by_size">按文件大小排序</string>
     <string name="drawer_item_all_files">全部文件</string>
     <string name="drawer_item_on_device">在设备上的</string>
     <string name="drawer_item_settings">设置</string>

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

@@ -13,9 +13,6 @@
     <string name="actionbar_send_file">寄出</string>
     <string name="actionbar_sort">排序</string>
     <string name="actionbar_sort_title">排序依照</string>
-    <string name="menu_item_sort_by_name">A - Z</string>
-    <string name="menu_item_sort_by_date">最新 - 最舊</string>
-    <string name="menu_item_sort_by_size">最大 - 最小</string>
     <string name="drawer_item_all_files">所有檔案</string>
     <string name="drawer_item_on_device">在裝置上</string>
     <string name="drawer_item_settings">設定</string>

+ 10 - 0
src/main/res/values/strings.xml

@@ -33,6 +33,7 @@
     <string name="drawer_item_videos">Videos</string>
     <string name="drawer_item_settings">Settings</string>
     <string name="drawer_item_uploads_list">Uploads</string>
+    <string name="drawer_item_activities">Activities</string>
     <string name="drawer_quota">%1$s of %2$s used</string>
 	<string name="drawer_close">Close</string>
     <string name="drawer_open">Open</string>
@@ -573,6 +574,10 @@
         <item quantity="one">%d selected</item>
         <item quantity="other">%d selected</item>
     </plurals>
+
+    <string name="activity_list_loading_activity">Loading activities&#8230;</string>
+    <string name="activity_list_no_results">No activities found.</string>
+
     <string name="upload_file_dialog_title">Input upload filename and filetype</string>
     <string name="upload_file_dialog_filename">Filename</string>
     <string name="upload_file_dialog_filetype">Filetype</string>
@@ -609,4 +614,9 @@
 
     <string name="user_information_description">User information</string>
 
+    <!-- Activities -->
+    <string name="activities_no_results_headline">No activity yet</string>
+    <string name="activities_no_results_message">This stream will show events like\nadditions, changes &amp; shares</string>
+
+
 </resources>