diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java index c1f9d9a2..97152d5b 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/DeviceActivity.java @@ -78,6 +78,8 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis private SwitchCompat mIntroducerView; + private SwitchCompat mDevicePaused; + private TextView mSyncthingVersionView; private View mCompressionContainer; @@ -110,7 +112,6 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis public void afterTextChanged(Editable s) { if (!s.toString().equals(mDevice.deviceID)) { mDeviceNeedsToUpdate = true; - mDevice.deviceID = s.toString(); } } @@ -121,7 +122,6 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis public void afterTextChanged(Editable s) { if (!s.toString().equals(mDevice.name)) { mDeviceNeedsToUpdate = true; - mDevice.name = s.toString(); } } @@ -132,19 +132,24 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis public void afterTextChanged(Editable s) { if (!s.toString().equals(displayableAddresses())) { mDeviceNeedsToUpdate = true; - mDevice.addresses = persistableAddresses(s); } } }; - private final CompoundButton.OnCheckedChangeListener mIntroducerCheckedChangeListener = new CompoundButton.OnCheckedChangeListener() { + private final CompoundButton.OnCheckedChangeListener mCheckedListener = + new CompoundButton.OnCheckedChangeListener() { @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (mDevice.introducer != isChecked) { - mDeviceNeedsToUpdate = true; - - mDevice.introducer = isChecked; + public void onCheckedChanged(CompoundButton view, boolean isChecked) { + switch (view.getId()) { + case R.id.introducer: + mDevice.introducer = isChecked; + mDeviceNeedsToUpdate = true; + break; + case R.id.devicePause: + mDevice.paused = isChecked; + mDeviceNeedsToUpdate = true; + break; } } }; @@ -167,6 +172,7 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis mCompressionContainer = findViewById(R.id.compressionContainer); mCompressionValueView = findViewById(R.id.compressionValue); mIntroducerView = findViewById(R.id.introducer); + mDevicePaused = findViewById(R.id.devicePause); mSyncthingVersionView = findViewById(R.id.syncthingVersion); mQrButton.setOnClickListener(this); @@ -293,18 +299,26 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis } private void updateViewsAndSetListeners() { + mIdView.removeTextChangedListener(mIdTextWatcher); + mNameView.removeTextChangedListener(mNameTextWatcher); + mAddressesView.removeTextChangedListener(mAddressesTextWatcher); + mIntroducerView.setOnCheckedChangeListener(null); + mDevicePaused.setOnCheckedChangeListener(null); + // Update views mIdView.setText(mDevice.deviceID); mNameView.setText(mDevice.name); mAddressesView.setText(displayableAddresses()); mCompressionValueView.setText(Compression.fromValue(this, mDevice.compression).getTitle(this)); mIntroducerView.setChecked(mDevice.introducer); + mDevicePaused.setChecked(mDevice.paused); // Keep state updated mIdView.addTextChangedListener(mIdTextWatcher); mNameView.addTextChangedListener(mNameTextWatcher); mAddressesView.addTextChangedListener(mAddressesTextWatcher); - mIntroducerView.setOnCheckedChangeListener(mIntroducerCheckedChangeListener); + mIntroducerView.setOnCheckedChangeListener(mCheckedListener); + mDevicePaused.setOnCheckedChangeListener(mCheckedListener); } @Override @@ -384,6 +398,7 @@ public class DeviceActivity extends SyncthingActivity implements View.OnClickLis mDevice.addresses = DYNAMIC_ADDRESS; mDevice.compression = METADATA.getValue(this); mDevice.introducer = false; + mDevice.paused = false; } private void prepareEditMode() { diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java index 24d1befd..0ab47126 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/FolderActivity.java @@ -78,6 +78,7 @@ public class FolderActivity extends SyncthingActivity private TextView mPathView; private SwitchCompat mFolderMasterView; private SwitchCompat mFolderFileWatcher; + private SwitchCompat mFolderPaused; private ViewGroup mDevicesContainer; private TextView mVersioningDescriptionView; private TextView mVersioningTypeView; @@ -114,6 +115,10 @@ public class FolderActivity extends SyncthingActivity mFolder.fsWatcherEnabled = isChecked; mFolderNeedsToUpdate = true; break; + case R.id.folderPause: + mFolder.paused = isChecked; + mFolderNeedsToUpdate = true; + break; case R.id.device_toggle: Device device = (Device) view.getTag(); if (isChecked) { @@ -141,6 +146,7 @@ public class FolderActivity extends SyncthingActivity mPathView = findViewById(R.id.directoryTextView); mFolderMasterView = findViewById(R.id.master); mFolderFileWatcher = findViewById(R.id.fileWatcher); + mFolderPaused = findViewById(R.id.folderPause); mVersioningDescriptionView = findViewById(R.id.versioningDescription); mVersioningTypeView = findViewById(R.id.versioningType); mDevicesContainer = findViewById(R.id.devicesContainer); @@ -316,6 +322,7 @@ public class FolderActivity extends SyncthingActivity mPathView.removeTextChangedListener(mTextWatcher); mFolderMasterView.setOnCheckedChangeListener(null); mFolderFileWatcher.setOnCheckedChangeListener(null); + mFolderPaused.setOnCheckedChangeListener(null); // Update views mLabelView.setText(mFolder.label); @@ -324,6 +331,7 @@ public class FolderActivity extends SyncthingActivity updateVersioningDescription(); mFolderMasterView.setChecked(Objects.equal(mFolder.type, "readonly")); mFolderFileWatcher.setChecked(mFolder.fsWatcherEnabled); + mFolderPaused.setChecked(mFolder.paused); List devicesList = getApi().getDevices(false); mDevicesContainer.removeAllViews(); @@ -341,6 +349,7 @@ public class FolderActivity extends SyncthingActivity mPathView.addTextChangedListener(mTextWatcher); mFolderMasterView.setOnCheckedChangeListener(mCheckedListener); mFolderFileWatcher.setOnCheckedChangeListener(mCheckedListener); + mFolderPaused.setOnCheckedChangeListener(mCheckedListener); } @Override @@ -438,6 +447,7 @@ public class FolderActivity extends SyncthingActivity * syncthing when the file watcher is enabled and a new folder is created. */ mFolder.rescanIntervalS = 3600; + mFolder.paused = false; mFolder.versioning = new Folder.Versioning(); } diff --git a/app/src/main/java/com/nutomic/syncthingandroid/model/Device.java b/app/src/main/java/com/nutomic/syncthingandroid/model/Device.java index 8b29e7c7..c19aaed8 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/model/Device.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/model/Device.java @@ -11,6 +11,7 @@ public class Device { public String compression; public String certName; public boolean introducer; + public boolean paused; /** * Returns the device name, or the first characters of the ID if the name is empty. diff --git a/app/src/main/java/com/nutomic/syncthingandroid/model/Folder.java b/app/src/main/java/com/nutomic/syncthingandroid/model/Folder.java index b0a2a572..6c1d8508 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/model/Folder.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/model/Folder.java @@ -13,6 +13,7 @@ public class Folder { public String id; public String label; + public String filesystemType = "basic"; public String path; public String type; public boolean fsWatcherEnabled = true; @@ -24,18 +25,19 @@ public class Folder { public MinDiskFree minDiskFree; public Versioning versioning; public int copiers; - public int pullers; + public int pullerMaxPendingKiB; public int hashers; public String order; public boolean ignoreDelete; public int scanProgressIntervalS; - public int pullerSleepS; public int pullerPauseS; public int maxConflicts = 10; public boolean disableSparseFiles; public boolean disableTempIndexes; + public boolean paused; + public int weakHashThresholdPct = 25; + public String markerName = ".stfolder"; public String invalid; - public boolean fsync = true; public static class Versioning implements Serializable { public String type; diff --git a/app/src/main/java/com/nutomic/syncthingandroid/model/Model.java b/app/src/main/java/com/nutomic/syncthingandroid/model/Model.java index fbeeef8b..834585c2 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/model/Model.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/model/Model.java @@ -3,17 +3,27 @@ package com.nutomic.syncthingandroid.model; public class Model { public long globalBytes; public long globalDeleted; + public long globalDirectories; public long globalFiles; + public long globalSymlinks; + public boolean ignorePatterns; + public String invalid; public long localBytes; public long localDeleted; + public long localDirectories; + public long localSymlinks; public long localFiles; public long inSyncBytes; public long inSyncFiles; public long needBytes; - public long needFiles; public long needDeletes; public long needDirectories; + public long needFiles; public long needSymlinks; + public long pullErrors; + public long sequence; public String state; - public String invalid; + public String stateChanged; + public long version; + public String watchError; } diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java index d397dbd3..263885e9 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/views/DevicesAdapter.java @@ -45,28 +45,46 @@ public class DevicesAdapter extends ArrayAdapter { name.setText(getItem(position).getDisplayName()); Resources r = getContext().getResources(); - boolean haveInfo = mConnections != null && mConnections.connections.containsKey(deviceId) && - mConnections.connections.get(deviceId).connected; - if (haveInfo) { - Connections.Connection conn = mConnections.connections.get(deviceId); + + Connections.Connection conn = null; + if (mConnections != null || mConnections.connections.containsKey(deviceId)) { + conn = mConnections.connections.get(deviceId); + } + + if (conn == null) { + download.setText(Util.readableTransferRate(getContext(), 0)); + upload.setText(Util.readableTransferRate(getContext(), 0)); + status.setText(r.getString(R.string.device_state_unknown)); + status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); + return convertView; + } + + if (conn.paused) { + download.setText(Util.readableTransferRate(getContext(), 0)); + upload.setText(Util.readableTransferRate(getContext(), 0)); + status.setText(r.getString(R.string.device_paused)); + status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_black)); + return convertView; + } + + if (conn.connected) { + download.setText(Util.readableTransferRate(getContext(), conn.inBits)); + upload.setText(Util.readableTransferRate(getContext(), conn.outBits)); if (conn.completion == 100) { status.setText(r.getString(R.string.device_up_to_date)); status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_green)); - } - else { + } else { status.setText(r.getString(R.string.device_syncing, conn.completion)); status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_blue)); } - download.setText(Util.readableTransferRate(getContext(), conn.inBits)); - upload.setText(Util.readableTransferRate(getContext(), conn.outBits)); - } - else { - download.setText(Util.readableTransferRate(getContext(), 0)); - upload.setText(Util.readableTransferRate(getContext(), 0)); - status.setText(r.getString(R.string.device_disconnected)); - status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); + return convertView; } + // !conn.connected + download.setText(Util.readableTransferRate(getContext(), 0)); + upload.setText(Util.readableTransferRate(getContext(), 0)); + status.setText(r.getString(R.string.device_disconnected)); + status.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); return convertView; } diff --git a/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java b/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java index 3c359ac7..5cef5518 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/views/FoldersAdapter.java @@ -82,18 +82,22 @@ public class FoldersAdapter extends ArrayAdapter { binding.state.setText(getContext().getString(R.string.status_outofsync)); binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); } else { - binding.state.setText(getLocalizedState(getContext(), model.state, percentage)); - switch(model.state) { - case "idle": - binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_green)); - break; - case "scanning": - case "cleaning": - case "syncing": - binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_blue)); - break; - default: - binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); + if (folder.paused) { + binding.state.setText(getContext().getString(R.string.state_paused)); + binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_black)); + } else { + binding.state.setText(getLocalizedState(getContext(), model.state, percentage)); + switch(model.state) { + case "idle": + binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_green)); + break; + case "scanning": + case "syncing": + binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_blue)); + break; + default: + binding.state.setTextColor(ContextCompat.getColor(getContext(), R.color.text_red)); + } } } binding.items.setVisibility(VISIBLE); @@ -118,18 +122,13 @@ public class FoldersAdapter extends ArrayAdapter { */ private static String getLocalizedState(Context c, String state, int percentage) { switch (state) { - case "idle": return c.getString(R.string.state_idle); - case "scanning": return c.getString(R.string.state_scanning); - case "cleaning": return c.getString(R.string.state_cleaning); - case "syncing": return c.getString(R.string.state_syncing, percentage); - case "error": return c.getString(R.string.state_error); - case "unknown": // Fallthrough - case "": return c.getString(R.string.state_unknown); + case "idle": return c.getString(R.string.state_idle); + case "scanning": return c.getString(R.string.state_scanning); + case "syncing": return c.getString(R.string.state_syncing, percentage); + case "error": return c.getString(R.string.state_error); + case "unknown": return c.getString(R.string.state_unknown); + default: return state; } - if (BuildConfig.DEBUG) { - throw new AssertionError("Unexpected folder state " + state); - } - return ""; } /** diff --git a/app/src/main/res/layout/fragment_device.xml b/app/src/main/res/layout/fragment_device.xml index 21a651d2..fe168280 100644 --- a/app/src/main/res/layout/fragment_device.xml +++ b/app/src/main/res/layout/fragment_device.xml @@ -112,6 +112,16 @@ android:drawableStart="@drawable/ic_phonelink_black_24dp_active" android:text="@string/introducer" /> + + + + Бездействие Сканиране - Почистване Синхронизиране (%1$d%%) Грешка Неясно diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index b4302362..3e9769ab 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -358,7 +358,6 @@ Ens podeu informar dels problemes que trobeu a través de Github. Inactiu Escanejant - Netejant Sincronitzant (%1$d%%) Error Desconegut diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e61e9168..b1bf845a 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -361,7 +361,6 @@ Všechny zaznamenané chyby prosím hlašte přes Github. Aktuální Skenování - Čištění Synchronizuje se (%1$d%%) Chyba Neznámý diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 4aa59f1a..7dcadebb 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -350,7 +350,6 @@ Vær venlig at rapportere ethvert problem, du støder på, via Github. Ledig Scanner - Gør rent Synkroniserer (%1$d%%) Fejl Ukendt diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 642f90e5..fa952bb2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -355,7 +355,6 @@ Bitte melden Sie auftretende Probleme via Github. Untätig Scannen - Aufräumen Synchronisiere (%1$d%%) Fehler Unbekannt diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c5cc1c18..4918ce6a 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -358,7 +358,6 @@ Αδρανής Σάρωση - Εκκαθάριση Συγχρονισμός (%1$d%%) Σφάλμα Άγνωστο diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 3a1e441d..9d1e903f 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -270,7 +270,6 @@ Sin utilizar Escaneando - Limpiando Sincronizando (%1$d%%) Error Desconocido diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 5451ff05..95dd4cb5 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -326,7 +326,6 @@ Inactivo Escaneando - Limpiando Sincronizando (%1$d%%) Error Desconocido diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 19902de6..f23fd738 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -314,7 +314,6 @@ Ilmoitathan ystävällisesti kaikista havaitsemistasi ongelmista Githubin kautta toimeton Skannataan - Puhdistetaan Synkronoidaan (%1$d%%) Virhe Tuntematon diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 578d8c1c..da485d4b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -358,7 +358,6 @@ S\'il vous plaît, soumettez les problèmes que vous rencontrez via Github. En veille Analyse en cours - Effacement en cours Synchronisation (%1$d%%) Erreur Inconnu diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 02aeec03..a83961c0 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -366,7 +366,6 @@ Biztosan törölni szeretnéd a Syncthing index adatbázisát? Tétlen Vizsgálat - Takarítás Szinkronizálás (%1$d%%) Hiba Ismeretlen diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d56a6013..8a1f0f96 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -358,7 +358,6 @@ Si prega di segnalare eventuali problemi che si incontrano via Github. Inattivo Scansione in corso - Pulizia Sincronizzazione (%1$d%%) Errore Sconosciuto diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 8f976421..b824831f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -353,7 +353,6 @@ アイドル スキャン中 - クリーニング中 同期中 (%1$d%%) エラー 不明 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index e67c5cb5..a9de0c18 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -346,7 +346,6 @@ 대기 스캔 중 - 지우는 중 동기화 중 (%1$d%%) 오류 알 수 없음 diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index b3dd262e..0f3c4846 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -275,7 +275,6 @@ Inaktiv Skanner - Rydder Synkroniserer (%1$d%%) Feil Ukjent diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 013b7610..f393aab1 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -357,7 +357,6 @@ Als je problemen tegenkomt, meld ze dan via GitHub. Inactief Bezig met scannen - Bezig met opruimen Bezig met synchroniseren (%1$d%%) Fout Onbekend diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index 6d1db39b..2f7d106f 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -275,7 +275,6 @@ Kviler Skannar - Reingjer Synkroniserer (%1$d%%) Feil Ukjend diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index ae91a73a..c9c18572 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -305,7 +305,6 @@ Proszę zgłaszać napotkane błędy programu za pośrednictwem serwisu Github.< Bezczynny Skanowanie - Czyszczenie Synchronizowanie (%1$d%%) Błąd Nieznany diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index fd5ccb4f..d8c7d1c5 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -354,7 +354,6 @@ Por favor, nos avise sobre quaisquer problemas que você encontrar via Github. Em espera Verificando - Limpando Sincronizando (%1$d%%) Erro Desconhecido diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 738a0fa2..54d5fe5c 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -297,7 +297,6 @@ Reporte, através do Github, quaisquer problemas que encontre, por favor. Em espera Verificando - Limpando Sincronizando (%1$d%%) Erro Desconhecido diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index df874a0c..61f4b09f 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -361,7 +361,6 @@ Vă rugăm să raportați orice problemă întâlniți, prin intermediul GitHub. Inactiv Scanare - Curățare Se sincronizează(%1$d%%) Eroare Necunoscut diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 3812689b..bc541181 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -311,7 +311,6 @@ Бездействие Сканирование - Очистка Синхронизация (%1$d%%) Ошибка Неизвестно diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index bbc070eb..10457cfd 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -256,7 +256,6 @@ Naozaj chcete resetovať databázu s indexom súborov? Nečinné Skenovanie - Čistenie Synchronizuje sa (%1$d%%) Chyba Neznámy diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index a9f40668..6e05f89b 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -357,7 +357,6 @@ Vänligen rapportera eventuella problem du stöter på via Github. Inaktiv Skannar - Städar Synkroniserar (%1$d%%) Fel Okänd diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index ca3a9980..264f9c6d 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -296,7 +296,6 @@ Eğer herhangi bir sorunla karşılaşırsan Github aracılığıyla bildir. Boşta Taranıyor - Temizleniyor Eşzamanlama gerçekleştiriliyor (%1$d%%) Hata Bilinmiyor diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 438e0211..2c63adcf 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -254,7 +254,6 @@ Очікування Сканування - Очистка Синхронізуються (%1$d%%) Помилка Невідомо diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 3e852548..902b596d 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -270,7 +270,6 @@ Rãnh rỗi Đang quét - Đang dọn dẹp Đang đ.bộ (%1$d%%) Lỗi Không rõ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index edb43fd7..e0b38084 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -355,7 +355,6 @@ 空闲 正在扫描 - 正在清理 正在同步 (%1$d%%) 错误 未知 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 50325baf..63e925a4 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -354,7 +354,6 @@ 閒置 正在掃描 - 正在清理 正在同步 (%1$d%%) 錯誤 未知 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 18d2a79a..5809d461 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -5,6 +5,7 @@ #FFC107 #1F000000 + #000000 #ffff4444 #ff33b5e5 #ff99cc00 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 56506770..21f6aabd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -103,6 +103,12 @@ Please report any problems you encounter via Github. Disconnected + + Paused + + !-- Indicates that the device connection is unknown --> + Unknown + Download @@ -149,6 +155,9 @@ Please report any problems you encounter via Github. Realtime Sync + + Pause Folder + Devices @@ -212,6 +221,9 @@ Please report any problems you encounter via Github. Introducer + + Pause Device + Delete Device @@ -620,10 +632,10 @@ Please report any problems you encounter via Github. Idle Scanning - Cleaning Syncing (%1$d%%) Error Unknown + Paused Out of Sync