1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-26 14:21:16 +00:00

Improve run conditions and run conditions UI (#1189)

* WIP - Extend run condition monitor functions

* WIP - Better run conditions UI

* WIP - Allow applying run conditions to foreground and background
execution of the syncthing app

* WIP - Add mobile data run condition

* WIP - Fix RunConditionMonitor#onSharedPreferenceChanged

* WIP - Directly go to SettingsActivity#Run_Conditions screen
after the "change run condition" button has been clicked in
StateDialogActivity during STATE_DISABLED

* Disable Syncthing in flight mode (fixes #1173)
... and allow to enable it on phone that have problems
detecting wifi connection if the user manually enables
one during flight mode.

* Add run condition "Run on metered wifi" (fixes #937)

* Improve string

* Add run condition "Respect Android Auto-sync data quick toggle" (fixes #588)

* Remove SharedPreferences.OnSharedPreferenceChangeListener

* Added SyncthingService#reEvaluateRunConditions

* Implement mPendingRunConditions in SettingsActivity
to queue run condition changes until the user leaves
the preferences screen after making changes. (fixes #1196)

* Rename reEvaluateRunConditions to evaluateRunConditions
according to review

* Fix implementation of ContentResolver.removeStatusChangeListener

* Reordered run conditions
wifi, metered wifi, wifi whitelist, mobile data

* Review 1/2

* Fix logic for metered/non-metered wifi run condition

* Remove PreferenceScreen dividers on API level > 21

* Revert "Remove PreferenceScreen dividers on API level > 21"

This reverts commit ec037b02e4.

* Detect changes made to wifi connections in android's data usage dialog
related to the metered wifi flag.

* Review - Minor string improvements
Removed unused variable from RunConditionMonitor
Move always_run_in_background pref to pref category
"Behaviour".

* Review - "Start service automatically on boot" string

* Remove unused strings
This commit is contained in:
Catfriend1 2018-08-02 10:50:21 +02:00 committed by GitHub
parent cdaf8e69c5
commit 6a04d640bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 333 additions and 252 deletions

View file

@ -270,6 +270,12 @@ public class MainActivity extends StateDialogActivity
startActivity(new Intent(this, FirstStartActivity.class)); startActivity(new Intent(this, FirstStartActivity.class));
this.finish(); this.finish();
} }
// Evaluate run conditions to detect changes made to the metered wifi flags.
SyncthingService mSyncthingService = getService();
if (mSyncthingService != null) {
mSyncthingService.evaluateRunConditions();
}
super.onResume(); super.onResume();
} }

View file

@ -17,7 +17,9 @@ import android.preference.PreferenceManager;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.ListAdapter;
import android.widget.Toast; import android.widget.Toast;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
@ -38,6 +40,8 @@ import com.nutomic.syncthingandroid.views.WifiSsidPreference;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.security.InvalidParameterException; import java.security.InvalidParameterException;
import java.util.HashSet;
import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
@ -45,11 +49,18 @@ import eu.chainfire.libsuperuser.Shell;
public class SettingsActivity extends SyncthingActivity { public class SettingsActivity extends SyncthingActivity {
public static final String EXTRA_OPEN_SUB_PREF_SCREEN =
"com.nutomic.syncthingandroid.activities.SettingsActivity.OPEN_SUB_PREF_SCREEN";
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
SettingsFragment settingsFragment = new SettingsFragment();
Bundle bundle = new Bundle();
bundle.putString(EXTRA_OPEN_SUB_PREF_SCREEN, getIntent().getStringExtra(EXTRA_OPEN_SUB_PREF_SCREEN));
settingsFragment.setArguments(bundle);
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment()) .replace(android.R.id.content, settingsFragment)
.commit(); .commit();
} }
@ -90,9 +101,12 @@ public class SettingsActivity extends SyncthingActivity {
private Preference mCategoryRunConditions; private Preference mCategoryRunConditions;
private CheckBoxPreference mAlwaysRunInBackground; private CheckBoxPreference mAlwaysRunInBackground;
private CheckBoxPreference mSyncOnlyCharging; private ListPreference mPowerSource;
private CheckBoxPreference mSyncOnlyWifi; private CheckBoxPreference mRunOnMobileData;
private WifiSsidPreference mSyncOnlyOnSSIDs; private CheckBoxPreference mRunOnWifi;
private CheckBoxPreference mRunOnMeteredWifi;
private WifiSsidPreference mWifiSsidWhitelist;
private CheckBoxPreference mRunInFlightMode;
private Preference mCategorySyncthingOptions; private Preference mCategorySyncthingOptions;
private EditTextPreference mDeviceName; private EditTextPreference mDeviceName;
@ -154,16 +168,18 @@ public class SettingsActivity extends SyncthingActivity {
PreferenceScreen screen = getPreferenceScreen(); PreferenceScreen screen = getPreferenceScreen();
mAlwaysRunInBackground = mAlwaysRunInBackground =
(CheckBoxPreference) findPreference(Constants.PREF_ALWAYS_RUN_IN_BACKGROUND); (CheckBoxPreference) findPreference(Constants.PREF_ALWAYS_RUN_IN_BACKGROUND);
mSyncOnlyCharging = mPowerSource =
(CheckBoxPreference) findPreference(Constants.PREF_SYNC_ONLY_CHARGING); (ListPreference) findPreference(Constants.PREF_POWER_SOURCE);
mSyncOnlyWifi = mRunOnMobileData =
(CheckBoxPreference) findPreference(Constants.PREF_SYNC_ONLY_WIFI); (CheckBoxPreference) findPreference(Constants.PREF_RUN_ON_WIFI);
mSyncOnlyOnSSIDs = mRunOnWifi =
(WifiSsidPreference) findPreference(Constants.PREF_SYNC_ONLY_WIFI_SSIDS); (CheckBoxPreference) findPreference(Constants.PREF_RUN_ON_WIFI);
mRunOnMeteredWifi =
mSyncOnlyCharging.setEnabled(mAlwaysRunInBackground.isChecked()); (CheckBoxPreference) findPreference(Constants.PREF_RUN_ON_METERED_WIFI);
mSyncOnlyWifi.setEnabled(mAlwaysRunInBackground.isChecked()); mWifiSsidWhitelist =
mSyncOnlyOnSSIDs.setEnabled(mSyncOnlyWifi.isChecked()); (WifiSsidPreference) findPreference(Constants.PREF_WIFI_SSID_WHITELIST);
mRunInFlightMode =
(CheckBoxPreference) findPreference(Constants.PREF_RUN_IN_FLIGHT_MODE);
ListPreference languagePref = (ListPreference) findPreference(Languages.PREFERENCE_LANGUAGE); ListPreference languagePref = (ListPreference) findPreference(Languages.PREFERENCE_LANGUAGE);
PreferenceScreen categoryBehaviour = (PreferenceScreen) findPreference("category_behaviour"); PreferenceScreen categoryBehaviour = (PreferenceScreen) findPreference("category_behaviour");
@ -216,7 +232,8 @@ public class SettingsActivity extends SyncthingActivity {
mSyncthingVersion = findPreference("syncthing_version"); mSyncthingVersion = findPreference("syncthing_version");
Preference appVersion = screen.findPreference("app_version"); Preference appVersion = screen.findPreference("app_version");
mSyncOnlyOnSSIDs.setEnabled(mSyncOnlyWifi.isChecked()); mRunOnMeteredWifi.setEnabled(mRunOnWifi.isChecked());
mWifiSsidWhitelist.setEnabled(mRunOnWifi.isChecked());
mCategorySyncthingOptions = findPreference("category_syncthing_options"); mCategorySyncthingOptions = findPreference("category_syncthing_options");
setPreferenceCategoryChangeListener(mCategorySyncthingOptions, this::onSyncthingPreferenceChange); setPreferenceCategoryChangeListener(mCategorySyncthingOptions, this::onSyncthingPreferenceChange);
@ -244,6 +261,12 @@ public class SettingsActivity extends SyncthingActivity {
/* Initialize summaries */ /* Initialize summaries */
mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
screen.findPreference(Constants.PREF_POWER_SOURCE).setSummary(mPowerSource.getEntry());
String wifiSsidSummary = TextUtils.join(", ", mPreferences.getStringSet(Constants.PREF_WIFI_SSID_WHITELIST, new HashSet<>()));
screen.findPreference(Constants.PREF_WIFI_SSID_WHITELIST).setSummary(TextUtils.isEmpty(wifiSsidSummary) ?
getString(R.string.run_on_all_wifi_networks) :
getString(R.string.run_on_whitelisted_wifi_networks, wifiSsidSummary)
);
handleSocksProxyPreferenceChange(screen.findPreference(Constants.PREF_SOCKS_PROXY_ADDRESS), mPreferences.getString(Constants.PREF_SOCKS_PROXY_ADDRESS, "")); handleSocksProxyPreferenceChange(screen.findPreference(Constants.PREF_SOCKS_PROXY_ADDRESS), mPreferences.getString(Constants.PREF_SOCKS_PROXY_ADDRESS, ""));
handleHttpProxyPreferenceChange(screen.findPreference(Constants.PREF_HTTP_PROXY_ADDRESS), mPreferences.getString(Constants.PREF_HTTP_PROXY_ADDRESS, "")); handleHttpProxyPreferenceChange(screen.findPreference(Constants.PREF_HTTP_PROXY_ADDRESS), mPreferences.getString(Constants.PREF_HTTP_PROXY_ADDRESS, ""));
@ -253,6 +276,30 @@ public class SettingsActivity extends SyncthingActivity {
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
Log.d(TAG, "Failed to get app version name"); Log.d(TAG, "Failed to get app version name");
} }
openSubPrefScreen(screen);
}
private void openSubPrefScreen(PreferenceScreen prefScreen) {
Bundle bundle = getArguments();
if (bundle == null) {
return;
}
String openSubPrefScreen = bundle.getString(EXTRA_OPEN_SUB_PREF_SCREEN, "");
// Open sub preferences screen if EXTRA_OPEN_SUB_PREF_SCREEN was passed in bundle.
if (openSubPrefScreen != null && !TextUtils.isEmpty(openSubPrefScreen)) {
Log.v(TAG, "Transitioning to pref screen " + openSubPrefScreen);
PreferenceScreen categoryRunConditions = (PreferenceScreen) findPreference(openSubPrefScreen);
final ListAdapter listAdapter = prefScreen.getRootAdapter();
final int itemsCount = listAdapter.getCount();
for (int itemNumber = 0; itemNumber < itemsCount; ++itemNumber) {
if (listAdapter.getItem(itemNumber).equals(categoryRunConditions)) {
// Simulates click on the sub-preference
prefScreen.onItemClick(null, null, itemNumber, 0);
break;
}
}
}
} }
@Override @Override
@ -317,22 +364,20 @@ public class SettingsActivity extends SyncthingActivity {
public boolean onRunConditionPreferenceChange(Preference preference, Object o) { public boolean onRunConditionPreferenceChange(Preference preference, Object o) {
switch (preference.getKey()) { switch (preference.getKey()) {
case Constants.PREF_ALWAYS_RUN_IN_BACKGROUND: case Constants.PREF_POWER_SOURCE:
boolean value = (Boolean) o; mPowerSource.setValue(o.toString());
mAlwaysRunInBackground.setSummary((value) preference.setSummary(mPowerSource.getEntry());
? R.string.always_run_in_background_enabled
: R.string.always_run_in_background_disabled);
mSyncOnlyCharging.setEnabled(value);
mSyncOnlyWifi.setEnabled(value);
mSyncOnlyOnSSIDs.setEnabled(false);
// Uncheck items when disabled, so it is clear they have no effect.
if (!value) {
mSyncOnlyCharging.setChecked(false);
mSyncOnlyWifi.setChecked(false);
}
break; break;
case Constants.PREF_SYNC_ONLY_WIFI: case Constants.PREF_RUN_ON_WIFI:
mSyncOnlyOnSSIDs.setEnabled((Boolean) o); mRunOnMeteredWifi.setEnabled((Boolean) o);
mWifiSsidWhitelist.setEnabled((Boolean) o);
break;
case Constants.PREF_WIFI_SSID_WHITELIST:
String wifiSsidSummary = TextUtils.join(", ", (Set<String>) o);
preference.setSummary(TextUtils.isEmpty(wifiSsidSummary) ?
getString(R.string.run_on_all_wifi_networks) :
getString(R.string.run_on_whitelisted_wifi_networks, wifiSsidSummary)
);
break; break;
} }
mPendingRunConditions = true; mPendingRunConditions = true;

View file

@ -98,7 +98,9 @@ public abstract class StateDialogActivity extends SyncthingActivity {
.setMessage(R.string.syncthing_disabled_message) .setMessage(R.string.syncthing_disabled_message)
.setPositiveButton(R.string.syncthing_disabled_change_settings, .setPositiveButton(R.string.syncthing_disabled_change_settings,
(dialogInterface, i) -> { (dialogInterface, i) -> {
startActivity(new Intent(this, SettingsActivity.class)); Intent intent = new Intent(this, SettingsActivity.class);
intent.putExtra(SettingsActivity.EXTRA_OPEN_SUB_PREF_SCREEN, "category_run_conditions");
startActivity(intent);
} }
) )
.setNegativeButton(R.string.exit, .setNegativeButton(R.string.exit,

View file

@ -10,12 +10,19 @@ public class Constants {
public static final String FILENAME_SYNCTHING_BINARY = "libsyncthing.so"; public static final String FILENAME_SYNCTHING_BINARY = "libsyncthing.so";
public static final String PREF_FIRST_START = "first_start"; // Preferences - Run conditions
public static final String PREF_ALWAYS_RUN_IN_BACKGROUND = "always_run_in_background"; public static final String PREF_ALWAYS_RUN_IN_BACKGROUND = "always_run_in_background";
public static final String PREF_SYNC_ONLY_WIFI = "sync_only_wifi"; public static final String PREF_RUN_ON_MOBILE_DATA = "run_on_mobile_data";
public static final String PREF_SYNC_ONLY_WIFI_SSIDS = "sync_only_wifi_ssids_set"; public static final String PREF_RUN_ON_WIFI = "run_on_wifi";
public static final String PREF_SYNC_ONLY_CHARGING = "sync_only_charging"; public static final String PREF_RUN_ON_METERED_WIFI = "run_on_metered_wifi";
public static final String PREF_WIFI_SSID_WHITELIST = "wifi_ssid_whitelist";
public static final String PREF_POWER_SOURCE = "power_source";
public static final String PREF_RESPECT_BATTERY_SAVING = "respect_battery_saving"; public static final String PREF_RESPECT_BATTERY_SAVING = "respect_battery_saving";
public static final String PREF_RESPECT_MASTER_SYNC = "respect_master_sync";
public static final String PREF_RUN_IN_FLIGHT_MODE = "run_in_flight_mode";
// Preferences - Behaviour
public static final String PREF_FIRST_START = "first_start";
public static final String PREF_START_INTO_WEB_GUI = "start_into_web_gui"; public static final String PREF_START_INTO_WEB_GUI = "start_into_web_gui";
public static final String PREF_USE_ROOT = "use_root"; public static final String PREF_USE_ROOT = "use_root";
public static final String PREF_NOTIFICATION_TYPE = "notification_type"; public static final String PREF_NOTIFICATION_TYPE = "notification_type";

View file

@ -2,10 +2,12 @@ package com.nutomic.syncthingandroid.service;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SyncStatusObserver;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
@ -37,6 +39,18 @@ public class RunConditionMonitor {
private static final String TAG = "RunConditionMonitor"; private static final String TAG = "RunConditionMonitor";
private static final String POWER_SOURCE_AC_BATTERY = "ac_and_battery_power";
private static final String POWER_SOURCE_AC = "ac_power";
private static final String POWER_SOURCE_BATTERY = "battery_power";
private @Nullable Object mSyncStatusObserverHandle = null;
private final SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() {
@Override
public void onStatusChanged(int which) {
updateShouldRunDecision();
}
};
public interface OnRunConditionChangedListener { public interface OnRunConditionChangedListener {
void onRunConditionChanged(boolean shouldRun); void onRunConditionChanged(boolean shouldRun);
} }
@ -80,12 +94,20 @@ public class RunConditionMonitor {
new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)); new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
} }
// SyncStatusObserver to monitor android's "AutoSync" quick toggle.
mSyncStatusObserverHandle = ContentResolver.addStatusChangeListener(
ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS, mSyncStatusObserver);
// Initially determine if syncthing should run under current circumstances. // Initially determine if syncthing should run under current circumstances.
updateShouldRunDecision(); updateShouldRunDecision();
} }
public void shutdown() { public void shutdown() {
Log.v(TAG, "Shutting down"); Log.v(TAG, "Shutting down");
if (mSyncStatusObserverHandle != null) {
ContentResolver.removeStatusChangeListener(mSyncStatusObserverHandle);
mSyncStatusObserverHandle = null;
}
mReceiverManager.unregisterAllReceivers(mContext); mReceiverManager.unregisterAllReceivers(mContext);
} }
@ -134,64 +156,106 @@ public class RunConditionMonitor {
*/ */
private boolean decideShouldRun() { private boolean decideShouldRun() {
// Get run conditions preferences. // Get run conditions preferences.
boolean prefAlwaysRunInBackground = mPreferences.getBoolean(Constants.PREF_ALWAYS_RUN_IN_BACKGROUND, false); boolean prefRunOnMobileData= mPreferences.getBoolean(Constants.PREF_RUN_ON_MOBILE_DATA, false);
boolean prefRespectPowerSaving = mPreferences.getBoolean(Constants.PREF_RESPECT_BATTERY_SAVING, true); boolean prefRunOnWifi= mPreferences.getBoolean(Constants.PREF_RUN_ON_WIFI, true);
boolean prefRunOnlyOnWifi= mPreferences.getBoolean(Constants.PREF_SYNC_ONLY_WIFI, false); boolean prefRunOnMeteredWifi= mPreferences.getBoolean(Constants.PREF_RUN_ON_METERED_WIFI, false);
boolean prefRunOnlyWhenCharging = mPreferences.getBoolean(Constants.PREF_SYNC_ONLY_CHARGING, false); Set<String> whitelistedWifiSsids = mPreferences.getStringSet(Constants.PREF_WIFI_SSID_WHITELIST, new HashSet<>());
Set<String> whitelistedWifiSsids = mPreferences.getStringSet(Constants.PREF_SYNC_ONLY_WIFI_SSIDS, new HashSet<>());
boolean prefWifiWhitelistEnabled = !whitelistedWifiSsids.isEmpty(); boolean prefWifiWhitelistEnabled = !whitelistedWifiSsids.isEmpty();
boolean prefRunInFlightMode = mPreferences.getBoolean(Constants.PREF_RUN_IN_FLIGHT_MODE, false);
String prefPowerSource = mPreferences.getString(Constants.PREF_POWER_SOURCE, POWER_SOURCE_AC_BATTERY);
boolean prefRespectPowerSaving = mPreferences.getBoolean(Constants.PREF_RESPECT_BATTERY_SAVING, true);
boolean prefRespectMasterSync = mPreferences.getBoolean(Constants.PREF_RESPECT_MASTER_SYNC, false);
// PREF_POWER_SOURCE
switch (prefPowerSource) {
case POWER_SOURCE_AC:
if (!isOnAcPower()) {
Log.v(TAG, "decideShouldRun: POWER_SOURCE_AC && !isOnAcPower");
return false;
}
break;
case POWER_SOURCE_BATTERY:
if (isOnAcPower()) {
Log.v(TAG, "decideShouldRun: POWER_SOURCE_BATTERY && isOnAcPower");
return false;
}
break;
case POWER_SOURCE_AC_BATTERY:
default:
break;
}
// Power saving // Power saving
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (prefRespectPowerSaving && isPowerSaving()) { if (prefRespectPowerSaving && isPowerSaving()) {
Log.v(TAG, "decideShouldRun: prefRespectPowerSaving && isPowerSaving");
return false; return false;
} }
} }
// Always run in background // Android global AutoSync setting.
if (!prefAlwaysRunInBackground) { if (prefRespectMasterSync && !ContentResolver.getMasterSyncAutomatically()) {
/** Log.v(TAG, "decideShouldRun: prefRespectMasterSync && !getMasterSyncAutomatically");
* User did not specify run conditions in the options. return false;
* The app is displaying a foreground activity and syncthing should run. }
*/
Log.v(TAG, "decideShouldRun: !prefAlwaysRunInBackground"); // Run on mobile data.
if (prefRunOnMobileData && isMobileDataConnection()) {
Log.v(TAG, "decideShouldRun: prefRunOnMobileData && isMobileDataConnection");
return true; return true;
} }
// Run only when charging. // Run on wifi.
if (prefRunOnlyWhenCharging && !isCharging()) { if (prefRunOnWifi && isWifiOrEthernetConnection()) {
Log.v(TAG, "decideShouldRun: prefRunOnlyWhenCharging && !isCharging"); if (prefRunOnMeteredWifi) {
return false; // We are on non-metered or metered wifi. Check if wifi whitelist run condition is met.
if (wifiWhitelistConditionMet(prefWifiWhitelistEnabled, whitelistedWifiSsids)) {
Log.v(TAG, "decideShouldRun: prefRunOnWifi && isWifiOrEthernetConnection && prefRunOnMeteredWifi && wifiWhitelistConditionMet");
return true;
}
} else {
// Check if we are on a non-metered wifi and if wifi whitelist run condition is met.
if (!isMeteredNetworkConnection() && wifiWhitelistConditionMet(prefWifiWhitelistEnabled, whitelistedWifiSsids)) {
Log.v(TAG, "decideShouldRun: prefRunOnWifi && isWifiOrEthernetConnection && !prefRunOnMeteredWifi && !isMeteredNetworkConnection && wifiWhitelistConditionMet");
return true;
}
}
} }
// Run only on wifi. // Run in flight mode.
if (prefRunOnlyOnWifi && !isWifiOrEthernetConnection()) { if (prefRunInFlightMode && isFlightMode()) {
// Not on wifi. Log.v(TAG, "decideShouldRun: prefRunInFlightMode && isFlightMode");
Log.v(TAG, "decideShouldRun: prefRunOnlyOnWifi && !isWifiOrEthernetConnection"); return true;
return false;
}
// Run only on whitelisted wifi ssids.
if (prefRunOnlyOnWifi && prefWifiWhitelistEnabled) {
// Wifi connection detected. Wifi ssid whitelist enabled.
Log.v(TAG, "decideShouldRun: prefRunOnlyOnWifi && prefWifiWhitelistEnabled");
return isWifiConnectionWhitelisted(whitelistedWifiSsids);
} }
/** /**
* Respect power saving, device is not in power-save mode. * If none of the above run conditions matched, don't run.
* Always run in background is the only pref that is enabled.
* Run only when charging, charging.
* Run only on wifi, wifi connection detected, wifi ssid whitelist disabled.
*/ */
Log.v(TAG, "decideShouldRun: return true"); Log.v(TAG, "decideShouldRun: return false");
return false;
}
/**
* Return whether the wifi whitelist run condition is met.
* Precondition: An active wifi connection has been detected.
*/
private boolean wifiWhitelistConditionMet(boolean prefWifiWhitelistEnabled,
Set<String> whitelistedWifiSsids) {
if (!prefWifiWhitelistEnabled) {
Log.v(TAG, "handleWifiWhitelist: !prefWifiWhitelistEnabled");
return true; return true;
} }
if (isWifiConnectionWhitelisted(whitelistedWifiSsids)) {
Log.v(TAG, "handleWifiWhitelist: isWifiConnectionWhitelisted");
return true;
}
return false;
}
/** /**
* Functions for run condition information retrieval. * Functions for run condition information retrieval.
*/ */
private boolean isCharging() { private boolean isOnAcPower() {
Intent batteryIntent = mContext.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); Intent batteryIntent = mContext.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1); int status = batteryIntent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
return status == BatteryManager.BATTERY_STATUS_CHARGING || return status == BatteryManager.BATTERY_STATUS_CHARGING ||
@ -212,6 +276,48 @@ public class RunConditionMonitor {
return powerManager.isPowerSaveMode(); return powerManager.isPowerSaveMode();
} }
private boolean isFlightMode() {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni == null;
}
private boolean isMeteredNetworkConnection() {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// In flight mode.
return false;
}
if (!ni.isConnected()) {
// No network connection.
return false;
}
return cm.isActiveNetworkMetered();
}
private boolean isMobileDataConnection() {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// In flight mode.
return false;
}
if (!ni.isConnected()) {
// No network connection.
return false;
}
switch (ni.getType()) {
case ConnectivityManager.TYPE_BLUETOOTH:
case ConnectivityManager.TYPE_MOBILE:
case ConnectivityManager.TYPE_MOBILE_DUN:
case ConnectivityManager.TYPE_MOBILE_HIPRI:
return true;
default:
return false;
}
}
private boolean isWifiOrEthernetConnection() { private boolean isWifiOrEthernetConnection() {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo(); NetworkInfo ni = cm.getActiveNetworkInfo();

View file

@ -149,12 +149,8 @@
<string name="category_backup">Резервно копие</string> <string name="category_backup">Резервно копие</string>
<string name="category_debug">Дебъг</string> <string name="category_debug">Дебъг</string>
<string name="category_experimental">Експериментални</string> <string name="category_experimental">Експериментални</string>
<string name="always_run_in_background">Постоянна работа на заден план</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Постоянно синхронизиране, според следващите опции.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Синхронизиране само след стартиране на Syncthing. Може бъде спряно от меню бутона \"Изход\".</string>
<string name="sync_only_wifi_ssids">Ограничаване до определени WiFi мрежи</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">За да изберете мрежа, моля включете WiFi</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">За да изберете мрежа, моля включете WiFi</string>
<string name="advanced_folder_picker">Избор на папка, за напреднали</string> <string name="advanced_folder_picker">Избор на папка, за напреднали</string>
<string name="advanced_folder_picker_summary">Изберете папка, от устройството, за синхронизиране</string> <string name="advanced_folder_picker_summary">Изберете папка, от устройството, за синхронизиране</string>

View file

@ -167,14 +167,8 @@ Ens podeu informar dels problemes que trobeu a través de Github.</string>
<string name="category_backup">Còpia de seguretat</string> <string name="category_backup">Còpia de seguretat</string>
<string name="category_debug">Depuració</string> <string name="category_debug">Depuració</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Executa sempre en segon pla</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">El Syncthing s\'executa contínuament en segon pla i seguint les preferències indicades a sota.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">El Syncthing només s\'executa quan l\'inicieu manualment, i es pot aturar amb el botó del menú.</string>
<string name="sync_only_charging">Executa només durant la càrrega</string>
<string name="sync_only_wifi">Executa només amb wifi</string>
<string name="sync_only_wifi_ssids">Restringeix a xarxes wifi concretes</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Enceneu el WiFi per seleccionar xarxes.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Enceneu el WiFi per seleccionar xarxes.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Heu de proporcionar el permís d\'UBICACIÓ per poder fer això.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Heu de proporcionar el permís d\'UBICACIÓ per poder fer això.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Calen permisos</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Calen permisos</string>

View file

@ -163,14 +163,8 @@ Všechny zaznamenané chyby prosím hlašte přes Github.</string>
<string name="category_backup">Záloha</string> <string name="category_backup">Záloha</string>
<string name="category_debug">Ladění</string> <string name="category_debug">Ladění</string>
<string name="category_experimental">Experimentální</string> <string name="category_experimental">Experimentální</string>
<string name="always_run_in_background">Vždy spuštěné na pozadí</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing poběží vždy v pozadí, podle nastavení níže.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing poběží pouze pokud bude ručně spuštěn a může být ukončen tlačítkem z menu.</string>
<string name="sync_only_charging">Spustit pouze při nabíjení</string>
<string name="sync_only_wifi">Spustit pouze na wifi</string>
<string name="sync_only_wifi_ssids">Omezit na vybrané sítě wifi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Pro výběr sítí prosím zapněte WiFi.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Pro výběr sítí prosím zapněte WiFi.</string>
<string name="respect_battery_saving_title">Dodržovat nastavení úspory baterie z Androidu</string> <string name="respect_battery_saving_title">Dodržovat nastavení úspory baterie z Androidu</string>
<string name="respect_battery_saving_summary">Vypnout Syncthing pokud je aktivní režim úspory baterie</string> <string name="respect_battery_saving_summary">Vypnout Syncthing pokud je aktivní režim úspory baterie</string>

View file

@ -159,14 +159,8 @@ Vær venlig at rapportere ethvert problem, du støder på, via Github. </string>
<string name="category_backup">Backup</string> <string name="category_backup">Backup</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Eksperimentalt</string> <string name="category_experimental">Eksperimentalt</string>
<string name="always_run_in_background">Kør altid i baggrunden</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing kører altid i baggrunden, ifølge nedenstående indstillinger.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing kører kun hvis eksplicit staret og kan stoppes gennem menu knappen.</string>
<string name="sync_only_charging">Synkronisér kun under opladning</string>
<string name="sync_only_wifi">Synkronisér kun gennem WiFi</string>
<string name="sync_only_wifi_ssids">Begræns til specifikke netværk</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Vær venlig at slukke WiFi for at vælge netværk.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Vær venlig at slukke WiFi for at vælge netværk.</string>
<string name="respect_battery_saving_title">Respekter Android battery saving indstillinger</string> <string name="respect_battery_saving_title">Respekter Android battery saving indstillinger</string>
<string name="respect_battery_saving_summary">Deaktiver Syncthing hvis battery saving er aktiv</string> <string name="respect_battery_saving_summary">Deaktiver Syncthing hvis battery saving er aktiv</string>

View file

@ -175,14 +175,8 @@ Bitte melden Sie auftretende Probleme via GitHub.</string>
<string name="category_backup">Datensicherung</string> <string name="category_backup">Datensicherung</string>
<string name="category_debug">Fehleranalyse</string> <string name="category_debug">Fehleranalyse</string>
<string name="category_experimental">Experimentell</string> <string name="category_experimental">Experimentell</string>
<string name="always_run_in_background">Immer im Hintergrund ausführen</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing läuft immer im Hintergrund, entsprechend den untenstehenden Einstellungen.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing läuft nur wenn es explizit gestartet wird und kann über das Menü gestoppt werden. </string>
<string name="sync_only_charging">Nur beim Aufladen aktiv</string>
<string name="sync_only_wifi">Nur mit WLAN aktiv</string>
<string name="sync_only_wifi_ssids">Nur in bestimmten WLAN Netzwerken</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Bitte WLAN aktivieren, um eines zu wählen.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Bitte WLAN aktivieren, um eines zu wählen.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Bitte gewähre die Standort-Berechtigung, um diese Funktion nutzen zu können.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Bitte gewähre die Standort-Berechtigung, um diese Funktion nutzen zu können.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Berechtigung benötigt</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Berechtigung benötigt</string>

View file

@ -160,14 +160,8 @@
<string name="category_backup">Αντίγραφο ασφαλείας</string> <string name="category_backup">Αντίγραφο ασφαλείας</string>
<string name="category_debug">Αποσφαλμάτωση</string> <string name="category_debug">Αποσφαλμάτωση</string>
<string name="category_experimental">Πειραματικά</string> <string name="category_experimental">Πειραματικά</string>
<string name="always_run_in_background">Να εκτελείται πάντα στο παρασκήνιο</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Το Syncthing θα εκτελείται συνεχώς στο παρασκήνιο σύμφωνα με τις παρακάτω ρυθμίσεις.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Το Syncthing θα εκτελείται μόνο αν εκκινηθεί από τον χρήστη και μπορεί να τερματιστεί από το κουμπί του μενού.</string>
<string name="sync_only_charging">Εκτέλεση μόνο κατά τη φόρτιση</string>
<string name="sync_only_wifi">Εκτέλεση μόνο μέσω WiFi</string>
<string name="sync_only_wifi_ssids">Περιορισμός σε συγκεκριμένα δίκτυα WiFi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Παρακαλώ ενεργοποιήστε το WiFi για να επιλέξετε δίκτυα.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Παρακαλώ ενεργοποιήστε το WiFi για να επιλέξετε δίκτυα.</string>
<string name="respect_battery_saving_title">Υπακοή στη ρύθμιση εξοικονόμησης ενέργειας του Android</string> <string name="respect_battery_saving_title">Υπακοή στη ρύθμιση εξοικονόμησης ενέργειας του Android</string>
<string name="respect_battery_saving_summary">Απενεργοποίηση του Syncthing όταν είναι ενεργή η λειτουργία εξοικονόμησης ενέργειας</string> <string name="respect_battery_saving_summary">Απενεργοποίηση του Syncthing όταν είναι ενεργή η λειτουργία εξοικονόμησης ενέργειας</string>

View file

@ -135,12 +135,8 @@
<string name="settings_title">Configuración</string> <string name="settings_title">Configuración</string>
<string name="category_syncthing_options">Opciones de Syncthing</string> <string name="category_syncthing_options">Opciones de Syncthing</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Siempre ejecutar en el fondo</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing siempre se ejecuta en el fondo, de acuerdo a las preferencias debajo.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing sólo se ejecuta cuando es explícitamente iniciado, y puede ser detenido usando el botón en el menú.</string>
<string name="sync_only_wifi_ssids">Restringir a ciertas redes wifi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Por favor encienda el WiFi para seleccionar redes.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Por favor encienda el WiFi para seleccionar redes.</string>
<string name="advanced_folder_picker">Usar el avanzado Seleccionador de Carpetas</string> <string name="advanced_folder_picker">Usar el avanzado Seleccionador de Carpetas</string>
<string name="advanced_folder_picker_summary">Seleccionar cualquier carpeta en el dispositivo para sincronizar</string> <string name="advanced_folder_picker_summary">Seleccionar cualquier carpeta en el dispositivo para sincronizar</string>

View file

@ -149,12 +149,8 @@
<string name="category_backup">Copia de seguridad</string> <string name="category_backup">Copia de seguridad</string>
<string name="category_debug">Depuración</string> <string name="category_debug">Depuración</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Ejecutar siempre en segundo plano</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing se ejecutará siempre en segundo plano, de acuerdo a la siguiente configuración.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing sólo se ejecutará cuando se inicie explícitamente, y puede ser detenido por el botón de menú.</string>
<string name="sync_only_wifi_ssids">Restringir a determinadas redes wifi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Por favor enciende el wifi para seleccionar redes.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Por favor enciende el wifi para seleccionar redes.</string>
<string name="respect_battery_saving_title">Respeta la configuración de ahorro de batería de Android</string> <string name="respect_battery_saving_title">Respeta la configuración de ahorro de batería de Android</string>
<string name="respect_battery_saving_summary">Desactivar sincronización si el ahorro de batería está activo</string> <string name="respect_battery_saving_summary">Desactivar sincronización si el ahorro de batería está activo</string>

View file

@ -160,14 +160,8 @@ Ilmoitathan ystävällisesti kaikista havaitsemistasi ongelmista Githubin kautta
<string name="category_backup">Varmuuskopio</string> <string name="category_backup">Varmuuskopio</string>
<string name="category_debug">Vianhaku</string> <string name="category_debug">Vianhaku</string>
<string name="category_experimental">Kokeellinen</string> <string name="category_experimental">Kokeellinen</string>
<string name="always_run_in_background">Aja aina taustalla</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Synthing ajetaan aina taustalla alla olevien asetusten mukaan.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing käy vain kun se on erikseen käynnistetty, ja se voidaan sammuttaa valikon painikkeella.</string>
<string name="sync_only_charging">Aja ainoastaan latauksen aikana</string>
<string name="sync_only_wifi">Aja ainoastaan Wifi-yhteydellä</string>
<string name="sync_only_wifi_ssids">Rajoita tiettyihin Wifi-verkkoihin</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Laita Wifi päälle valitaksesi verkkoja.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Laita Wifi päälle valitaksesi verkkoja.</string>
<string name="respect_battery_saving_title">Noudata Androidin virransäästöasetusta</string> <string name="respect_battery_saving_title">Noudata Androidin virransäästöasetusta</string>
<string name="respect_battery_saving_summary">Poista Syncthing käytöstä jos virransäästö on käytössä</string> <string name="respect_battery_saving_summary">Poista Syncthing käytöstä jos virransäästö on käytössä</string>

View file

@ -168,14 +168,8 @@ S\'il vous plaît, soumettez les problèmes que vous rencontrez via Github.</str
<string name="category_backup">Sauvegarde</string> <string name="category_backup">Sauvegarde</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Expérimental</string> <string name="category_experimental">Expérimental</string>
<string name="always_run_in_background">Fonctionner en tâche de fond.</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing continue à fonctionner en tâche de fond, selon les réglages dans les paramètres.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing ne fonctionne que si vous le lancez manuellement, et s\'arrête par le bouton quitter.</string>
<string name="sync_only_charging">Exécuter uniquement si branché en recharge</string>
<string name="sync_only_wifi">Exécuter uniquement en WiFi</string>
<string name="sync_only_wifi_ssids">Limiter à certains réseaux WiFi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Veuillez activer le WiFi pour sélectionner un réseau</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Veuillez activer le WiFi pour sélectionner un réseau</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Vous devez accorder la permission LOCALISATION pour utiliser cette fonctionnalité.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Vous devez accorder la permission LOCALISATION pour utiliser cette fonctionnalité.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permission requise</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permission requise</string>

View file

@ -173,14 +173,8 @@ Néhány eszközön extra alkalmazás-leállító alkalmazást telepített fel a
<string name="category_backup">Biztonsági mentés</string> <string name="category_backup">Biztonsági mentés</string>
<string name="category_debug">Hibakeresés</string> <string name="category_debug">Hibakeresés</string>
<string name="category_experimental">Kísérleti</string> <string name="category_experimental">Kísérleti</string>
<string name="always_run_in_background">Mindig fusson a háttérben</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">A Syncthing folyamatosan fut a háttérben, a lenti beállításoknak megfelelően.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">A Syncthing csak kifejezett kérésre indul, melyet a menüből le lehet állítani.</string>
<string name="sync_only_charging">Csak töltés közben fusson</string>
<string name="sync_only_wifi">Csak wifi hálózat esetén fusson</string>
<string name="sync_only_wifi_ssids">Korlátozás bizonyos wifi hálózatokra</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Hálózat választásához kapcsold be a WiFit.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Hálózat választásához kapcsold be a WiFit.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">A funkció használatához engedélyezni kell a hozzáférést a földrajzi helyhez</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">A funkció használatához engedélyezni kell a hozzáférést a földrajzi helyhez</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Hozzáférés szükséges</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Hozzáférés szükséges</string>

View file

@ -157,14 +157,8 @@ Jika ada masalah silakan laporkan lewat Github.</string>
<string name="category_backup">Backup</string> <string name="category_backup">Backup</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Ujicoba</string> <string name="category_experimental">Ujicoba</string>
<string name="always_run_in_background">Sellau jalankan di background</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing selalu berjalan di background, menurut pengaturan di bawah.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing hanya berjalan jika diaktifkan, dan bisa dihentikan lewat tombol menu.</string>
<string name="sync_only_charging">Jalankan hanya saat mengisi baterai</string>
<string name="sync_only_wifi">Jalankan hanya saat menggunakan wifi</string>
<string name="sync_only_wifi_ssids">Batasi pada jaringan wifi tertentu</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Mohon aktifkan WiFi untuk memilih jaringan.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Mohon aktifkan WiFi untuk memilih jaringan.</string>
<string name="respect_battery_saving_title">Ikuti pengaturan penghematan baterai Android</string> <string name="respect_battery_saving_title">Ikuti pengaturan penghematan baterai Android</string>
<string name="respect_battery_saving_summary">Matikan Syncthing jika penghematan baterai sedang aktif</string> <string name="respect_battery_saving_summary">Matikan Syncthing jika penghematan baterai sedang aktif</string>

View file

@ -168,14 +168,8 @@ Si prega di segnalare eventuali problemi che si incontrano via Github.</string>
<string name="category_backup">Backup</string> <string name="category_backup">Backup</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Sperimentale</string> <string name="category_experimental">Sperimentale</string>
<string name="always_run_in_background">Esegui sempre in background</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing è sempre in esecuzione in modalità background.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing si attiva solo quando viene avviato manualmente e si arresta utilizzando il pulsante del menu.</string>
<string name="sync_only_charging">Esegui solo quando in carica</string>
<string name="sync_only_wifi">Esegui solo con wifi</string>
<string name="sync_only_wifi_ssids">Solo determinate reti wifi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Si prega di attivare il WiFi per selezionare le reti.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Si prega di attivare il WiFi per selezionare le reti.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">È necessario concedere l\'autorizzazione alla LOCALIZZAZIONE per utilizzare questa funzione.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">È necessario concedere l\'autorizzazione alla LOCALIZZAZIONE per utilizzare questa funzione.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Autorizzazione richiesta</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Autorizzazione richiesta</string>

View file

@ -160,14 +160,8 @@
<string name="category_backup">バックアップ</string> <string name="category_backup">バックアップ</string>
<string name="category_debug">デバッグ</string> <string name="category_debug">デバッグ</string>
<string name="category_experimental">実験的</string> <string name="category_experimental">実験的</string>
<string name="always_run_in_background">常にバックグラウンドで実行</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">以下の設定に応じて常にバックグラウンドで実行されます。</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">明示的に開始したときのみ同期を実行し、メニューから停止することができます。</string>
<string name="sync_only_charging">充電中のみ実行</string>
<string name="sync_only_wifi">Wi-Fi 接続時のみ実行</string>
<string name="sync_only_wifi_ssids">特定の Wi-Fi ネットワークに制限する</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">ネットワークを選択するために Wi-Fi をオンにしてください。</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">ネットワークを選択するために Wi-Fi をオンにしてください。</string>
<string name="respect_battery_saving_title">Android の節電設定に従う</string> <string name="respect_battery_saving_title">Android の節電設定に従う</string>
<string name="respect_battery_saving_summary">バッテリー節約が有効な場合は、Syncthing を無効にします</string> <string name="respect_battery_saving_summary">バッテリー節約が有効な場合は、Syncthing を無効にします</string>

View file

@ -159,14 +159,8 @@
<string name="category_backup">백업</string> <string name="category_backup">백업</string>
<string name="category_debug">디버그</string> <string name="category_debug">디버그</string>
<string name="category_experimental">실험적인 기능</string> <string name="category_experimental">실험적인 기능</string>
<string name="always_run_in_background">백그라운드에서 항상 실행</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing이 항상 백그라운드에서 실행되도록, 다음의 설정을 변경할 수 있습니다.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing은 제대로 시작된 경우에만 작동하며, 메뉴 버튼을 눌러 정지할 수 있습니다.</string>
<string name="sync_only_charging">충전시에만 작동</string>
<string name="sync_only_wifi">WiFi에서만 작동</string>
<string name="sync_only_wifi_ssids">특정 WI-FI 네트워크로 제한하기</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">WI-FI를 활성화하고 네트워크를 선택해주세요.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">WI-FI를 활성화하고 네트워크를 선택해주세요.</string>
<string name="respect_battery_saving_title">안드로이드 배터리 절약 설정 우선</string> <string name="respect_battery_saving_title">안드로이드 배터리 절약 설정 우선</string>
<string name="respect_battery_saving_summary">배터리 절약 기능이 작동중인 경우 Syncthing 비활성화</string> <string name="respect_battery_saving_summary">배터리 절약 기능이 작동중인 경우 Syncthing 비활성화</string>

View file

@ -136,12 +136,8 @@
<string name="settings_title">Innstillinger</string> <string name="settings_title">Innstillinger</string>
<string name="category_syncthing_options">Valg for Syncthing</string> <string name="category_syncthing_options">Valg for Syncthing</string>
<string name="category_experimental">Eksperimentelt</string> <string name="category_experimental">Eksperimentelt</string>
<string name="always_run_in_background">Kjør alltid i bakgrunnen</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing kjører alltid i bakgrunnen, i henhold til valgene nedenfor.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing kjører bare når eksplisitt startet, og kan stoppes med meny-knappen.</string>
<string name="sync_only_wifi_ssids">Begrens til visse wifi-nettverk</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Vennligst skru på WiFi for å velge nettverk.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Vennligst skru på WiFi for å velge nettverk.</string>
<string name="advanced_folder_picker">Bruk avansert mappevelger</string> <string name="advanced_folder_picker">Bruk avansert mappevelger</string>
<string name="advanced_folder_picker_summary">Velg en mappe på enheten for synkronisering</string> <string name="advanced_folder_picker_summary">Velg en mappe på enheten for synkronisering</string>

View file

@ -168,14 +168,8 @@ Als je problemen tegenkomt, meld ze dan via GitHub.</string>
<string name="category_backup">Back-up</string> <string name="category_backup">Back-up</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Experimenteel</string> <string name="category_experimental">Experimenteel</string>
<string name="always_run_in_background">Altijd draaien in achtergrond</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing draait altijd in de achtergrond, volgens de hieronder weergegeven voorkeuren.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing draait enkel wanneer expliciet gestart, en kan gestopt worden door de menu-knop.</string>
<string name="sync_only_charging">Enkel uitvoeren tijdens opladen</string>
<string name="sync_only_wifi">Enkel uitvoeren via wifi</string>
<string name="sync_only_wifi_ssids">Beperken tot bepaalde wifinetwerken</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Schakel wifi in om netwerken te selecteren.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Schakel wifi in om netwerken te selecteren.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Geef de LOCATIE-toestemming om deze functie te gebruiken.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Geef de LOCATIE-toestemming om deze functie te gebruiken.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Toestemming vereist</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Toestemming vereist</string>

View file

@ -136,12 +136,8 @@
<string name="settings_title">Innstillingar</string> <string name="settings_title">Innstillingar</string>
<string name="category_syncthing_options">Syncthing-innstillingar</string> <string name="category_syncthing_options">Syncthing-innstillingar</string>
<string name="category_experimental">Eksperiment</string> <string name="category_experimental">Eksperiment</string>
<string name="always_run_in_background">Køyr alltid i bakgrunnen</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing køyrer alltid i bakgrunnen, i tråd med innstillingane under.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing køyrer berre når ho blir uttrykkeleg starta, og kan bli stoppa frå menyen.</string>
<string name="sync_only_wifi_ssids">Avgrens til visse WiFi-nettverk</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Skru på WiFi for å velje nettverk.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Skru på WiFi for å velje nettverk.</string>
<string name="advanced_folder_picker">Bruk avansert mappeveljar</string> <string name="advanced_folder_picker">Bruk avansert mappeveljar</string>
<string name="advanced_folder_picker_summary">Vel kva mappe som helst for synkronisering</string> <string name="advanced_folder_picker_summary">Vel kva mappe som helst for synkronisering</string>

View file

@ -163,14 +163,8 @@ Proszę zgłaszać napotkane błędy programu za pośrednictwem serwisu Github.<
<string name="category_backup">Kopia zapasowa</string> <string name="category_backup">Kopia zapasowa</string>
<string name="category_debug">Diagnozowanie błędów</string> <string name="category_debug">Diagnozowanie błędów</string>
<string name="category_experimental">Eksperymentalne</string> <string name="category_experimental">Eksperymentalne</string>
<string name="always_run_in_background">Działanie w tle</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Uruchamia program w tle zgodnie z poniższymi preferencjami</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Uruchamia program ręcznie i kończy jego działanie przyciskiem w menu</string>
<string name="sync_only_charging">Działaj tylko w trakcie ładowania</string>
<string name="sync_only_wifi">Synchronizuj tylko przez WiFi</string>
<string name="sync_only_wifi_ssids">Ogranicz do określonych sieci WiFi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Proszę włącz WiFi dla wybranych sieci</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Proszę włącz WiFi dla wybranych sieci</string>
<string name="respect_battery_saving_title">Respektuj ustawienia oszczędzania energii Androida</string> <string name="respect_battery_saving_title">Respektuj ustawienia oszczędzania energii Androida</string>
<string name="respect_battery_saving_summary">Wyłącz Syncthing, jeśli włączone jest oszczędzanie energii</string> <string name="respect_battery_saving_summary">Wyłącz Syncthing, jeśli włączone jest oszczędzanie energii</string>

View file

@ -168,14 +168,8 @@ Por favor, nos avise sobre quaisquer problemas que você encontrar via Github.</
<string name="category_backup">Backup</string> <string name="category_backup">Backup</string>
<string name="category_debug">Depuração</string> <string name="category_debug">Depuração</string>
<string name="category_experimental">Configurações experimentais</string> <string name="category_experimental">Configurações experimentais</string>
<string name="always_run_in_background">Sempre rodar em segundo plano</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">O Syncthing sempre rodará em segundo plano de acordo com as preferências abaixo.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">O Syncthing sempre rodará quando iniciado manualmente e pode ser parado pelo botão de menu.</string>
<string name="sync_only_charging">Rodar somente durante a carga do aparelho</string>
<string name="sync_only_wifi">Rodar somente com o aparelho conectado ao Wi-Fi</string>
<string name="sync_only_wifi_ssids">Limitar a certas redes WiFi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ligue o WiFi para selecionar as redes</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ligue o WiFi para selecionar as redes</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Você precisa dar permissão de localização para usar esse recurso.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Você precisa dar permissão de localização para usar esse recurso.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permissão requerida</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permissão requerida</string>

View file

@ -152,12 +152,8 @@ Reporte, através do Github, quaisquer problemas que encontre, por favor.</strin
<string name="category_backup">Cópia de segurança</string> <string name="category_backup">Cópia de segurança</string>
<string name="category_debug">Depuração</string> <string name="category_debug">Depuração</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Correr sempre em segundo plano</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing corre sempre em segundo plano, de acordo com as preferências abaixo.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing apenas corre quando iniciado explicitamente e pode ser parado com o botão do menu.</string>
<string name="sync_only_wifi_ssids">Restringir a certas redes wifi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ligue o WiFi para seleccionar redes.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ligue o WiFi para seleccionar redes.</string>
<string name="advanced_folder_picker">Usar selector de pasta avançado</string> <string name="advanced_folder_picker">Usar selector de pasta avançado</string>
<string name="advanced_folder_picker_summary">Seleccione qualquer pasta no dispositivo para sincronizar</string> <string name="advanced_folder_picker_summary">Seleccione qualquer pasta no dispositivo para sincronizar</string>

View file

@ -176,14 +176,8 @@ Vă rugăm să raportați orice problemă întâlniți, prin intermediul GitHub.
<string name="category_backup">Copie de rezervă</string> <string name="category_backup">Copie de rezervă</string>
<string name="category_debug">Depanare</string> <string name="category_debug">Depanare</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Rulează mereu în fundal</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing v-a rula mereu în fundal, conform setării de mai jos.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing v-a rula doar când e pornit explicit și poate fi oprit din buton din meniu.</string>
<string name="sync_only_charging">Rulează numai când se încarcă</string>
<string name="sync_only_wifi">Rulează numai prin Wi-Fi</string>
<string name="sync_only_wifi_ssids">Restricționează la anumite rețele Wi-Fi</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">VA rugăm să activați Wi-Fi pentru a selecta rețelele.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">VA rugăm să activați Wi-Fi pentru a selecta rețelele.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Trebuie să permiteți accesul la LOCAȚIE pentru a putea folosi această caracteristică.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Trebuie să permiteți accesul la LOCAȚIE pentru a putea folosi această caracteristică.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Necesită permisiunea</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Necesită permisiunea</string>

View file

@ -170,14 +170,8 @@
<string name="category_backup">Резервная копия</string> <string name="category_backup">Резервная копия</string>
<string name="category_debug">Отладка</string> <string name="category_debug">Отладка</string>
<string name="category_experimental">Экспериментальное</string> <string name="category_experimental">Экспериментальное</string>
<string name="always_run_in_background">Фоновый режим</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Автозапуск при перезагрузке устройства и работа в фоне</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing работает только когда запущен специально и может быть остановлен кнопкой в меню.</string>
<string name="sync_only_charging">Синхронизация только во время зарядки</string>
<string name="sync_only_wifi">Синхронизация только по Wi-Fi</string>
<string name="sync_only_wifi_ssids">Ограничить определёнными wifi сетями</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Включите WiFi, чтобы выбрать сети</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Включите WiFi, чтобы выбрать сети</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Вы должны разрешить позиционирование для использования данной функции</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Вы должны разрешить позиционирование для использования данной функции</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Требуется разрешение</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Требуется разрешение</string>

View file

@ -129,11 +129,8 @@
<!--SettingsFragment--> <!--SettingsFragment-->
<string name="settings_title">Nastavenia</string> <string name="settings_title">Nastavenia</string>
<string name="category_syncthing_options">Nastavenia Syncthing</string> <string name="category_syncthing_options">Nastavenia Syncthing</string>
<string name="always_run_in_background">Vždy bežať na pozadí</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing vždy beží na pozadí, podla nasledovných nastavení.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing beží len ak je ručne spustené a môže byť vypnuté pomocou tlačítka v menu.</string>
<string name="advanced_folder_picker">Použiť rozšírený dialóg pre volbu adresára</string> <string name="advanced_folder_picker">Použiť rozšírený dialóg pre volbu adresára</string>
<string name="advanced_folder_picker_summary">Vyberte ľubovolný adresár pre synchronizáciu</string> <string name="advanced_folder_picker_summary">Vyberte ľubovolný adresár pre synchronizáciu</string>
<string name="use_root_title">Spúšťať Syncthing s root oprávneniami</string> <string name="use_root_title">Spúšťať Syncthing s root oprávneniami</string>

View file

@ -168,14 +168,8 @@ Vänligen rapportera eventuella problem du stöter på via Github.</string>
<string name="category_backup">Säkerhetskopiera</string> <string name="category_backup">Säkerhetskopiera</string>
<string name="category_debug">Felsök</string> <string name="category_debug">Felsök</string>
<string name="category_experimental">Experimentell</string> <string name="category_experimental">Experimentell</string>
<string name="always_run_in_background">Kör alltid i bakgrunden</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing körs alltid i bakgrunden, enligt inställningar nedan.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing körs bara när den uttryckligen har startats, och kan stoppas genom menyknapp.</string>
<string name="sync_only_charging">Kör endast vid laddning</string>
<string name="sync_only_wifi">Kör endast på wifi</string>
<string name="sync_only_wifi_ssids">Begränsa till vissa wifi-nätverk</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Slå på wifi för att välja nätverk.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Slå på wifi för att välja nätverk.</string>
<string name="sync_only_wifi_ssids_need_to_grant_location_permission">Du måste ge tillstånd för PLATS för att använda den här funktionen.</string> <string name="sync_only_wifi_ssids_need_to_grant_location_permission">Du måste ge tillstånd för PLATS för att använda den här funktionen.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Behörighet krävs</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Behörighet krävs</string>

View file

@ -151,12 +151,8 @@ Eğer herhangi bir sorunla karşılaşırsan Github aracılığıyla bildir.</st
<string name="category_backup">Yedekleme</string> <string name="category_backup">Yedekleme</string>
<string name="category_debug">Hata ayıklama</string> <string name="category_debug">Hata ayıklama</string>
<string name="category_experimental">Deneysel</string> <string name="category_experimental">Deneysel</string>
<string name="always_run_in_background">Her zaman arka planda çalış</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing, her zaman aşağıdaki tercihlere göre arka planda çalışır.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing, yalnızca doğrudan başlatıldığında çalışır ve menü tuşu tarafından durdurulur.</string>
<string name="sync_only_wifi_ssids">Belirlenmiş kablosuz ağlarla sınırlandır</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ağ seçmek için lütfen kablosuz bağlantınızıın.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Ağ seçmek için lütfen kablosuz bağlantınızıın.</string>
<string name="advanced_folder_picker">Gelişmiş Klasör Seçici kullan</string> <string name="advanced_folder_picker">Gelişmiş Klasör Seçici kullan</string>
<string name="advanced_folder_picker_summary">Eşzamanlama yapmak için aygıttan herhangi bir klasör seçin</string> <string name="advanced_folder_picker_summary">Eşzamanlama yapmak için aygıttan herhangi bir klasör seçin</string>

View file

@ -130,12 +130,8 @@
<string name="category_syncthing_options">Опції Syncthing</string> <string name="category_syncthing_options">Опції Syncthing</string>
<string name="category_debug">Відладка</string> <string name="category_debug">Відладка</string>
<string name="category_experimental">Експериментальне</string> <string name="category_experimental">Експериментальне</string>
<string name="always_run_in_background">Завжди працювати в фоновому режимі</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="sync_only_charging">Синхронізація лише під час зарядки</string>
<string name="sync_only_wifi">Синхронізація лише через Wi-Fi</string>
<string name="sync_only_wifi_ssids">Працювати лише в заданих Wi-Fi мережах</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Будь-ласка, увімкніть Wi-Fi, щоби вибрати мережі</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Будь-ласка, увімкніть Wi-Fi, щоби вибрати мережі</string>
<string name="respect_battery_saving_title">Відповідно до налаштувань енергозбереження пристрою в системі</string> <string name="respect_battery_saving_title">Відповідно до налаштувань енергозбереження пристрою в системі</string>
<string name="respect_battery_saving_summary">Заборонити Syncthing під час режиму енергозбереження пристрою</string> <string name="respect_battery_saving_summary">Заборонити Syncthing під час режиму енергозбереження пристрою</string>

View file

@ -135,12 +135,8 @@
<string name="settings_title">Cài đặt</string> <string name="settings_title">Cài đặt</string>
<string name="category_syncthing_options">Tuỳ chọn Syncthing</string> <string name="category_syncthing_options">Tuỳ chọn Syncthing</string>
<string name="category_experimental">Thực nghiệm</string> <string name="category_experimental">Thực nghiệm</string>
<string name="always_run_in_background">Luôn chạy nền</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing luôn chạy nền theo như tuỳ chỉnh bên dưới.</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing chỉ chạy khi được bật thủ công và có thể được tắt bởi nút trình đơn.</string>
<string name="sync_only_wifi_ssids">Hạn chế với vài mạng wifi nhất định</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Hãy bật WiFi để lựa chọn mạng.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Hãy bật WiFi để lựa chọn mạng.</string>
<string name="advanced_folder_picker">S.dụng trình chọn th.mục nâng cao</string> <string name="advanced_folder_picker">S.dụng trình chọn th.mục nâng cao</string>
<string name="advanced_folder_picker_summary">Chọn bất kỳ th.mục nào trên th.bị để đồng bộ</string> <string name="advanced_folder_picker_summary">Chọn bất kỳ th.mục nào trên th.bị để đồng bộ</string>

View file

@ -162,14 +162,8 @@
<string name="category_backup">备份</string> <string name="category_backup">备份</string>
<string name="category_debug">调试</string> <string name="category_debug">调试</string>
<string name="category_experimental">实验性</string> <string name="category_experimental">实验性</string>
<string name="always_run_in_background">总是在后台运行</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">Syncthing 会根据下方的偏好运行在后台</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing 仅在运行后启动同步并且可以通过点按菜单按钮停止</string>
<string name="sync_only_charging">仅在充电时运行</string>
<string name="sync_only_wifi">仅在连着 Wi-Fi 时运行</string>
<string name="sync_only_wifi_ssids">对某些无线网络下限制同步</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">请打开无线网络连接并选择网络</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">请打开无线网络连接并选择网络</string>
<string name="respect_battery_saving_title">遵循 Android 电池省电模式设置</string> <string name="respect_battery_saving_title">遵循 Android 电池省电模式设置</string>
<string name="respect_battery_saving_summary">禁用 Syncthing 如果省电模式已启用</string> <string name="respect_battery_saving_summary">禁用 Syncthing 如果省电模式已启用</string>

View file

@ -159,14 +159,8 @@
<string name="category_backup">備份</string> <string name="category_backup">備份</string>
<string name="category_debug">除錯</string> <string name="category_debug">除錯</string>
<string name="category_experimental">實驗性</string> <string name="category_experimental">實驗性</string>
<string name="always_run_in_background">永遠在背景執行</string>
<!--Preference summary in case it is enabled--> <!--Preference summary in case it is enabled-->
<string name="always_run_in_background_enabled">根據下列的偏好設定Syncthing 會永遠在背景執行。</string>
<!--Preference summary in case it is disabled--> <!--Preference summary in case it is disabled-->
<string name="always_run_in_background_disabled">Syncthing 只會在明確地被要求時才會啟動,且可透過選單的按鈕停止。</string>
<string name="sync_only_charging">僅限充電時執行</string>
<string name="sync_only_wifi">僅限 Wi-Fi</string>
<string name="sync_only_wifi_ssids">限制特定的 Wi-Fi 網路</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">請開啟 Wi-Fi 來選擇網路</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">請開啟 Wi-Fi 來選擇網路</string>
<string name="respect_battery_saving_title">遵守 Android 節省電池設定</string> <string name="respect_battery_saving_title">遵守 Android 節省電池設定</string>
<string name="respect_battery_saving_summary">如果節省電池啟用,停用 Syncthing</string> <string name="respect_battery_saving_summary">如果節省電池啟用,停用 Syncthing</string>

View file

@ -1,12 +1,20 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources translatable="false"> <resources translatable="false">
<!-- DeviceActivity -->
<string-array name="compress_values"> <string-array name="compress_values">
<item>never</item> <item>never</item>
<item>metadata</item> <item>metadata</item>
<item>always</item> <item>always</item>
</string-array> </string-array>
<!-- Preference screen -->
<string-array name="power_source_values">
<item>ac_and_battery_power</item>
<item>ac_power</item>
<item>battery_power</item>
</string-array>
<string-array name="notification_type_entry_values"> <string-array name="notification_type_entry_values">
<item>normal</item> <item>normal</item>
<item>low_priority</item> <item>low_priority</item>

View file

@ -298,19 +298,22 @@ Please report any problems you encounter via Github.</string>
<string name="category_debug">Debug</string> <string name="category_debug">Debug</string>
<string name="category_experimental">Experimental</string> <string name="category_experimental">Experimental</string>
<string name="always_run_in_background">Always run in background</string> <!-- Preference screen - Run conditions -->
<string name="run_conditions_title">Run Conditions</string>
<string name="run_conditions_summary">Use the following options to decide when Syncthing will run.</string>
<!-- Preference summary in case it is enabled --> <string name="run_on_mobile_data_title">Run on mobile data</string>
<string name="always_run_in_background_enabled">Syncthing always runs in the background, according to preferences below.</string> <string name="run_on_mobile_data_summary">Run when device is connected via the mobile data network. Warning: This can consume a lot of data from your mobile operator data plan if you sync large amounts of data.</string>
<!-- Preference summary in case it is disabled --> <string name="run_on_wifi_title">Run on wifi</string>
<string name="always_run_in_background_disabled">Syncthing only runs when explicitly started, and can be stopped by menu button.</string> <string name="run_on_wifi_summary">Run when device is connected to a wifi network.</string>
<string name="sync_only_charging">Run only when charging</string> <string name="run_on_metered_wifi_title">Run on metered wifi</string>
<string name="run_on_metered_wifi_summary">Run when device is connected to a metered wifi network e.g. a hotspot or tethered network. Attention: This can consume large portion of your data plan if you sync a lot of data.</string>
<string name="sync_only_wifi">Run only on wifi</string> <string name="run_on_whitelisted_wifi_title">Run on specified wifi networks</string>
<string name="run_on_whitelisted_wifi_networks">Run only on selected wifi networks: %1$s</string>
<string name="sync_only_wifi_ssids">Restrict to certain wifi networks</string> <string name="run_on_all_wifi_networks">Run on all wifi networks.</string>
<string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Please turn on WiFi to select networks.</string> <string name="sync_only_wifi_ssids_wifi_turn_on_wifi">Please turn on WiFi to select networks.</string>
@ -319,9 +322,29 @@ Please report any problems you encounter via Github.</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permission required</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_title">Permission required</string>
<string name="sync_only_wifi_ssids_location_permission_rejected_dialog_content">Starting with Android 8.1, location access is required to be able to read the WiFi\'s name. You can use this feature only if you grant this permission.</string> <string name="sync_only_wifi_ssids_location_permission_rejected_dialog_content">Starting with Android 8.1, location access is required to be able to read the WiFi\'s name. You can use this feature only if you grant this permission.</string>
<string name="respect_battery_saving_title">Respect Android battery saving setting</string> <string name="power_source_title">Run when device is powered by</string>
<string name="respect_battery_saving_summary">Disable Syncthing if battery saving is active</string>
<string-array name="power_source_entries">
<item>AC and battery power.</item>
<item>AC power.</item>
<item>Battery power.</item>
</string-array>
<string name="respect_battery_saving_title">Respect Android battery saving setting</string>
<string name="respect_battery_saving_summary">Disable Syncthing if battery saving is active.</string>
<string name="respect_master_sync_title">Respect Android \'Auto-sync data\' setting</string>
<string name="respect_master_sync_summary">Disable Syncthing when the quick settings tile \'Auto-sync data\' is toggled off.</string>
<string name="run_in_flight_mode_title">Run when device is in flight mode</string>
<string name="run_in_flight_mode_summary">Enable if your phone has problems detecting manual wifi connections during flight mode.</string>
<string name="service_settings_title">Service setting</string>
<string name="service_settings_summary">Run Syncthing as a service. Adds a persistent notification to prevent it from being terminated by Android. Checking this option starts Syncthing on operating system startup.</string>
<string name="run_as_background_service">Start service automatically on boot</string>
<!-- Preferences - Behaviour -->
<string name="advanced_folder_picker">Use advanced Folder Picker</string> <string name="advanced_folder_picker">Use advanced Folder Picker</string>
<string name="advanced_folder_picker_summary">Select any folder on the device for syncing</string> <string name="advanced_folder_picker_summary">Select any folder on the device for syncing</string>
@ -608,7 +631,7 @@ Please report any problems you encounter via Github.</string>
<string name="syncthing_disabled_title">Syncthing is disabled</string> <string name="syncthing_disabled_title">Syncthing is disabled</string>
<!-- Message of the "syncthing disabled" dialog --> <!-- Message of the "syncthing disabled" dialog -->
<string name="syncthing_disabled_message">Do you want to change your preferences?</string> <string name="syncthing_disabled_message">Do you want to change the run conditions?</string>
<!-- Button text on the "syncthing disabled" dialog --> <!-- Button text on the "syncthing disabled" dialog -->
<string name="syncthing_disabled_change_settings">Change Settings</string> <string name="syncthing_disabled_change_settings">Change Settings</string>

View file

@ -5,24 +5,43 @@
android:title="@string/category_run_conditions" android:title="@string/category_run_conditions"
android:key="category_run_conditions"> android:key="category_run_conditions">
<CheckBoxPreference <Preference
android:key="always_run_in_background" android:key="static_run_conditions"
android:title="@string/always_run_in_background" android:persistent="false"
android:defaultValue="false" /> android:selectable="false"
android:title="@string/run_conditions_title"
android:summary="@string/run_conditions_summary"/>
<CheckBoxPreference <CheckBoxPreference
android:key="sync_only_charging" android:key="run_on_wifi"
android:title="@string/sync_only_charging" android:title="@string/run_on_wifi_title"
android:defaultValue="false" /> android:summary="@string/run_on_wifi_summary"
android:defaultValue="true" />
<CheckBoxPreference <CheckBoxPreference
android:key="sync_only_wifi" android:key="run_on_metered_wifi"
android:title="@string/sync_only_wifi" android:title="@string/run_on_metered_wifi_title"
android:summary="@string/run_on_metered_wifi_summary"
android:defaultValue="false" /> android:defaultValue="false" />
<com.nutomic.syncthingandroid.views.WifiSsidPreference <com.nutomic.syncthingandroid.views.WifiSsidPreference
android:key="sync_only_wifi_ssids_set" android:key="wifi_ssid_whitelist"
android:title="@string/sync_only_wifi_ssids" /> android:title="@string/run_on_whitelisted_wifi_title"
android:summary="@null" />
<CheckBoxPreference
android:key="run_on_mobile_data"
android:title="@string/run_on_mobile_data_title"
android:summary="@string/run_on_mobile_data_summary"
android:defaultValue="false" />
<ListPreference
android:key="power_source"
android:title="@string/power_source_title"
android:entryValues="@array/power_source_values"
android:entries="@array/power_source_entries"
android:summary="@null"
android:defaultValue="ac_and_battery_power" />
<CheckBoxPreference <CheckBoxPreference
android:key="respect_battery_saving" android:key="respect_battery_saving"
@ -30,6 +49,18 @@
android:summary="@string/respect_battery_saving_summary" android:summary="@string/respect_battery_saving_summary"
android:defaultValue="true" /> android:defaultValue="true" />
<CheckBoxPreference
android:key="respect_master_sync"
android:title="@string/respect_master_sync_title"
android:summary="@string/respect_master_sync_summary"
android:defaultValue="false" />
<CheckBoxPreference
android:key="run_in_flight_mode"
android:title="@string/run_in_flight_mode_title"
android:summary="@string/run_in_flight_mode_summary"
android:defaultValue="false" />
</PreferenceScreen> </PreferenceScreen>
<PreferenceScreen <PreferenceScreen
@ -61,6 +92,18 @@
android:summary="@string/start_into_web_gui_summary" android:summary="@string/start_into_web_gui_summary"
android:defaultValue="false"/> android:defaultValue="false"/>
<Preference
android:key="static_service_settings"
android:persistent="false"
android:selectable="false"
android:title="@string/service_settings_title"
android:summary="@string/service_settings_summary"/>
<CheckBoxPreference
android:key="always_run_in_background"
android:title="@string/run_as_background_service"
android:defaultValue="false" />
</PreferenceScreen> </PreferenceScreen>
<PreferenceScreen <PreferenceScreen