Преглед на файлове

Merge pull request #14005 from nextcloud/feature/choose_storage_location_dialogue

Improved "Choose storage location" dialogue
Tobias Kaminsky преди 4 месеца
родител
ревизия
6a96931c01
променени са 61 файла, в които са добавени 339 реда и са изтрити 98 реда
  1. BIN
      app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png
  2. BIN
      app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png
  3. 5 0
      app/src/main/AndroidManifest.xml
  4. 5 1
      app/src/main/java/com/nextcloud/client/di/ComponentsModule.java
  5. 1 0
      app/src/main/java/com/nextcloud/client/preferences/AppPreferencesImpl.java
  6. 167 0
      app/src/main/java/com/nextcloud/ui/ChooseStorageLocationDialogFragment.kt
  7. 38 0
      app/src/main/java/com/owncloud/android/ui/activity/ChooseStorageLocationActivity.kt
  8. 17 43
      app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
  9. 47 0
      app/src/main/res/layout/dialog_data_storage_location.xml
  10. 1 1
      app/src/main/res/values-ar/strings.xml
  11. 1 1
      app/src/main/res/values-b+en+001/strings.xml
  12. 1 1
      app/src/main/res/values-bg-rBG/strings.xml
  13. 1 1
      app/src/main/res/values-ca/strings.xml
  14. 1 1
      app/src/main/res/values-cs-rCZ/strings.xml
  15. 1 1
      app/src/main/res/values-da/strings.xml
  16. 1 1
      app/src/main/res/values-de/strings.xml
  17. 1 1
      app/src/main/res/values-el/strings.xml
  18. 1 1
      app/src/main/res/values-es-rAR/strings.xml
  19. 1 1
      app/src/main/res/values-es-rEC/strings.xml
  20. 1 1
      app/src/main/res/values-es-rMX/strings.xml
  21. 1 1
      app/src/main/res/values-es/strings.xml
  22. 1 1
      app/src/main/res/values-eu/strings.xml
  23. 1 1
      app/src/main/res/values-fa/strings.xml
  24. 1 1
      app/src/main/res/values-fi-rFI/strings.xml
  25. 1 1
      app/src/main/res/values-fr/strings.xml
  26. 1 1
      app/src/main/res/values-ga/strings.xml
  27. 1 1
      app/src/main/res/values-gd/strings.xml
  28. 1 1
      app/src/main/res/values-gl/strings.xml
  29. 1 1
      app/src/main/res/values-hr/strings.xml
  30. 1 1
      app/src/main/res/values-hu-rHU/strings.xml
  31. 1 1
      app/src/main/res/values-in/strings.xml
  32. 1 1
      app/src/main/res/values-is/strings.xml
  33. 1 1
      app/src/main/res/values-it/strings.xml
  34. 1 1
      app/src/main/res/values-ja-rJP/strings.xml
  35. 1 1
      app/src/main/res/values-ka/strings.xml
  36. 1 1
      app/src/main/res/values-ko/strings.xml
  37. 1 1
      app/src/main/res/values-lo/strings.xml
  38. 1 1
      app/src/main/res/values-lt-rLT/strings.xml
  39. 1 1
      app/src/main/res/values-mk/strings.xml
  40. 1 1
      app/src/main/res/values-nb-rNO/strings.xml
  41. 1 1
      app/src/main/res/values-nl/strings.xml
  42. 1 1
      app/src/main/res/values-pl/strings.xml
  43. 1 1
      app/src/main/res/values-pt-rBR/strings.xml
  44. 1 1
      app/src/main/res/values-pt-rPT/strings.xml
  45. 1 1
      app/src/main/res/values-ro/strings.xml
  46. 1 1
      app/src/main/res/values-ru/strings.xml
  47. 1 1
      app/src/main/res/values-sc/strings.xml
  48. 1 1
      app/src/main/res/values-sk-rSK/strings.xml
  49. 1 1
      app/src/main/res/values-sl/strings.xml
  50. 1 1
      app/src/main/res/values-sr/strings.xml
  51. 1 1
      app/src/main/res/values-sv/strings.xml
  52. 1 1
      app/src/main/res/values-tk/strings.xml
  53. 1 1
      app/src/main/res/values-tr/strings.xml
  54. 1 1
      app/src/main/res/values-ug/strings.xml
  55. 1 1
      app/src/main/res/values-uk/strings.xml
  56. 1 1
      app/src/main/res/values-vi/strings.xml
  57. 1 1
      app/src/main/res/values-zh-rCN/strings.xml
  58. 1 1
      app/src/main/res/values-zh-rHK/strings.xml
  59. 1 1
      app/src/main/res/values-zh-rTW/strings.xml
  60. 5 1
      app/src/main/res/values/strings.xml
  61. 4 3
      app/src/main/res/xml/preferences.xml

BIN
app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_open.png


BIN
app/screenshots/gplay/debug/com.nextcloud.client.SettingsActivityIT_showMnemonic_Error.png


+ 5 - 0
app/src/main/AndroidManifest.xml

@@ -313,6 +313,11 @@
             android:name=".ui.activity.ContactsPreferenceActivity"
             android:exported="false"
             android:launchMode="singleInstance" />
+        <activity
+            android:name=".ui.activity.ChooseStorageLocationActivity"
+            android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
+            android:exported="false"
+            android:theme="@style/Theme.NoBackground" />
         <activity
             android:name=".ui.activity.ReceiveExternalFilesActivity"
             android:excludeFromRecents="true"

+ 5 - 1
app/src/main/java/com/nextcloud/client/di/ComponentsModule.java

@@ -27,6 +27,7 @@ import com.nextcloud.client.widget.DashboardWidgetProvider;
 import com.nextcloud.client.widget.DashboardWidgetService;
 import com.nextcloud.receiver.NetworkChangeReceiver;
 import com.nextcloud.ui.ChooseAccountDialogFragment;
+import com.nextcloud.ui.ChooseStorageLocationDialogFragment;
 import com.nextcloud.ui.ImageDetailFragment;
 import com.nextcloud.ui.SetStatusDialogFragment;
 import com.nextcloud.ui.composeActivity.ComposeActivity;
@@ -89,13 +90,13 @@ import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
 import com.owncloud.android.ui.dialog.RenamePublicShareDialogFragment;
 import com.owncloud.android.ui.dialog.SendFilesDialog;
 import com.owncloud.android.ui.dialog.SendShareDialog;
-import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment;
 import com.owncloud.android.ui.dialog.SharePasswordDialogFragment;
 import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
 import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment;
 import com.owncloud.android.ui.dialog.SyncFileNotEnoughSpaceDialogFragment;
 import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
+import com.owncloud.android.ui.dialog.setupEncryption.SetupEncryptionDialogFragment;
 import com.owncloud.android.ui.fragment.ExtendedListFragment;
 import com.owncloud.android.ui.fragment.FeatureFragment;
 import com.owncloud.android.ui.fragment.FileDetailActivitiesFragment;
@@ -416,6 +417,9 @@ abstract class ComponentsModule {
     @ContributesAndroidInjector
     abstract SetupEncryptionDialogFragment setupEncryptionDialogFragment();
 
+    @ContributesAndroidInjector
+    abstract ChooseStorageLocationDialogFragment chooseStorageLocationDialogFragment();
+
     @ContributesAndroidInjector
     abstract SharePasswordDialogFragment sharePasswordDialogFragment();
 

+ 1 - 0
app/src/main/java/com/nextcloud/client/preferences/AppPreferencesImpl.java

@@ -55,6 +55,7 @@ public final class AppPreferencesImpl implements AppPreferences {
      */
     public static final String AUTO_PREF__LAST_SEEN_VERSION_CODE = "lastSeenVersionCode";
     public static final String STORAGE_PATH = "storage_path";
+    public static final String DATA_STORAGE_LOCATION = "data_storage_location";
     public static final String STORAGE_PATH_VALID = "storage_path_valid";
     public static final String PREF__DARK_THEME = "dark_theme_mode";
     public static final float DEFAULT_GRID_COLUMN = 3f;

+ 167 - 0
app/src/main/java/com/nextcloud/ui/ChooseStorageLocationDialogFragment.kt

@@ -0,0 +1,167 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2024 ZetaTom <70907959+ZetaTom@users.noreply.github.com>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+package com.nextcloud.ui
+
+import android.app.Dialog
+import android.content.DialogInterface
+import android.os.Bundle
+import android.preference.PreferenceManager
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.DialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import com.nextcloud.client.di.Injectable
+import com.nextcloud.client.preferences.AppPreferencesImpl
+import com.owncloud.android.MainApp
+import com.owncloud.android.R
+import com.owncloud.android.databinding.DialogDataStorageLocationBinding
+import com.owncloud.android.datastorage.DataStorageProvider
+import com.owncloud.android.datastorage.StoragePoint
+import com.owncloud.android.datastorage.StoragePoint.PrivacyType
+import com.owncloud.android.datastorage.StoragePoint.StorageType
+import com.owncloud.android.utils.DisplayUtils
+import com.owncloud.android.utils.theme.ViewThemeUtils
+import java.io.File
+import javax.inject.Inject
+
+class ChooseStorageLocationDialogFragment : DialogFragment(), Injectable {
+
+    private lateinit var binding: DialogDataStorageLocationBinding
+
+    @Inject
+    lateinit var viewThemeUtils: ViewThemeUtils
+
+    private val storagePoints = DataStorageProvider.getInstance().availableStoragePoints
+
+    private val selectedStorageType
+        get() = if (!binding.storageExternalRadio.isChecked) StorageType.INTERNAL else StorageType.EXTERNAL
+    private val selectedPrivacyType
+        get() = if (binding.allowMediaIndexSwitch.isChecked) PrivacyType.PUBLIC else PrivacyType.PRIVATE
+
+    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+        binding = DialogDataStorageLocationBinding.inflate(layoutInflater)
+
+        viewThemeUtils.material.colorMaterialSwitch(binding.allowMediaIndexSwitch)
+        viewThemeUtils.platform.themeRadioButton(binding.storageInternalRadio)
+        viewThemeUtils.platform.themeRadioButton(binding.storageExternalRadio)
+
+        val builder = MaterialAlertDialogBuilder(requireContext()).setTitle(R.string.storage_choose_location)
+            .setPositiveButton(R.string.common_ok) { dialog: DialogInterface, _ ->
+                notifyResult()
+                dialog.dismiss()
+            }.setView(binding.root)
+
+        viewThemeUtils.dialog.colorMaterialAlertDialogBackground(requireContext(), builder)
+
+        binding.storageRadioGroup.setOnCheckedChangeListener { _, _ ->
+            updateMediaIndexSwitch()
+        }
+
+        binding.allowMediaIndexSwitch.setOnCheckedChangeListener { _, _ ->
+            updateStorageTypeSelection()
+        }
+
+        return builder.create()
+    }
+
+    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
+        return binding.root
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        setupLocationSelection()
+        super.onViewCreated(view, savedInstanceState)
+    }
+
+    override fun onDismiss(dialog: DialogInterface) {
+        super.onDismiss(dialog)
+        activity?.finish()
+    }
+
+    private fun setupLocationSelection() {
+        updateStorageTypeSelection()
+
+        val radioButton = when (getCurrentStorageLocation().storageType) {
+            StorageType.EXTERNAL -> binding.storageExternalRadio
+            else -> binding.storageInternalRadio
+        }
+
+        radioButton.isChecked = true
+        updateMediaIndexSwitch()
+    }
+
+    private fun getStoragePointLabel(storageType: StorageType, privacyType: PrivacyType): String {
+        val typeString = when (storageType) {
+            StorageType.INTERNAL -> getString(R.string.storage_internal_storage)
+            StorageType.EXTERNAL -> getString(R.string.storage_external_storage)
+        }
+
+        val storagePath =
+            storagePoints.firstOrNull { it.storageType == storageType && it.privacyType == privacyType }?.path
+
+        return storagePath?.let {
+            val file = File(it)
+            val totalSpace = file.totalSpace
+            val usedSpace = totalSpace - file.freeSpace
+            return String.format(
+                getString(R.string.file_migration_free_space),
+                typeString,
+                DisplayUtils.bytesToHumanReadable(usedSpace),
+                DisplayUtils.bytesToHumanReadable(totalSpace)
+            )
+        } ?: typeString
+    }
+
+    private fun updateMediaIndexSwitch() {
+        val privacyTypes =
+            storagePoints.filter { it.storageType == selectedStorageType }.map { it.privacyType }.distinct()
+        binding.allowMediaIndexSwitch.isEnabled = privacyTypes.size > 1
+        binding.allowMediaIndexSwitch.isChecked = privacyTypes.contains(PrivacyType.PUBLIC)
+    }
+
+    private fun updateStorageTypeSelection() {
+        val hasInternalStorage = storagePoints.any { it.storageType == StorageType.INTERNAL }
+        val hasExternalStorage = storagePoints.any { it.storageType == StorageType.EXTERNAL }
+
+        binding.storageInternalRadio.isEnabled = hasInternalStorage
+        binding.storageInternalRadio.text = getStoragePointLabel(StorageType.INTERNAL, selectedPrivacyType)
+
+        binding.storageExternalRadio.isEnabled = hasExternalStorage
+        binding.storageExternalRadio.text = getStoragePointLabel(StorageType.EXTERNAL, selectedPrivacyType)
+    }
+
+    private fun getCurrentStorageLocation(): StoragePoint {
+        val appContext = MainApp.getAppContext()
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext)
+        val storagePath = sharedPreferences.getString(AppPreferencesImpl.STORAGE_PATH, appContext.filesDir.absolutePath)
+        return storagePoints.first { it.path == storagePath }
+    }
+
+    private fun notifyResult() {
+        val newPath =
+            storagePoints.first { it.storageType == selectedStorageType && it.privacyType == selectedPrivacyType }
+
+        val resultBundle = Bundle().apply {
+            putString(KEY_RESULT_STORAGE_LOCATION, newPath.path)
+        }
+
+        parentFragmentManager.setFragmentResult(KEY_RESULT_STORAGE_LOCATION, resultBundle)
+    }
+
+    companion object {
+        const val KEY_RESULT_STORAGE_LOCATION = "KEY_RESULT_STORAGE_LOCATION"
+        const val STORAGE_LOCATION_RESULT_CODE = 100
+
+        @JvmStatic
+        fun newInstance() = ChooseStorageLocationDialogFragment()
+
+        @JvmStatic
+        val TAG: String = Companion::class.java.simpleName
+    }
+}

+ 38 - 0
app/src/main/java/com/owncloud/android/ui/activity/ChooseStorageLocationActivity.kt

@@ -0,0 +1,38 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2024 ZetaTom <70907959+ZetaTom@users.noreply.github.com>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+package com.owncloud.android.ui.activity
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import com.nextcloud.ui.ChooseStorageLocationDialogFragment
+
+class ChooseStorageLocationActivity : AppCompatActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+
+        val chooseStorageLocationDialogFragment = ChooseStorageLocationDialogFragment.newInstance()
+        supportFragmentManager.setFragmentResultListener(
+            KEY_RESULT_STORAGE_LOCATION,
+            this
+        ) { _, result ->
+            setResult(
+                ChooseStorageLocationDialogFragment.STORAGE_LOCATION_RESULT_CODE,
+                Intent().putExtra(
+                    KEY_RESULT_STORAGE_LOCATION,
+                    result.getString(KEY_RESULT_STORAGE_LOCATION)
+                )
+            )
+        }
+        chooseStorageLocationDialogFragment.show(supportFragmentManager, "choose_storage_location")
+    }
+
+    companion object {
+        const val KEY_RESULT_STORAGE_LOCATION = ChooseStorageLocationDialogFragment.KEY_RESULT_STORAGE_LOCATION
+    }
+}

+ 17 - 43
app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

@@ -57,8 +57,6 @@ import com.owncloud.android.authentication.AuthenticatorActivity;
 import com.owncloud.android.datamodel.ArbitraryDataProvider;
 import com.owncloud.android.datamodel.ArbitraryDataProviderImpl;
 import com.owncloud.android.datamodel.ExternalLinksProvider;
-import com.owncloud.android.datastorage.DataStorageProvider;
-import com.owncloud.android.datastorage.StoragePoint;
 import com.owncloud.android.lib.common.ExternalLink;
 import com.owncloud.android.lib.common.ExternalLinkType;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -115,6 +113,7 @@ public class SettingsActivity extends PreferenceActivity
     private static final int ACTION_REQUEST_CODE_DAVDROID_SETUP = 10;
     private static final int ACTION_SHOW_MNEMONIC = 11;
     private static final int ACTION_E2E = 12;
+    private static final int ACTION_SET_STORAGE_LOCATION = 13;
     private static final int TRUE_VALUE = 1;
 
     private static final String DAV_PATH = "/remote.php/dav";
@@ -128,7 +127,7 @@ public class SettingsActivity extends PreferenceActivity
     private ThemeableSwitchPreference showEcosystemApps;
     private AppCompatDelegate delegate;
 
-    private ListPreference prefStoragePath;
+    private  Preference prefDataLoc;
     private String storagePath;
     private String pendingLock;
 
@@ -800,34 +799,16 @@ public class SettingsActivity extends PreferenceActivity
         final PreferenceCategory preferenceCategoryGeneral = (PreferenceCategory) findPreference("general");
         viewThemeUtils.files.themePreferenceCategory(preferenceCategoryGeneral);
 
-        prefStoragePath = (ListPreference) findPreference(AppPreferencesImpl.STORAGE_PATH);
-        if (prefStoragePath != null) {
-            StoragePoint[] storageOptions = DataStorageProvider.getInstance().getAvailableStoragePoints();
-            String[] entries = new String[storageOptions.length];
-            String[] values = new String[storageOptions.length];
-            for (int i = 0; i < storageOptions.length; ++i) {
-                entries[i] = storageOptions[i].getDescription();
-                values[i] = storageOptions[i].getPath();
-            }
-            prefStoragePath.setEntries(entries);
-            prefStoragePath.setEntryValues(values);
-
-            prefStoragePath.setOnPreferenceChangeListener((preference, newValue) -> {
-                String newPath = (String) newValue;
-
-                if (storagePath.equals(newPath)) {
-                    return true;
-                }
-                StorageMigration storageMigration = new StorageMigration(this, user, storagePath, newPath, viewThemeUtils);
-                storageMigration.setStorageMigrationProgressListener(this);
-                storageMigration.migrate();
-
-                return false;
+        prefDataLoc = findPreference(AppPreferencesImpl.DATA_STORAGE_LOCATION);
+        if (prefDataLoc != null) {
+            prefDataLoc.setOnPreferenceClickListener(p -> {
+                Intent intent = new Intent(MainApp.getAppContext(), ChooseStorageLocationActivity.class);
+                intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
+                startActivityForResult(intent, ACTION_SET_STORAGE_LOCATION);
+                return true;
             });
         }
 
-        loadStoragePath();
-
         ListPreference themePref = (ListPreference) findPreference("darkMode");
 
         List<String> themeEntries = new ArrayList<>(3);
@@ -994,6 +975,14 @@ public class SettingsActivity extends PreferenceActivity
             i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
             i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
             startActivity(i);
+        } else if (requestCode == ACTION_SET_STORAGE_LOCATION && data != null) {
+            String newPath = data.getStringExtra(ChooseStorageLocationActivity.KEY_RESULT_STORAGE_LOCATION);
+
+            if (!storagePath.equals(newPath)) {
+                StorageMigration storageMigration = new StorageMigration(this, user, storagePath, newPath, viewThemeUtils);
+                storageMigration.setStorageMigrationProgressListener(this);
+                storageMigration.migrate();
+            }
         }
     }
 
@@ -1137,21 +1126,6 @@ public class SettingsActivity extends PreferenceActivity
         SharedPreferences.Editor editor = appPrefs.edit();
         editor.putString(AppPreferencesImpl.STORAGE_PATH, storagePath);
         editor.apply();
-        String storageDescription = DataStorageProvider.getInstance().getStorageDescriptionByPath(storagePath);
-        prefStoragePath.setSummary(storageDescription);
-        prefStoragePath.setValue(newStoragePath);
-    }
-
-    /**
-     * Load storage path set on preferences
-     */
-    private void loadStoragePath() {
-        SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-        // Load storage path from shared preferences. Use private internal storage by default.
-        storagePath = appPrefs.getString(AppPreferencesImpl.STORAGE_PATH,
-                                         getApplicationContext().getFilesDir().getAbsolutePath());
-        String storageDescription = DataStorageProvider.getInstance().getStorageDescriptionByPath(storagePath);
-        prefStoragePath.setSummary(storageDescription);
     }
 
     @Override

+ 47 - 0
app/src/main/res/layout/dialog_data_storage_location.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Nextcloud - Android Client
+  ~
+  ~ SPDX-FileCopyrightText: 2024 ZetaTom <70907959+ZetaTom@users.noreply.github.com>
+  ~ SPDX-License-Identifier: AGPL-3.0-or-later
+  -->
+
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingHorizontal="@dimen/dialog_padding">
+
+    <RadioGroup
+        android:id="@+id/storage_radioGroup"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <RadioButton
+            android:id="@+id/storage_internal_radio"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:enabled="false"
+            android:text="@string/storage_internal_storage" />
+
+        <RadioButton
+            android:id="@+id/storage_external_radio"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:enabled="false"
+            android:text="@string/storage_external_storage" />
+    </RadioGroup>
+
+    <com.google.android.material.materialswitch.MaterialSwitch
+        android:id="@+id/allow_media_index_switch"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:checked="true"
+        android:enabled="false"
+        android:text="@string/file_migration_allow_media_indexing"
+        app:layout_constraintTop_toBottomOf="@+id/storage_radioGroup"
+        tools:layout_editor_absoluteX="24dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 1
app/src/main/res/values-ar/strings.xml

@@ -693,7 +693,7 @@
     <string name="prefs_show_ecosystem_apps_summary">مقترحات بتطبيقات من نكست كلاود في شريط التصفح navigation heading</string>
     <string name="prefs_show_hidden_files">عرض الملفات المخفية</string>
     <string name="prefs_sourcecode">الحصول على الشفرة المصدرية</string>
-    <string name="prefs_storage_path">مجلد تخزين البيانات</string>
+    <string name="prefs_data_storage_location">مجلد تخزين البيانات</string>
     <string name="prefs_sycned_folders_summary">إدارة الملفات للتحميل التلقائي</string>
     <string name="prefs_synced_folders_local_path_title">مجلد محلي</string>
     <string name="prefs_synced_folders_remote_path_title">مجلد عن بعد</string>

+ 1 - 1
app/src/main/res/values-b+en+001/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud app suggestions in navigation heading</string>
     <string name="prefs_show_hidden_files">Show hidden files</string>
     <string name="prefs_sourcecode">Get source code</string>
-    <string name="prefs_storage_path">Data storage folder</string>
+    <string name="prefs_data_storage_location">Data storage folder</string>
     <string name="prefs_sycned_folders_summary">Manage folders for auto upload</string>
     <string name="prefs_synced_folders_local_path_title">Local folder</string>
     <string name="prefs_synced_folders_remote_path_title">Remote folder</string>

+ 1 - 1
app/src/main/res/values-bg-rBG/strings.xml

@@ -581,7 +581,7 @@
     <string name="prefs_setup_e2e">Настройка на цялостно криптиране</string>
     <string name="prefs_show_hidden_files">Показване и на скрити файлове</string>
     <string name="prefs_sourcecode">Получаване на изходния код</string>
-    <string name="prefs_storage_path">Папка за съхранение на данни</string>
+    <string name="prefs_data_storage_location">Папка за съхранение на данни</string>
     <string name="prefs_sycned_folders_summary">Управление на папки за автоматично качване</string>
     <string name="prefs_synced_folders_local_path_title">Локална папка</string>
     <string name="prefs_synced_folders_remote_path_title">Отдалечена папка</string>

+ 1 - 1
app/src/main/res/values-ca/strings.xml

@@ -600,7 +600,7 @@
     <string name="prefs_setup_e2e">Configureu el xifratge d\'extrem a extrem</string>
     <string name="prefs_show_hidden_files">Mostra els fitxers ocults</string>
     <string name="prefs_sourcecode">Aconseguiu el codi font</string>
-    <string name="prefs_storage_path">Carpeta de dades</string>
+    <string name="prefs_data_storage_location">Carpeta de dades</string>
     <string name="prefs_sycned_folders_summary">Gestiona les carpetes per a la pujada automàtica</string>
     <string name="prefs_synced_folders_local_path_title">Carpeta local</string>
     <string name="prefs_synced_folders_remote_path_title">Carpeta remota</string>

+ 1 - 1
app/src/main/res/values-cs-rCZ/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Doporučování Nextcloud aplikací v záhlaví navigace</string>
     <string name="prefs_show_hidden_files">Zobrazit skryté soubory</string>
     <string name="prefs_sourcecode">Získat zdrojové kódy</string>
-    <string name="prefs_storage_path">Složka pro ukládání dat</string>
+    <string name="prefs_data_storage_location">Složka pro ukládání dat</string>
     <string name="prefs_sycned_folders_summary">Spravovat složky pro automatické nahrávání</string>
     <string name="prefs_synced_folders_local_path_title">Místní složka</string>
     <string name="prefs_synced_folders_remote_path_title">Vzdálená složka</string>

+ 1 - 1
app/src/main/res/values-da/strings.xml

@@ -632,7 +632,7 @@ Enheds legitimationsoplysninger er sat op
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud app anbefalinger i navigationspanelet</string>
     <string name="prefs_show_hidden_files">Vis skjulte filer</string>
     <string name="prefs_sourcecode">Hent kildetekst</string>
-    <string name="prefs_storage_path">Lagringsmappe for data</string>
+    <string name="prefs_data_storage_location">Lagringsmappe for data</string>
     <string name="prefs_sycned_folders_summary">Administrér mapper til auto upload</string>
     <string name="prefs_synced_folders_local_path_title">Lokal mappe</string>
     <string name="prefs_synced_folders_remote_path_title">Ekstern mappe</string>

+ 1 - 1
app/src/main/res/values-de/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud-App-Vorschläge in der Navigationsüberschrift</string>
     <string name="prefs_show_hidden_files">Versteckte Dateien anzeigen</string>
     <string name="prefs_sourcecode">Zum Programmcode</string>
-    <string name="prefs_storage_path">Speicherordner</string>
+    <string name="prefs_data_storage_location">Speicherordner</string>
     <string name="prefs_sycned_folders_summary">Ordner für \"Automatisches Hochladen\" verwalten</string>
     <string name="prefs_synced_folders_local_path_title">Lokaler Ordner</string>
     <string name="prefs_synced_folders_remote_path_title">Remote-Ordner</string>

+ 1 - 1
app/src/main/res/values-el/strings.xml

@@ -587,7 +587,7 @@
     <string name="prefs_setup_e2e">Ρύθμιση κρυπτογράφησης από άκρο σε άκρο</string>
     <string name="prefs_show_hidden_files">Εμφάνιση κρυφών αρχείων</string>
     <string name="prefs_sourcecode">Λήψη πηγαίου κώδικα</string>
-    <string name="prefs_storage_path">Φάκελος αποθήκευσης δεδομένων</string>
+    <string name="prefs_data_storage_location">Φάκελος αποθήκευσης δεδομένων</string>
     <string name="prefs_sycned_folders_summary">Διαχείριση φακέλων για αυτόματη μεταφόρτωση</string>
     <string name="prefs_synced_folders_local_path_title">Τοπικός φάκελος</string>
     <string name="prefs_synced_folders_remote_path_title">Απομακρυσμένος φάκελος</string>

+ 1 - 1
app/src/main/res/values-es-rAR/strings.xml

@@ -655,7 +655,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugerencias de aplicaciones de Nextcloud en el encabezado de navegación</string>
     <string name="prefs_show_hidden_files">Mostrar archivos ocultos</string>
     <string name="prefs_sourcecode">Obtener el código fuente</string>
-    <string name="prefs_storage_path">Carpeta de almacenamiento de datos</string>
+    <string name="prefs_data_storage_location">Carpeta de almacenamiento de datos</string>
     <string name="prefs_sycned_folders_summary">Administrar carpetas para carga automática</string>
     <string name="prefs_synced_folders_local_path_title">Carpeta local</string>
     <string name="prefs_synced_folders_remote_path_title">Carpeta remota</string>

+ 1 - 1
app/src/main/res/values-es-rEC/strings.xml

@@ -589,7 +589,7 @@
     <string name="prefs_setup_e2e">Configurar encriptación de extremo a extremo</string>
     <string name="prefs_show_hidden_files">Mostrar archivos ocultos</string>
     <string name="prefs_sourcecode">Obtener el código fuente</string>
-    <string name="prefs_storage_path">Carpeta de almacenamiento de datos</string>
+    <string name="prefs_data_storage_location">Carpeta de almacenamiento de datos</string>
     <string name="prefs_sycned_folders_summary">Administrar carpetas para carga automática</string>
     <string name="prefs_synced_folders_local_path_title">Carpeta local</string>
     <string name="prefs_synced_folders_remote_path_title">Carpeta remota</string>

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

@@ -655,7 +655,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugerencias de aplicaciones de Nextcloud en el encabezado de navegación</string>
     <string name="prefs_show_hidden_files">Mostrar archivos ocultos</string>
     <string name="prefs_sourcecode">Obtener el código fuente</string>
-    <string name="prefs_storage_path">Carpeta de almacenamiento de datos</string>
+    <string name="prefs_data_storage_location">Carpeta de almacenamiento de datos</string>
     <string name="prefs_sycned_folders_summary">Administrar carpetas para carga automática</string>
     <string name="prefs_synced_folders_local_path_title">Carpeta local</string>
     <string name="prefs_synced_folders_remote_path_title">Carpeta remota</string>

+ 1 - 1
app/src/main/res/values-es/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugerencias de Nextcloud app en encabezado de navegación</string>
     <string name="prefs_show_hidden_files">Mostrar archivos ocultos</string>
     <string name="prefs_sourcecode">Obtener el código fuente</string>
-    <string name="prefs_storage_path">Carpeta de almacenamiento de datos</string>
+    <string name="prefs_data_storage_location">Carpeta de almacenamiento de datos</string>
     <string name="prefs_sycned_folders_summary">Administrar carpetas para auto-subida</string>
     <string name="prefs_synced_folders_local_path_title">Carpeta local</string>
     <string name="prefs_synced_folders_remote_path_title">Carpeta remota</string>

+ 1 - 1
app/src/main/res/values-eu/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud aplikazioaren iradokizunak nabigazio goiburuan</string>
     <string name="prefs_show_hidden_files">Erakutsi ezkutuko fitxategiak</string>
     <string name="prefs_sourcecode">Eskuratu iturburu-kodea</string>
-    <string name="prefs_storage_path">Datu-biltegiratze karpeta</string>
+    <string name="prefs_data_storage_location">Datu-biltegiratze karpeta</string>
     <string name="prefs_sycned_folders_summary">Kudeatu karpeten igotze automatikoa</string>
     <string name="prefs_synced_folders_local_path_title">Karpeta lokala</string>
     <string name="prefs_synced_folders_remote_path_title">Urruneko karpeta</string>

+ 1 - 1
app/src/main/res/values-fa/strings.xml

@@ -628,7 +628,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud app suggestions in navigation heading</string>
     <string name="prefs_show_hidden_files">فایل های مخفی را نشان بده </string>
     <string name="prefs_sourcecode">دریافت کد منبع</string>
-    <string name="prefs_storage_path">مسیر ذخیره‌سازی</string>
+    <string name="prefs_data_storage_location">مسیر ذخیره‌سازی</string>
     <string name="prefs_sycned_folders_summary">مدیریت پوشه‌ها جهت آپلود خودکار</string>
     <string name="prefs_synced_folders_local_path_title">پوشه محلی</string>
     <string name="prefs_synced_folders_remote_path_title">پوشه از راه دور</string>

+ 1 - 1
app/src/main/res/values-fi-rFI/strings.xml

@@ -643,7 +643,7 @@ GNU yleinen lisenssi, versio 2</string>
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud-sovellusehdotukset navigointipalkissa</string>
     <string name="prefs_show_hidden_files">Näytä piilotetut tiedostot</string>
     <string name="prefs_sourcecode">Hanki lähdekoodi</string>
-    <string name="prefs_storage_path">Tiedostojen tallennuskansio</string>
+    <string name="prefs_data_storage_location">Tiedostojen tallennuskansio</string>
     <string name="prefs_sycned_folders_summary">Hallinnoi kansioita automaattista latausta varten</string>
     <string name="prefs_synced_folders_local_path_title">Paikallinen kansio</string>
     <string name="prefs_synced_folders_remote_path_title">Etäkansio</string>

+ 1 - 1
app/src/main/res/values-fr/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Suggestions d\'applications Nextcloud dans l\'en-tête de navigation</string>
     <string name="prefs_show_hidden_files">Afficher les fichiers masqués</string>
     <string name="prefs_sourcecode">Obtenir le code source</string>
-    <string name="prefs_storage_path">Dossier de stockage des données</string>
+    <string name="prefs_data_storage_location">Dossier de stockage des données</string>
     <string name="prefs_sycned_folders_summary">Gérer les dossiers pour le téléversement automatique</string>
     <string name="prefs_synced_folders_local_path_title">Dossier local</string>
     <string name="prefs_synced_folders_remote_path_title">Dossier distant</string>

+ 1 - 1
app/src/main/res/values-ga/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Moltaí aip Nextcloud sa cheannteideal nascleanúna</string>
     <string name="prefs_show_hidden_files">Taispeáin comhaid i bhfolach</string>
     <string name="prefs_sourcecode">Faigh cód foinse</string>
-    <string name="prefs_storage_path">Fillteán stórála sonraí</string>
+    <string name="prefs_data_storage_location">Fillteán stórála sonraí</string>
     <string name="prefs_sycned_folders_summary">Bainistigh fillteáin le haghaidh uaslódáil uathoibríoch</string>
     <string name="prefs_synced_folders_local_path_title">Fillteán áitiúil</string>
     <string name="prefs_synced_folders_remote_path_title">Fillteán cianda</string>

+ 1 - 1
app/src/main/res/values-gd/strings.xml

@@ -495,7 +495,7 @@
     <string name="prefs_manage_accounts">Stiùirich cunntasan</string>
     <string name="prefs_show_hidden_files">Seall faidhlichean falaichte</string>
     <string name="prefs_sourcecode">Faigh am bun-tùs</string>
-    <string name="prefs_storage_path">Pasgan stòradh dàta</string>
+    <string name="prefs_data_storage_location">Pasgan stòradh dàta</string>
     <string name="prefs_sycned_folders_summary">Stiùirich pasganan an luchdaidh suas fhèin-obrachail</string>
     <string name="prefs_synced_folders_local_path_title">Pasgan ionadail</string>
     <string name="prefs_synced_folders_remote_path_title">Pasgan cèin</string>

+ 1 - 1
app/src/main/res/values-gl/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Suxestións da aplicación Nextcloud no título de navegación</string>
     <string name="prefs_show_hidden_files">Amosar ficheiros agochados</string>
     <string name="prefs_sourcecode">Obter o código fonte</string>
-    <string name="prefs_storage_path">Cartafol de almacenamento de datos</string>
+    <string name="prefs_data_storage_location">Cartafol de almacenamento de datos</string>
     <string name="prefs_sycned_folders_summary">Xestionar os cartafoles para a envío automático</string>
     <string name="prefs_synced_folders_local_path_title">Cartafol local</string>
     <string name="prefs_synced_folders_remote_path_title">Cartafol remoto</string>

+ 1 - 1
app/src/main/res/values-hr/strings.xml

@@ -550,7 +550,7 @@
     <string name="prefs_recommend">Preporuči prijatelju</string>
     <string name="prefs_show_hidden_files">Prikaz skrivenih datoteka</string>
     <string name="prefs_sourcecode">Preuzmi izvorni kod</string>
-    <string name="prefs_storage_path">Mapa za pohranu podataka</string>
+    <string name="prefs_data_storage_location">Mapa za pohranu podataka</string>
     <string name="prefs_sycned_folders_summary">Upravljanje mapama za automatsko otpremanje</string>
     <string name="prefs_synced_folders_local_path_title">Lokalna mapa</string>
     <string name="prefs_synced_folders_remote_path_title">Udaljena mapa</string>

+ 1 - 1
app/src/main/res/values-hu-rHU/strings.xml

@@ -612,7 +612,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud alkalmazásjavaslatok a navigációs fejlécben</string>
     <string name="prefs_show_hidden_files">Rejtett fájlok megjelenítése</string>
     <string name="prefs_sourcecode">Forráskód beszerzése</string>
-    <string name="prefs_storage_path">Adattároló mappa</string>
+    <string name="prefs_data_storage_location">Adattároló mappa</string>
     <string name="prefs_sycned_folders_summary">Mappák kezelése az automatikus feltöltéshez</string>
     <string name="prefs_synced_folders_local_path_title">Helyi mappa</string>
     <string name="prefs_synced_folders_remote_path_title">Távoli mappa</string>

+ 1 - 1
app/src/main/res/values-in/strings.xml

@@ -608,7 +608,7 @@ Otomatis unggah hanya bekerja dengan baik apabila Anda mengeluarkan aplikasi ini
     <string name="prefs_show_ecosystem_apps_summary">Saran aplikasi Nextcloud dalam judul navigasi</string>
     <string name="prefs_show_hidden_files">Lihat berkas tersembunyi</string>
     <string name="prefs_sourcecode">Dapatkan kode sumber</string>
-    <string name="prefs_storage_path"> Folder penyimpanan data</string>
+    <string name="prefs_data_storage_location"> Folder penyimpanan data</string>
     <string name="prefs_sycned_folders_summary">Kelola folder untuk pengunggahan otomatis</string>
     <string name="prefs_synced_folders_local_path_title">Berkas lokal</string>
     <string name="prefs_synced_folders_remote_path_title">Folder remot</string>

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

@@ -591,7 +591,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Tillögur Nextcloud-forrita í flakkfyrirsögn</string>
     <string name="prefs_show_hidden_files">Sýna faldar skrár</string>
     <string name="prefs_sourcecode">Náðu í grunnkóðann</string>
-    <string name="prefs_storage_path">Mappa fyrir geymslu gagna</string>
+    <string name="prefs_data_storage_location">Mappa fyrir geymslu gagna</string>
     <string name="prefs_sycned_folders_summary">Sýsla með möppur vegna sjálfvirkra innsendinga</string>
     <string name="prefs_synced_folders_local_path_title">Staðvær mappa</string>
     <string name="prefs_synced_folders_remote_path_title">Fjartengd mappa</string>

+ 1 - 1
app/src/main/res/values-it/strings.xml

@@ -632,7 +632,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Consigli delle applicazioni di Nextcloud nell\'intestazione di navigazione</string>
     <string name="prefs_show_hidden_files">Mostra i file nascosti</string>
     <string name="prefs_sourcecode">Ottieni codice sorgente</string>
-    <string name="prefs_storage_path">Cartella di archiviazione dei dati</string>
+    <string name="prefs_data_storage_location">Cartella di archiviazione dei dati</string>
     <string name="prefs_sycned_folders_summary">Gestisci le cartelle per il caricamento automatico</string>
     <string name="prefs_synced_folders_local_path_title">Cartella locale</string>
     <string name="prefs_synced_folders_remote_path_title">Cartella remota</string>

+ 1 - 1
app/src/main/res/values-ja-rJP/strings.xml

@@ -651,7 +651,7 @@
     <string name="prefs_show_ecosystem_apps">アップスイッチャーを表示</string>
     <string name="prefs_show_hidden_files">隠しファイルを表示</string>
     <string name="prefs_sourcecode">ソースコードを入手</string>
-    <string name="prefs_storage_path">データ保存フォルダー</string>
+    <string name="prefs_data_storage_location">データ保存フォルダー</string>
     <string name="prefs_sycned_folders_summary">自動アップロードするフォルダーを管理する</string>
     <string name="prefs_synced_folders_local_path_title">ローカルフォルダー</string>
     <string name="prefs_synced_folders_remote_path_title">リモートフォルダー</string>

+ 1 - 1
app/src/main/res/values-ka/strings.xml

@@ -607,7 +607,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud app suggestions in navigation heading</string>
     <string name="prefs_show_hidden_files">Show hidden files</string>
     <string name="prefs_sourcecode">Get source code</string>
-    <string name="prefs_storage_path">Data storage folder</string>
+    <string name="prefs_data_storage_location">Data storage folder</string>
     <string name="prefs_sycned_folders_summary">Manage folders for auto upload</string>
     <string name="prefs_synced_folders_local_path_title">Local folder</string>
     <string name="prefs_synced_folders_remote_path_title">Remote folder</string>

+ 1 - 1
app/src/main/res/values-ko/strings.xml

@@ -660,7 +660,7 @@
     <string name="prefs_show_ecosystem_apps_summary">탐색창 상단에 표시되는 Nextcloud 앱 제안</string>
     <string name="prefs_show_hidden_files">숨겨진 파일 보기</string>
     <string name="prefs_sourcecode">소스 코드 보기</string>
-    <string name="prefs_storage_path">데이터 저장 폴더</string>
+    <string name="prefs_data_storage_location">데이터 저장 폴더</string>
     <string name="prefs_sycned_folders_summary">자동 업로드를 위한 폴더 관리</string>
     <string name="prefs_synced_folders_local_path_title">로컬 폴더</string>
     <string name="prefs_synced_folders_remote_path_title">원격 폴더</string>

+ 1 - 1
app/src/main/res/values-lo/strings.xml

@@ -495,7 +495,7 @@
     <string name="prefs_manage_accounts">ຈັດການບັນຊີ</string>
     <string name="prefs_show_hidden_files">ສະແດງຟາຍທີ່ເຊື່ອງໄວ້</string>
     <string name="prefs_sourcecode">ຮັບລະຫັດແຫຼ່ງຂໍ້ມູນ</string>
-    <string name="prefs_storage_path">ໂຟນເດີການເກັບຂໍ້ມູນ</string>
+    <string name="prefs_data_storage_location">ໂຟນເດີການເກັບຂໍ້ມູນ</string>
     <string name="prefs_sycned_folders_summary">ຈັດການໂຟນເດີສໍາລັບການອັບໂຫລດອັດຕະໂນມັດ</string>
     <string name="prefs_synced_folders_local_path_title">ໂຟນເດີ</string>
     <string name="prefs_synced_folders_remote_path_title">ໂຟນໄລຍະໄກ</string>

+ 1 - 1
app/src/main/res/values-lt-rLT/strings.xml

@@ -588,7 +588,7 @@
     <string name="prefs_recommend">Rekomenduoti draugui</string>
     <string name="prefs_show_hidden_files">Rodyti paslėptus failus</string>
     <string name="prefs_sourcecode">Gauti pirminį kodą</string>
-    <string name="prefs_storage_path">Duomenų aplankas</string>
+    <string name="prefs_data_storage_location">Duomenų aplankas</string>
     <string name="prefs_sycned_folders_summary">Tvarkykite automatinio įkėlimo aplankus</string>
     <string name="prefs_synced_folders_local_path_title">Aplankas vietinis</string>
     <string name="prefs_synced_folders_remote_path_title">Nuotolinis aplankas</string>

+ 1 - 1
app/src/main/res/values-mk/strings.xml

@@ -510,7 +510,7 @@
     <string name="prefs_manage_accounts">Управување со сметки</string>
     <string name="prefs_show_hidden_files">Прикажи сокриени датотеки</string>
     <string name="prefs_sourcecode">Превземи го изворниот код</string>
-    <string name="prefs_storage_path">Папка за складиште на податоци</string>
+    <string name="prefs_data_storage_location">Папка за складиште на податоци</string>
     <string name="prefs_sycned_folders_summary">Уреди папки за автоматско прикачување</string>
     <string name="prefs_synced_folders_local_path_title">Папка на уредот</string>
     <string name="prefs_synced_folders_remote_path_title">Папка на серверот</string>

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

@@ -665,7 +665,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Vis Nextcloud app-forslag i navigasjonen</string>
     <string name="prefs_show_hidden_files">Vis skjulte filer</string>
     <string name="prefs_sourcecode">Hent kildekode</string>
-    <string name="prefs_storage_path">Datalagringsmappe</string>
+    <string name="prefs_data_storage_location">Datalagringsmappe</string>
     <string name="prefs_sycned_folders_summary">Styr mapper for automatisk opplastning</string>
     <string name="prefs_synced_folders_local_path_title">Lokal mappe</string>
     <string name="prefs_synced_folders_remote_path_title">Mappe på server</string>

+ 1 - 1
app/src/main/res/values-nl/strings.xml

@@ -656,7 +656,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud app suggesties in navigatiekopregel</string>
     <string name="prefs_show_hidden_files">Verborgen bestanden weergeven</string>
     <string name="prefs_sourcecode">Krijg broncode</string>
-    <string name="prefs_storage_path">Gegevensopslagmap</string>
+    <string name="prefs_data_storage_location">Gegevensopslagmap</string>
     <string name="prefs_sycned_folders_summary">Mappen beheren voor automatisch uploaden</string>
     <string name="prefs_synced_folders_local_path_title">Lokale map</string>
     <string name="prefs_synced_folders_remote_path_title">Externe map</string>

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

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugestie aplikacji Nextcloud w nagłówku nawigacji</string>
     <string name="prefs_show_hidden_files">Pokaż ukryte pliki</string>
     <string name="prefs_sourcecode">Pobierz kod źródłowy</string>
-    <string name="prefs_storage_path">Katalog przechowywania danych</string>
+    <string name="prefs_data_storage_location">Katalog przechowywania danych</string>
     <string name="prefs_sycned_folders_summary">Zarządzaj katalogami do automatycznego wysyłania</string>
     <string name="prefs_synced_folders_local_path_title">Katalog lokalny</string>
     <string name="prefs_synced_folders_remote_path_title">Katalog zdalny</string>

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

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugestões de aplicativos Nextcloud no título de navegação</string>
     <string name="prefs_show_hidden_files">Mostrar arquivos ocultos</string>
     <string name="prefs_sourcecode">Obter código-fonte</string>
-    <string name="prefs_storage_path">Pasta de armazenamento de dados</string>
+    <string name="prefs_data_storage_location">Pasta de armazenamento de dados</string>
     <string name="prefs_sycned_folders_summary">Gerenciar pastas para envio automático</string>
     <string name="prefs_synced_folders_local_path_title">Pasta local</string>
     <string name="prefs_synced_folders_remote_path_title">Pasta remota</string>

+ 1 - 1
app/src/main/res/values-pt-rPT/strings.xml

@@ -588,7 +588,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Sugestões de aplicações Nextcloud no cabeçalho da navegação</string>
     <string name="prefs_show_hidden_files">Mostrar ficheiros ocultados</string>
     <string name="prefs_sourcecode">Obter código fonte</string>
-    <string name="prefs_storage_path">Pasta de armazenamento de dados</string>
+    <string name="prefs_data_storage_location">Pasta de armazenamento de dados</string>
     <string name="prefs_sycned_folders_summary">Gerir as pastas para o envio automático</string>
     <string name="prefs_synced_folders_local_path_title">Pasta Local</string>
     <string name="prefs_synced_folders_remote_path_title">Pasta Remota</string>

+ 1 - 1
app/src/main/res/values-ro/strings.xml

@@ -610,7 +610,7 @@
     <string name="prefs_setup_e2e">Configurează encripție end-to-end</string>
     <string name="prefs_show_hidden_files">Arată fișierele ascunse</string>
     <string name="prefs_sourcecode">Obține codul sursă</string>
-    <string name="prefs_storage_path">Dosarul de stocare a datelor</string>
+    <string name="prefs_data_storage_location">Dosarul de stocare a datelor</string>
     <string name="prefs_sycned_folders_summary">Administrează dosare pentru încărcare automată</string>
     <string name="prefs_synced_folders_local_path_title">Dosar local</string>
     <string name="prefs_synced_folders_remote_path_title">Dosar la distanță</string>

+ 1 - 1
app/src/main/res/values-ru/strings.xml

@@ -688,7 +688,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Рекомендации по приложению Nextcloud в заголовке навигации</string>
     <string name="prefs_show_hidden_files">Показывать скрытые файлы</string>
     <string name="prefs_sourcecode">Исходный код</string>
-    <string name="prefs_storage_path">Папка хранения данных</string>
+    <string name="prefs_data_storage_location">Папка хранения данных</string>
     <string name="prefs_sycned_folders_summary">Управление папками для автозагрузки</string>
     <string name="prefs_synced_folders_local_path_title">Папка на устройстве</string>
     <string name="prefs_synced_folders_remote_path_title">Папка на сервере</string>

+ 1 - 1
app/src/main/res/values-sc/strings.xml

@@ -522,7 +522,7 @@
     <string name="prefs_manage_accounts">Gesti is contos</string>
     <string name="prefs_show_hidden_files">Mustra documentos cuados</string>
     <string name="prefs_sourcecode">Otene su còdighe sorgente</string>
-    <string name="prefs_storage_path">Cartella de archiviatzione de is datos</string>
+    <string name="prefs_data_storage_location">Cartella de archiviatzione de is datos</string>
     <string name="prefs_sycned_folders_summary">Gesti cartellas pro carrigamentu automàticu</string>
     <string name="prefs_synced_folders_local_path_title">Cartella locale</string>
     <string name="prefs_synced_folders_remote_path_title">Cartella remota</string>

+ 1 - 1
app/src/main/res/values-sk-rSK/strings.xml

@@ -651,7 +651,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Návrhy Nextcloud aplikácií v navigačnom záhlaví</string>
     <string name="prefs_show_hidden_files">Zobraziť skryté súbory</string>
     <string name="prefs_sourcecode">Získajte zdrojový kód</string>
-    <string name="prefs_storage_path">Priečinok dátového úložiska</string>
+    <string name="prefs_data_storage_location">Priečinok dátového úložiska</string>
     <string name="prefs_sycned_folders_summary">Spravovať priečinky pre automatické nahrávanie</string>
     <string name="prefs_synced_folders_local_path_title">Lokálny priečinok</string>
     <string name="prefs_synced_folders_remote_path_title">Vzdialený priečinok</string>

+ 1 - 1
app/src/main/res/values-sl/strings.xml

@@ -610,7 +610,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Predlogi programov Nextcloud v naslovu</string>
     <string name="prefs_show_hidden_files">Pokaži skrite datoteke</string>
     <string name="prefs_sourcecode">Pridobi izvorno kodo</string>
-    <string name="prefs_storage_path">Mapa podatkovne shrambe</string>
+    <string name="prefs_data_storage_location">Mapa podatkovne shrambe</string>
     <string name="prefs_sycned_folders_summary">Upravljanje map za samodejno pošiljanje</string>
     <string name="prefs_synced_folders_local_path_title">Krajevna mapa</string>
     <string name="prefs_synced_folders_remote_path_title">Mapa na strežniku</string>

+ 1 - 1
app/src/main/res/values-sr/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Предлози Nextcloud апликација у заглављу навигације</string>
     <string name="prefs_show_hidden_files">Прикажи скривене фајлове</string>
     <string name="prefs_sourcecode">Узми изворни кôд</string>
-    <string name="prefs_storage_path">Фасцикла за податке</string>
+    <string name="prefs_data_storage_location">Фасцикла за податке</string>
     <string name="prefs_sycned_folders_summary">Управљање фолдерима за аутоматско отпремање</string>
     <string name="prefs_synced_folders_local_path_title">Локална фасцикла</string>
     <string name="prefs_synced_folders_remote_path_title">Удаљена фасцикла</string>

+ 1 - 1
app/src/main/res/values-sv/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Nextcloud-appförslag i navigeringsrubriken</string>
     <string name="prefs_show_hidden_files">Visa dolda filer</string>
     <string name="prefs_sourcecode">Hämta källkod</string>
-    <string name="prefs_storage_path">Datalagringsmapp</string>
+    <string name="prefs_data_storage_location">Datalagringsmapp</string>
     <string name="prefs_sycned_folders_summary">Hantera mappar för automatiskt uppladdning</string>
     <string name="prefs_synced_folders_local_path_title">Lokal mapp</string>
     <string name="prefs_synced_folders_remote_path_title">Extern mapp</string>

+ 1 - 1
app/src/main/res/values-tk/strings.xml

@@ -485,7 +485,7 @@
     <string name="prefs_manage_accounts">Hasabyňyzy dolandyrmak</string>
     <string name="prefs_show_hidden_files">Gizlin faýllary görkez</string>
     <string name="prefs_sourcecode">Çeşme koduny alyň</string>
-    <string name="prefs_storage_path">Maglumat saklaýyş bukjasy</string>
+    <string name="prefs_data_storage_location">Maglumat saklaýyş bukjasy</string>
     <string name="prefs_sycned_folders_summary">Awtomatik ýüklemek üçin bukjalary dolandyrmak</string>
     <string name="prefs_synced_folders_local_path_title">ýerli bukjasy</string>
     <string name="prefs_synced_folders_remote_path_title">Uzakdaky bukja</string>

+ 1 - 1
app/src/main/res/values-tr/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Gezinme başlığında Nextcloud uygulama önerileri</string>
     <string name="prefs_show_hidden_files">Gizli dosyaları görüntüle</string>
     <string name="prefs_sourcecode">Kaynak kodunu alın</string>
-    <string name="prefs_storage_path">Veri depolama klasörü</string>
+    <string name="prefs_data_storage_location">Veri depolama klasörü</string>
     <string name="prefs_sycned_folders_summary">Otomatik yükleme klasörleri yönetimi</string>
     <string name="prefs_synced_folders_local_path_title">Yerel klasör</string>
     <string name="prefs_synced_folders_remote_path_title">Uzak klasör</string>

+ 1 - 1
app/src/main/res/values-ug/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">يول باشلاش ماۋزۇسىدىكى Nextcloud ئەپ تەكلىپلىرى</string>
     <string name="prefs_show_hidden_files">يوشۇرۇن ھۆججەتلەرنى كۆرسەت</string>
     <string name="prefs_sourcecode">ئەسلى كودقا ئېرىشىش</string>
-    <string name="prefs_storage_path">سانلىق مەلۇمات ساقلاش قىسقۇچى</string>
+    <string name="prefs_data_storage_location">سانلىق مەلۇمات ساقلاش قىسقۇچى</string>
     <string name="prefs_sycned_folders_summary">ئاپتوماتىك يوللاش ئۈچۈن ھۆججەت قىسقۇچلارنى باشقۇرۇڭ</string>
     <string name="prefs_synced_folders_local_path_title">يەرلىك ھۆججەت قىسقۇچ</string>
     <string name="prefs_synced_folders_remote_path_title">يىراقتىن قىسقۇچ</string>

+ 1 - 1
app/src/main/res/values-uk/strings.xml

@@ -680,7 +680,7 @@
     <string name="prefs_show_ecosystem_apps_summary">Пропозиції застосунків Nextcloud у заголовку навігації</string>
     <string name="prefs_show_hidden_files">Показувати приховані файли</string>
     <string name="prefs_sourcecode">Отримати вихідний код</string>
-    <string name="prefs_storage_path">Місце збереження файлів</string>
+    <string name="prefs_data_storage_location">Місце збереження файлів</string>
     <string name="prefs_sycned_folders_summary">Налаштуйте каталоги, які будуть автоматично завантажуватися</string>
     <string name="prefs_synced_folders_local_path_title">Каталог на пристрої</string>
     <string name="prefs_synced_folders_remote_path_title">Віддалений каталог</string>

+ 1 - 1
app/src/main/res/values-vi/strings.xml

@@ -556,7 +556,7 @@
     <string name="prefs_setup_e2e">Thiết lập mã hoá đầu cuối</string>
     <string name="prefs_show_hidden_files">Hiển thị các tệp ẩn</string>
     <string name="prefs_sourcecode">Lấy mã nguồn</string>
-    <string name="prefs_storage_path">Thư mục lưu trữ dữ liệu</string>
+    <string name="prefs_data_storage_location">Thư mục lưu trữ dữ liệu</string>
     <string name="prefs_sycned_folders_summary">Quản lý các thư mục để tự động tải lên</string>
     <string name="prefs_synced_folders_local_path_title">Thư mục cục bộ</string>
     <string name="prefs_synced_folders_remote_path_title">Thư mục từ xa</string>

+ 1 - 1
app/src/main/res/values-zh-rCN/strings.xml

@@ -687,7 +687,7 @@
     <string name="prefs_show_ecosystem_apps_summary">导航栏中的 Nextcloud 应用推荐</string>
     <string name="prefs_show_hidden_files">显示隐藏文件</string>
     <string name="prefs_sourcecode">获取源代码</string>
-    <string name="prefs_storage_path">数据存储文件夹</string>
+    <string name="prefs_data_storage_location">数据存储文件夹</string>
     <string name="prefs_sycned_folders_summary">管理自动上传文件夹</string>
     <string name="prefs_synced_folders_local_path_title">本地文件夹</string>
     <string name="prefs_synced_folders_remote_path_title">远端文件夹</string>

+ 1 - 1
app/src/main/res/values-zh-rHK/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">導覽列中的 Nextcloud 應用程式建議</string>
     <string name="prefs_show_hidden_files">顯示隱藏檔案</string>
     <string name="prefs_sourcecode">取得原始碼</string>
-    <string name="prefs_storage_path">資料儲存資料夾</string>
+    <string name="prefs_data_storage_location">資料儲存資料夾</string>
     <string name="prefs_sycned_folders_summary">管理資料夾以便自動上傳</string>
     <string name="prefs_synced_folders_local_path_title">近端資料夾</string>
     <string name="prefs_synced_folders_remote_path_title">遠端資料夾</string>

+ 1 - 1
app/src/main/res/values-zh-rTW/strings.xml

@@ -689,7 +689,7 @@
     <string name="prefs_show_ecosystem_apps_summary">導覽標頭中的 Nextcloud 應用程式建議</string>
     <string name="prefs_show_hidden_files">顯示隱藏檔案</string>
     <string name="prefs_sourcecode">取得原始碼</string>
-    <string name="prefs_storage_path">資料儲存資料夾</string>
+    <string name="prefs_data_storage_location">資料儲存資料夾</string>
     <string name="prefs_sycned_folders_summary">管理自動上傳使用的資料夾</string>
     <string name="prefs_synced_folders_local_path_title">本機資料夾</string>
     <string name="prefs_synced_folders_remote_path_title">遠端資料夾</string>

+ 5 - 1
app/src/main/res/values/strings.xml

@@ -516,6 +516,8 @@
     <string name="file_migration_failed_dir_already_exists">Nextcloud folder already exists</string>
     <string name="file_migration_failed_while_coping">Failed during migration</string>
     <string name="file_migration_failed_while_updating_index">Failed to update index</string>
+    <string name="file_migration_free_space">%1$s\n(%2$s / %3$s)</string>
+    <string name="file_migration_allow_media_indexing">Allow access from other apps</string>
 
     <string name="file_migration_directory_already_exists">Data folder already exists. Choose one of the following:</string>
     <string name="file_migration_override_data_folder">Replace</string>
@@ -584,7 +586,8 @@
     <string name="pref_behaviour_entries_keep_file">kept in original folder</string>
     <string name="pref_behaviour_entries_move">moved to app folder</string>
     <string name="pref_behaviour_entries_delete_file">deleted</string>
-    <string name="prefs_storage_path">Data storage folder</string>
+    <string name="prefs_data_storage_location">Data storage location</string>
+    <string name="prefs_data_storage_location_summary">Manage data storage location</string>
 
     <string name="pref_instant_name_collision_policy_dialogTitle">What to do if the file already exists?</string>
     <string name="pref_instant_name_collision_policy_title">What to do if the file already exists?</string>
@@ -963,6 +966,7 @@
     <string name="new_notification">New Notification</string>
     <string name="storage_choose_location">Choose storage location</string>
     <string name="storage_internal_storage">Internal storage</string>
+    <string name="storage_external_storage">External storage</string>
     <string name="storage_camera">Camera</string>
     <string name="storage_pictures">Pictures</string>
     <string name="storage_movies">Movies</string>

+ 4 - 3
app/src/main/res/xml/preferences.xml

@@ -13,9 +13,10 @@
     <PreferenceCategory
         android:title="@string/prefs_category_general"
         android:key="general">
-        <ListPreference
-            android:title="@string/prefs_storage_path"
-            android:key="storage_path"/>
+        <Preference
+            android:title="@string/prefs_data_storage_location"
+            android:key="data_storage_location"
+            android:summary="@string/prefs_data_storage_location_summary" />
         <ListPreference
             android:title="@string/prefs_theme_title"
             android:key="darkMode"