diff --git a/README.md b/README.md index b447bd9b..86de1e83 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![License: MPLv2](https://img.shields.io/badge/License-MPLv2-blue.svg)](https://opensource.org/licenses/MPL-2.0) - + # Major enhancements in this fork are: - Individual sync conditions can be applied per device and per folder (for expert users). diff --git a/app/build.gradle b/app/build.gradle index a7ab817b..c1f76556 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,6 +5,7 @@ apply plugin: 'com.github.triplet.play' dependencies { implementation 'eu.chainfire:libsuperuser:1.0.0.201704021214' implementation 'com.android.support:design:28.0.0' + implementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.google.zxing:android-integration:3.3.0' implementation 'com.google.code.gson:gson:2.8.2' implementation 'org.mindrot:jbcrypt:0.4' @@ -35,8 +36,8 @@ android { applicationId "com.github.catfriend1.syncthingandroid" minSdkVersion 16 targetSdkVersion 26 - versionCode 4170 - versionName "0.14.51.7" + versionCode 4171 + versionName "0.14.51.8" testApplicationId 'com.github.catfriend1.syncthingandroid.test' testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' playAccountConfig = playAccountConfigs.defaultAccountConfig diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7a9019bc..665d09d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -46,6 +46,15 @@ android:label="@string/app_name" android:launchMode="singleTask"> + + + = Build.VERSION_CODES.KITKAT) { + ArrayList externalFilesDir = new ArrayList<>(); + externalFilesDir.addAll(Arrays.asList(getExternalFilesDirs(null))); + externalFilesDir.remove(getExternalFilesDir(null)); + if (externalFilesDir.size() > 0) { + String absExternalStorageAppFilesPath = externalFilesDir.get(0).getAbsolutePath(); + mTipListAdapter.add(getString(R.string.tip_write_to_sdcard_title), + getString(R.string.tip_write_to_sdcard_text, absExternalStorageAppFilesPath)); + } + } + + // Fill tip title and text content. + mTipListAdapter.add(getString(R.string.tip_sync_on_local_network_title), getString(R.string.tip_sync_on_local_network_text)); + mTipListAdapter.add(getString(R.string.tip_custom_sync_conditions_title), getString(R.string.tip_custom_sync_conditions_text)); + + // Set onClick listener and add adapter to recycler view. + mTipListAdapter.setOnClickListener( + new ItemClickListener() { + @Override + public void onItemClick(View view, String itemTitle, String itemText) { + Log.v(TAG, "User clicked item with title \'" + itemTitle + "\'"); + /** + * Future improvement: + * Collapse texts to the first three lines and open a DialogFragment + * if the user clicks an item from the tip list. + */ + } + } + ); + mRecyclerView.setAdapter(mTipListAdapter); + } + +} diff --git a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java index 18e34393..63ef1aed 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/fragments/DrawerFragment.java @@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableMap; import com.nutomic.syncthingandroid.R; import com.nutomic.syncthingandroid.activities.MainActivity; import com.nutomic.syncthingandroid.activities.SettingsActivity; +import com.nutomic.syncthingandroid.activities.TipsAndTricksActivity; import com.nutomic.syncthingandroid.activities.WebGuiActivity; import com.nutomic.syncthingandroid.http.ImageGetRequest; import com.nutomic.syncthingandroid.service.Constants; @@ -37,11 +38,20 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi private static final String TAG = "DrawerFragment"; + /** + * These buttons might be accessible if the screen is big enough + * or the user can scroll the drawer to access them. + */ private TextView mVersion = null; private TextView mDrawerActionShowQrCode; private TextView mDrawerActionWebGui; private TextView mDrawerActionImportExport; private TextView mDrawerActionRestart; + private TextView mDrawerTipsAndTricks; + + /** + * These buttons are always visible. + */ private TextView mDrawerActionSettings; private TextView mDrawerActionExit; @@ -84,6 +94,7 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi mDrawerActionWebGui = view.findViewById(R.id.drawerActionWebGui); mDrawerActionImportExport = view.findViewById(R.id.drawerActionImportExport); mDrawerActionRestart = view.findViewById(R.id.drawerActionRestart); + mDrawerTipsAndTricks = view.findViewById(R.id.drawerActionTipsAndTricks); mDrawerActionSettings = view.findViewById(R.id.drawerActionSettings); mDrawerActionExit = view.findViewById(R.id.drawerActionExit); @@ -92,6 +103,7 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi mDrawerActionWebGui.setOnClickListener(this); mDrawerActionImportExport.setOnClickListener(this); mDrawerActionRestart.setOnClickListener(this); + mDrawerTipsAndTricks.setOnClickListener(this); mDrawerActionSettings.setOnClickListener(this); mDrawerActionExit.setOnClickListener(this); @@ -124,6 +136,7 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi mDrawerActionShowQrCode.setVisibility(synthingRunning ? View.VISIBLE : View.GONE); mDrawerActionWebGui.setVisibility(synthingRunning ? View.VISIBLE : View.GONE); mDrawerActionRestart.setVisibility(synthingRunning ? View.VISIBLE : View.GONE); + mDrawerTipsAndTricks.setVisibility(View.VISIBLE); mDrawerActionExit.setVisibility(View.VISIBLE); } @@ -155,14 +168,13 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi public void onClick(View v) { Intent intent; switch (v.getId()) { + case R.id.drawerActionShowQrCode: + showQrCode(); + break; case R.id.drawerActionWebGui: startActivity(new Intent(mActivity, WebGuiActivity.class)); mActivity.closeDrawer(); break; - case R.id.drawerActionSettings: - startActivity(new Intent(mActivity, SettingsActivity.class)); - mActivity.closeDrawer(); - break; case R.id.drawerActionImportExport: intent = new Intent(mActivity, SettingsActivity.class); intent.putExtra(SettingsActivity.EXTRA_OPEN_SUB_PREF_SCREEN, "category_import_export"); @@ -173,6 +185,14 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi mActivity.showRestartDialog(); mActivity.closeDrawer(); break; + case R.id.drawerActionTipsAndTricks: + startActivity(new Intent(mActivity, TipsAndTricksActivity.class)); + mActivity.closeDrawer(); + break; + case R.id.drawerActionSettings: + startActivity(new Intent(mActivity, SettingsActivity.class)); + mActivity.closeDrawer(); + break; case R.id.drawerActionExit: if (sharedPreferences != null && sharedPreferences.getBoolean(Constants.PREF_START_SERVICE_ON_BOOT, false)) { /** @@ -193,9 +213,6 @@ public class DrawerFragment extends Fragment implements SyncthingService.OnServi } mActivity.closeDrawer(); break; - case R.id.drawerActionShowQrCode: - showQrCode(); - break; } } diff --git a/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java b/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java index d58dda01..835b2198 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/util/FileUtils.java @@ -152,7 +152,7 @@ public class FileUtils { try { /** * Determine the app's private data folder on external storage if present. - * e.g. "/storage/abcd-efgh/Android/com.nutomic.syncthinandroid/files" + * e.g. "/storage/abcd-efgh/Android/[PACKAGE_NAME]/files" */ ArrayList externalFilesDir = new ArrayList<>(); externalFilesDir.addAll(Arrays.asList(context.getExternalFilesDirs(null))); diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java new file mode 100644 index 00000000..72e68d42 --- /dev/null +++ b/app/src/main/java/com/nutomic/syncthingandroid/views/TipListAdapter.java @@ -0,0 +1,90 @@ +package com.nutomic.syncthingandroid.views; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +// import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.TextView; + +import com.nutomic.syncthingandroid.R; + +import java.util.ArrayList; + +public class TipListAdapter extends RecyclerView.Adapter { + + // private static final String TAG = "TipListAdapter"; + + private ArrayList mTipData = new ArrayList(); + private ItemClickListener mOnClickListener; + private LayoutInflater mLayoutInflater; + + private class TipEntry { + public String title; + public String text; + + public TipEntry(String title, String text) { + this.title = title; + this.text = text; + } + } + + public interface ItemClickListener { + void onItemClick(View view, String title, String text); + } + + public TipListAdapter(Context context) { + mLayoutInflater = LayoutInflater.from(context); + } + + public void add(String title, String text) { + mTipData.add(new TipEntry(title, text)); + } + + public void setOnClickListener(ItemClickListener onClickListener) { + mOnClickListener = onClickListener; + } + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + public TextView tipTitle; + public TextView tipText; + public View layout; + + public ViewHolder(View view) { + super(view); + tipTitle = view.findViewById(R.id.tip_title); + tipText = view.findViewById(R.id.tip_text); + view.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + int position = getAdapterPosition(); + String title = mTipData.get(position).title; + String text = mTipData.get(position).text; + if (mOnClickListener != null) { + mOnClickListener.onItemClick(view, title, text); + } + } + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = mLayoutInflater.inflate(R.layout.item_tip, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder viewHolder, final int position) { + viewHolder.tipTitle.setText(mTipData.get(position).title); + viewHolder.tipText.setText(mTipData.get(position).text); + } + + @Override + public int getItemCount() { + return mTipData.size(); + } + +} diff --git a/app/src/main/play/en-GB/whatsnew b/app/src/main/play/en-GB/whatsnew index 51fb0ded..c16c41ab 100644 --- a/app/src/main/play/en-GB/whatsnew +++ b/app/src/main/play/en-GB/whatsnew @@ -1,13 +1,11 @@ Enhancements * Specify sync conditions differently for each folder, device [NEW] +* Added offline 'tips & tricks' content [NEW] * UI explains why syncthing is running (or not) * Support in-app editing of folder's ignore list items Fixes * Fixed the "battery eater" -* Fixed xml encoding when parsing, saving the config (#89) -* Fixed override changes button not showing +* Android 8 and 9 support * Fixed phone plugged to charger detection -* Lots of bug fixes and better Android 8+ support (#52, #54, #56, #59) Maintenance -* Updated syncthing to v0.14.51 -* Added support for "receive only" folders +* Updated syncthing to v0.14.51 (receiveOnly folders) diff --git a/app/src/main/res/drawable-hdpi/ic_help_outline_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_help_outline_black_24dp.png new file mode 100644 index 00000000..cf703c42 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_help_outline_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_help_outline_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_help_outline_black_24dp.png new file mode 100644 index 00000000..c6150f53 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_help_outline_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_help_outline_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_help_outline_black_24dp.png new file mode 100644 index 00000000..b160d348 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_help_outline_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_help_outline_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_help_outline_black_24dp.png new file mode 100644 index 00000000..1d0eb067 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_help_outline_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_help_outline_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_help_outline_black_24dp.png new file mode 100644 index 00000000..8c2cb482 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_help_outline_black_24dp.png differ diff --git a/app/src/main/res/layout/activity_tips_and_tricks.xml b/app/src/main/res/layout/activity_tips_and_tricks.xml new file mode 100644 index 00000000..e6d5af4b --- /dev/null +++ b/app/src/main/res/layout/activity_tips_and_tricks.xml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/app/src/main/res/layout/fragment_drawer.xml b/app/src/main/res/layout/fragment_drawer.xml index b8a1b37e..ce6f2d5b 100644 --- a/app/src/main/res/layout/fragment_drawer.xml +++ b/app/src/main/res/layout/fragment_drawer.xml @@ -135,6 +135,17 @@ android:text="@string/restart" android:clickable="true" android:focusable="true" /> + + diff --git a/app/src/main/res/layout/item_tip.xml b/app/src/main/res/layout/item_tip.xml new file mode 100644 index 00000000..7df448f6 --- /dev/null +++ b/app/src/main/res/layout/item_tip.xml @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index b4546499..454cdfab 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -197,7 +197,6 @@ - Уеб интерфейс diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index 5721d69c..d669577e 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -222,7 +222,6 @@ Ens podeu informar dels problemes que trobeu a través de Github. - Interfície web diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 308e2597..317c3403 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -210,7 +210,6 @@ Všechny zaznamenané chyby prosím hlašte přes Github. - Syncthing GUI diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 76b4ef77..dab6b38a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -206,7 +206,6 @@ Vær venlig at rapportere ethvert problem, du støder på, via Github. - Web GUI diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 98b482d6..63beb568 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -36,6 +36,7 @@ Bitte melden Sie auftretende Probleme via GitHub. Fertig Beispiel Fehler + Hilfe Zugriff gewähren Zugriff gewährt Grund: @@ -283,9 +284,23 @@ Bitte melden Sie auftretende Probleme via GitHub. Konnte keine Root-Rechte erhalten. - + + + Tipps & Tricks + + Workaround zum Schreiben auf Speicherkarte + Wenn Du die Meldung \"Android erlaubt nur schreibgeschützten Zugriff\" für einen bestimmten Ordner erhältst, erstelle einen neuen Ordner und benutze diesen Pfad, um Schreibzugriff zu erhalten:\n%1$s/DEIN_ORDNER_NAME\nSei vorsichtig: Dieser Ordner wird von Android gelöscht, sobald du die App deinstallierst. Verschiebe die Daten an einen sicheren Ort außerhalb des .../Android Ordners, bevor du die App deinstallierst. + + Nur über lokales WLAN-Netzwerk syncen + Wenn Du beabsichtigst, nur mit Geräten zu syncen, die am lokalen WLAN-Netzwerk angeschlossen oder Teil eines Hotspot-WLAN sind, kannst du den Batterieverbrauch reduzieren und versehentliches Syncen über mobile Daten verhindern, indem Du die folgenden Optionen unter \"Einstellungen/Syncthing-Optionen\" abschaltest:\n- NAT-Durchdringung\n- Globale Gerätesuche\n- Weiterleitung aktivieren\nLasse nur die \"Lokale Gerätesuche\" eingeschaltet. + + Sync-Bedingungen pro Ordner/Gerät festlegen + Diese Funktion wird in zukünftigen Releases weiter verbessert. Für den Moment wollten wir das App-Verhalten nicht \"umstürzen\", um bestehende Konfigurationen nicht zu \"brechen\". Deshalb können die \"individuellen Sync-Bedingungen\" für einen bestimmten Netzwerktyp erst festgelegt werden, wenn dieser Netzwerktyp vorher in den globalen Laufkonditionen aktiviert wurde. + + + Weboberfläche diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 11608bf9..91a034db 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -206,7 +206,6 @@ - Web GUI diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 9101f41a..8c56d4e7 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -184,7 +184,6 @@ - Interfaz Web diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d8caef4f..cf0aa7f7 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -195,7 +195,6 @@ - Interfaz gráfica web diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index a0381eb7..3a14491b 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -211,7 +211,6 @@ Ilmoitathan ystävällisesti kaikista havaitsemistasi ongelmista Githubin kautta - Web käyttöliittymä diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 3a2218a9..ad1abcf6 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -224,7 +224,6 @@ S\'il vous plaît, soumettez les problèmes que vous rencontrez via Github. - Interface WEB diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 0dbf12ad..efec4164 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -228,7 +228,6 @@ Néhány eszközön extra alkalmazás-leállító alkalmazást telepített fel a - Webes felület diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 3233482c..20d06711 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -200,7 +200,6 @@ Jika ada masalah silakan laporkan lewat Github. - Web GUI diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 63316f88..11bbd91c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -224,7 +224,6 @@ Si prega di segnalare eventuali problemi che si incontrano via Github. - Interfaccia Web diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index dfb03e5b..0ea17086 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -207,7 +207,6 @@ - Web GUI diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 0142160d..493d5c0d 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -205,7 +205,6 @@ - 웹 GUI diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 1e4e52bf..cb54d63f 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -187,7 +187,6 @@ - Webgrensesnitt diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 13d8a5d1..12499a6f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -224,7 +224,6 @@ Als je problemen tegenkomt, meld ze dan via GitHub. - Web-interface diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index 91cb7c5b..03d16f29 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -187,7 +187,6 @@ - Grafisk grensesnitt på verdsveven diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 9003374f..7f81eee7 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -210,7 +210,6 @@ Proszę zgłaszać napotkane błędy programu za pośrednictwem serwisu Github.< - Interfejs internetowy diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 0b811507..7950f739 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -224,7 +224,6 @@ Por favor, nos avise sobre quaisquer problemas que você encontrar via Github. - Interface web diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 73709901..4a13cfdd 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -200,7 +200,6 @@ Reporte, através do Github, quaisquer problemas que encontre, por favor. - Interface Web diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 7da8e0f2..dc3d064a 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -242,7 +242,6 @@ Vă rugăm să raportați orice problemă întâlniți, prin intermediul GitHub. - Interfață web diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index f338e027..a8e1e01b 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -226,7 +226,6 @@ - Веб-интерфейс diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 84ad58e7..0f1e57a2 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -171,7 +171,6 @@ - Webové GUI diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index af1b9a0d..52cf0f3b 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -241,7 +241,6 @@ Vänligen rapportera eventuella problem du stöter på via Github. - Webbgränssnitt diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index d8e83335..43da6a2a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -197,7 +197,6 @@ Eğer herhangi bir sorunla karşılaşırsan Github aracılığıyla bildir. - Web Arayüzü diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index b0657db1..60a1fd0e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -158,7 +158,6 @@ - Веб-інтерфейс diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index cefacd3e..29c6c17b 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -184,7 +184,6 @@ - GUI web diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 4987e846..2f5b52ba 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -209,7 +209,6 @@ - 网页管理页面 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6a57380d..7ba131ee 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -205,7 +205,6 @@ - 網頁 GUI diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 48fad3e4..94f97c69 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -36,6 +36,7 @@ Please report any problems you encounter via Github. Finish Example Error + Help Grant permission Permission granted Reason: @@ -283,9 +284,23 @@ Please report any problems you encounter via Github. Did not get root permissions - + + + Tips & Tricks + + Write to external sdcard workaround + If you see the UI stating that \'Android only grants syncthing read-only access\' to a certain folder, create a new folder using this path to gain write access:\n%1$s/YOUR_FOLDER_NAME\nBe careful: This folder will get wiped out by Android if you uninstall this app. Before uninstalling the app, move the data to a safe place outside the .../Android folder. + + Sync only using the local WiFi network + If you\'d like to sync only with devices that are located on the local WiFi network or reachable via WiFi hotspot, you can lower battery usage and avoid accidentially syncing over mobile data by turning off the following options under \'Settings/Syncthing Options\':\n- Enable NAT traversal\n- Global Discovery\n- Enable Relaying\nOnly leave \'Local discovery\' enabled. + + Use per folder/device custom sync conditions + This feature will still be improved in future releases. For now, we didn\'t want to break existing configs and app behaviour. That\'s why custom sync conditions for a certain network type can only be set if you enable syncing on the network in the global run conditions first. + + + Web GUI