mirror of https://github.com/M66B/NetGuard.git
Roam like at home
This commit is contained in:
parent
25816599ac
commit
e04db5d0f9
30
app/app.iml
30
app/app.iml
|
@ -50,6 +50,13 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/renderscript" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/all/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/all/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/assets" type="java-test-resource" />
|
||||
|
@ -58,13 +65,6 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/all/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/all/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/all/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/all/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/all/assets" type="java-resource" />
|
||||
|
@ -72,14 +72,6 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/all/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/all/renderscript" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/all/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/assets" type="java-test-resource" />
|
||||
|
@ -88,6 +80,14 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAll/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAll/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
|
||||
|
|
|
@ -105,9 +105,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
private static final int REQUEST_METERED2 = 3;
|
||||
private static final int REQUEST_METERED3 = 4;
|
||||
private static final int REQUEST_METERED4 = 5;
|
||||
private static final int REQUEST_ROAMING_NATIONAL = 6;
|
||||
private static final int REQUEST_ROAMING_INTERNATIONAL = 7;
|
||||
private static final int REQUEST_HOSTS = 8;
|
||||
private static final int REQUEST_ROAMING_EU = 6;
|
||||
private static final int REQUEST_ROAMING_NATIONAL = 7;
|
||||
private static final int REQUEST_ROAMING_INTERNATIONAL = 8;
|
||||
private static final int REQUEST_HOSTS = 9;
|
||||
|
||||
private AlertDialog dialogFilter = null;
|
||||
|
||||
|
@ -583,6 +584,15 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
} else
|
||||
ServiceSinkhole.reload("changed " + name, this);
|
||||
|
||||
} else if ("eu_roaming".equals(name)) {
|
||||
if (prefs.getBoolean(name, false)) {
|
||||
if (Util.hasPhoneStatePermission(this))
|
||||
ServiceSinkhole.reload("changed " + name, this);
|
||||
else
|
||||
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ROAMING_EU);
|
||||
} else
|
||||
ServiceSinkhole.reload("changed " + name, this);
|
||||
|
||||
} else if ("national_roaming".equals(name)) {
|
||||
if (prefs.getBoolean(name, false)) {
|
||||
if (Util.hasPhoneStatePermission(this))
|
||||
|
@ -807,6 +817,14 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
}
|
||||
|
||||
// Check if permission was revoked
|
||||
if (prefs.getBoolean("eu_roaming", false))
|
||||
if (!Util.hasPhoneStatePermission(this)) {
|
||||
prefs.edit().putBoolean("eu_roaming", false).apply();
|
||||
((TwoStatePreference) screen.findPreference("eu_roaming")).setChecked(false);
|
||||
|
||||
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_ROAMING_EU);
|
||||
}
|
||||
|
||||
if (prefs.getBoolean("national_roaming", false))
|
||||
if (!Util.hasPhoneStatePermission(this)) {
|
||||
prefs.edit().putBoolean("national_roaming", false).apply();
|
||||
|
@ -835,6 +853,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
|
|||
prefs.edit().putBoolean("unmetered_4g", granted).apply();
|
||||
((TwoStatePreference) screen.findPreference("unmetered_4g")).setChecked(granted);
|
||||
|
||||
} else if (requestCode == REQUEST_ROAMING_EU) {
|
||||
prefs.edit().putBoolean("eu_roaming", granted).apply();
|
||||
((TwoStatePreference) screen.findPreference("eu_roaming")).setChecked(granted);
|
||||
|
||||
} else if (requestCode == REQUEST_ROAMING_NATIONAL) {
|
||||
prefs.edit().putBoolean("national_roaming", granted).apply();
|
||||
((TwoStatePreference) screen.findPreference("national_roaming")).setChecked(granted);
|
||||
|
|
|
@ -1582,6 +1582,7 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
|
|||
boolean unmetered_3g = prefs.getBoolean("unmetered_3g", false);
|
||||
boolean unmetered_4g = prefs.getBoolean("unmetered_4g", false);
|
||||
boolean roaming = Util.isRoaming(ServiceSinkhole.this);
|
||||
boolean eu = prefs.getBoolean("eu_roaming", false);
|
||||
boolean national = prefs.getBoolean("national_roaming", false);
|
||||
boolean tethering = prefs.getBoolean("tethering", false);
|
||||
boolean filter = prefs.getBoolean("filter", false);
|
||||
|
@ -1611,8 +1612,10 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
|
|||
boolean lockdown = isLockedDown(last_metered);
|
||||
|
||||
// Update roaming state
|
||||
if (roaming && eu)
|
||||
roaming = !Util.isEU(this);
|
||||
if (roaming && national)
|
||||
roaming = Util.isInternational(this);
|
||||
roaming = !Util.isNational(this);
|
||||
|
||||
Log.i(TAG, "Get allowed" +
|
||||
" connected=" + last_connected +
|
||||
|
@ -2060,7 +2063,8 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
|
|||
|
||||
private PhoneStateListener phoneStateListener = new PhoneStateListener() {
|
||||
private String last_generation = null;
|
||||
private int last_international = -1;
|
||||
private int last_eu = -1;
|
||||
private int last_national = -1;
|
||||
|
||||
@Override
|
||||
public void onDataConnectionStateChanged(int state, int networkType) {
|
||||
|
@ -2084,17 +2088,29 @@ public class ServiceSinkhole extends VpnService implements SharedPreferences.OnS
|
|||
@Override
|
||||
public void onServiceStateChanged(ServiceState serviceState) {
|
||||
if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {
|
||||
int current_international = (Util.isInternational(ServiceSinkhole.this) ? 1 : 0);
|
||||
Log.i(TAG, "In service international=" + current_international);
|
||||
int current_eu = (Util.isEU(ServiceSinkhole.this) ? 1 : 0);
|
||||
int current_national = (Util.isNational(ServiceSinkhole.this) ? 1 : 0);
|
||||
Log.i(TAG, "In service eu=" + current_eu + " national=" + current_national);
|
||||
|
||||
if (last_international != current_international) {
|
||||
Log.i(TAG, "New international=" + current_international);
|
||||
last_international = current_international;
|
||||
boolean reload = false;
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSinkhole.this);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ServiceSinkhole.this);
|
||||
if (prefs.getBoolean("national_roaming", false))
|
||||
reload("service state changed", ServiceSinkhole.this);
|
||||
if (last_eu != current_eu) {
|
||||
Log.i(TAG, "New eu=" + current_eu);
|
||||
last_eu = current_eu;
|
||||
if (prefs.getBoolean("eu_roaming", false))
|
||||
reload = true;
|
||||
}
|
||||
|
||||
if (last_national != current_national) {
|
||||
Log.i(TAG, "New national=" + current_national);
|
||||
last_national = current_national;
|
||||
if (prefs.getBoolean("national_roaming", false))
|
||||
reload = true;
|
||||
}
|
||||
|
||||
if (reload)
|
||||
reload("service state changed", ServiceSinkhole.this);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -73,7 +73,6 @@ import java.net.InetAddress;
|
|||
import java.net.InterfaceAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.net.URL;
|
||||
import java.nio.Buffer;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.DateFormat;
|
||||
|
@ -92,6 +91,41 @@ public class Util {
|
|||
private static final int NETWORK_TYPE_IWLAN = 18;
|
||||
private static final String TAG = "NetGuard.Util";
|
||||
|
||||
// Roam like at home
|
||||
private static final List<String> listEU = Arrays.asList(
|
||||
"AT", // Austria
|
||||
"BE", // Belgium
|
||||
"BG", // Bulgaria
|
||||
"HR", // Croatia
|
||||
"CY", // Cyprus
|
||||
"CZ", // Czech Republic
|
||||
"DK", // Denmark
|
||||
"EE", // Estonia
|
||||
"FI", // Finland
|
||||
"FR", // France
|
||||
"DE", // Germany
|
||||
"GR", // Greece
|
||||
"HU", // Hungary
|
||||
"IS", // Iceland
|
||||
"IE", // Ireland
|
||||
"IT", // Italy
|
||||
"LV", // Latvia
|
||||
"LI", // Liechtenstein
|
||||
"LT", // Lithuania
|
||||
"LU", // Luxembourg
|
||||
"MT", // Malta
|
||||
"NL", // Netherlands
|
||||
"NO", // Norway
|
||||
"PL", // Poland
|
||||
"PT", // Portugal
|
||||
"RO", // Romania
|
||||
"SK", // Slovakia
|
||||
"SI", // Slovenia
|
||||
"ES", // Spain
|
||||
"SE", // Sweden
|
||||
"GB" // United Kingdom
|
||||
);
|
||||
|
||||
private static native String jni_getprop(String name);
|
||||
|
||||
private static native boolean is_numeric_address(String ip);
|
||||
|
@ -164,15 +198,28 @@ public class Util {
|
|||
return (ni != null && ni.isRoaming());
|
||||
}
|
||||
|
||||
public static boolean isInternational(Context context) {
|
||||
public static boolean isNational(Context context) {
|
||||
try {
|
||||
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
return (tm != null && tm.getSimCountryIso() != null && !tm.getSimCountryIso().equals(tm.getNetworkCountryIso()));
|
||||
return (tm != null && tm.getSimCountryIso() != null && tm.getSimCountryIso().equals(tm.getNetworkCountryIso()));
|
||||
} catch (Throwable ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isEU(Context context) {
|
||||
try {
|
||||
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
return (tm != null && isEU(tm.getSimCountryIso()) && isEU(tm.getNetworkCountryIso()));
|
||||
} catch (Throwable ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isEU(String country) {
|
||||
return (country != null && listEU.contains(country.toUpperCase()));
|
||||
}
|
||||
|
||||
public static String getNetworkGeneration(int networkType) {
|
||||
switch (networkType) {
|
||||
case TelephonyManager.NETWORK_TYPE_1xRTT:
|
||||
|
|
|
@ -81,6 +81,7 @@ however it is impossible to guarantee NetGuard will work correctly on every devi
|
|||
<string name="setting_metered_3g">Consider 3G unmetered</string>
|
||||
<string name="setting_metered_4g">Consider LTE unmetered</string>
|
||||
<string name="setting_national_roaming">Ignore national roaming</string>
|
||||
<string name="setting_eu_roaming">Ignore EU roaming</string>
|
||||
<string name="setting_lockdown_wifi">Lockdown Wi-Fi</string>
|
||||
<string name="setting_lockdown_other">Lockdown mobile</string>
|
||||
|
||||
|
@ -143,6 +144,7 @@ however it is impossible to guarantee NetGuard will work correctly on every devi
|
|||
<string name="summary_metered_3g">Apply Wi-Fi network rules for 3G data connections</string>
|
||||
<string name="summary_metered_4g">Apply Wi-Fi network rules for LTE data connections</string>
|
||||
<string name="summary_national_roaming">Do not apply roaming rules when the SIM and mobile network country are the same</string>
|
||||
<string name="summary_eu_roaming">Do not apply roaming rules when the SIM and mobile network country are within the EU (roam like at home)</string>
|
||||
|
||||
<string name="summary_system">Define rules for system applications (for experts)</string>
|
||||
<string name="summary_log_app">Log attempts to access the internet for applications. This might result in extra battery usage.</string>
|
||||
|
|
|
@ -9,29 +9,29 @@
|
|||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="whitelist_wifi"
|
||||
android:title="@string/setting_whitelist_wifi"/>
|
||||
android:title="@string/setting_whitelist_wifi" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="whitelist_other"
|
||||
android:title="@string/setting_whitelist_other"/>
|
||||
android:title="@string/setting_whitelist_other" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="screen_on"
|
||||
android:title="@string/setting_screen_on"/>
|
||||
android:title="@string/setting_screen_on" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="screen_on"
|
||||
android:key="screen_wifi"
|
||||
android:title="@string/setting_screen_wifi"/>
|
||||
android:title="@string/setting_screen_wifi" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="screen_on"
|
||||
android:key="screen_other"
|
||||
android:title="@string/setting_screen_other"/>
|
||||
android:title="@string/setting_screen_other" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="whitelist_roaming"
|
||||
android:title="@string/setting_whitelist_roaming"/>
|
||||
android:title="@string/setting_whitelist_roaming" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -45,31 +45,31 @@
|
|||
android:defaultValue="teal"
|
||||
android:entries="@array/themeNames"
|
||||
android:entryValues="@array/themeValues"
|
||||
android:key="theme"/>
|
||||
android:key="theme" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="dark_theme"
|
||||
android:title="@string/setting_dark"/>
|
||||
android:title="@string/setting_dark" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="install"
|
||||
android:summary="@string/summary_install"
|
||||
android:title="@string/setting_install"/>
|
||||
android:title="@string/setting_install" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="auto_enable"
|
||||
android:summary="@string/summary_auto"/>
|
||||
android:summary="@string/summary_auto" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="screen_delay"
|
||||
android:summary="@string/summary_delay"/>
|
||||
android:summary="@string/summary_delay" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="update_check"
|
||||
android:summary="@string/summary_update"
|
||||
android:title="@string/setting_update"/>
|
||||
android:title="@string/setting_update" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -83,56 +83,61 @@
|
|||
android:defaultValue="false"
|
||||
android:key="subnet"
|
||||
android:summary="@string/summary_subnet"
|
||||
android:title="@string/setting_subnet"/>
|
||||
android:title="@string/setting_subnet" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="subnet"
|
||||
android:key="tethering"
|
||||
android:summary="@string/summary_tethering"
|
||||
android:title="@string/setting_tethering"/>
|
||||
android:title="@string/setting_tethering" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="subnet"
|
||||
android:key="lan"
|
||||
android:summary="@string/summary_lan"
|
||||
android:title="@string/setting_lan"/>
|
||||
android:title="@string/setting_lan" />
|
||||
<MultiSelectListPreference
|
||||
android:defaultValue="@array/default_wifi_home"
|
||||
android:key="wifi_homes"
|
||||
android:summary="@string/summary_wifi_home"/>
|
||||
android:summary="@string/summary_wifi_home" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="use_metered"
|
||||
android:summary="@string/summary_metered"
|
||||
android:title="@string/setting_metered"/>
|
||||
android:title="@string/setting_metered" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_2g"
|
||||
android:summary="@string/summary_metered_2g"
|
||||
android:title="@string/setting_metered_2g"/>
|
||||
android:title="@string/setting_metered_2g" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_3g"
|
||||
android:summary="@string/summary_metered_3g"
|
||||
android:title="@string/setting_metered_3g"/>
|
||||
android:title="@string/setting_metered_3g" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_4g"
|
||||
android:summary="@string/summary_metered_4g"
|
||||
android:title="@string/setting_metered_4g"/>
|
||||
android:title="@string/setting_metered_4g" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="national_roaming"
|
||||
android:summary="@string/summary_national_roaming"
|
||||
android:title="@string/setting_national_roaming"/>
|
||||
android:title="@string/setting_national_roaming" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="eu_roaming"
|
||||
android:summary="@string/summary_eu_roaming"
|
||||
android:title="@string/setting_eu_roaming" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="lockdown_wifi"
|
||||
android:title="@string/setting_lockdown_wifi"/>
|
||||
android:title="@string/setting_lockdown_wifi" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="lockdown_other"
|
||||
android:title="@string/setting_lockdown_other"/>
|
||||
android:title="@string/setting_lockdown_other" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -146,113 +151,113 @@
|
|||
android:defaultValue="false"
|
||||
android:key="manage_system"
|
||||
android:summary="@string/summary_system"
|
||||
android:title="@string/setting_system"/>
|
||||
android:title="@string/setting_system" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="log_app"
|
||||
android:summary="@string/summary_log_app"
|
||||
android:title="@string/setting_log_app"/>
|
||||
android:title="@string/setting_log_app" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="log_app"
|
||||
android:key="notify_access"
|
||||
android:summary="@string/summary_access"
|
||||
android:title="@string/setting_access"/>
|
||||
android:title="@string/setting_access" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="filter"
|
||||
android:summary="@string/summary_filter"
|
||||
android:title="@string/setting_filter"/>
|
||||
android:title="@string/setting_filter" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="clear_onreload"
|
||||
android:title="@string/setting_clear_onreload"/>
|
||||
android:title="@string/setting_clear_onreload" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="track_usage"
|
||||
android:summary="@string/summary_track_usage"
|
||||
android:title="@string/setting_track_usage"/>
|
||||
android:title="@string/setting_track_usage" />
|
||||
<Preference
|
||||
android:key="reset_usage"
|
||||
android:title="@string/setting_reset_usage"/>
|
||||
android:title="@string/setting_reset_usage" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:dependency="filter"
|
||||
android:key="use_hosts"
|
||||
android:summary="@string/summary_block_domains"
|
||||
android:title="@string/setting_block_domains"/>
|
||||
android:title="@string/setting_block_domains" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="number"
|
||||
android:key="rcode"
|
||||
android:summary="@string/summary_rcode"/>
|
||||
android:summary="@string/summary_rcode" />
|
||||
<Preference
|
||||
android:dependency="filter"
|
||||
android:key="forwarding"
|
||||
android:title="@string/setting_forwarding"/>
|
||||
android:title="@string/setting_forwarding" />
|
||||
<EditTextPreference
|
||||
inputType="phone"
|
||||
android:hint="10.1.10.1"
|
||||
android:inputType="phone"
|
||||
android:key="vpn4"/>
|
||||
android:key="vpn4" />
|
||||
<EditTextPreference
|
||||
android:hint="fd00:1:fd00:1:fd00:1:fd00:1"
|
||||
android:inputType="text"
|
||||
android:key="vpn6"/>
|
||||
android:key="vpn6" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="dns"/>
|
||||
android:key="dns" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="dns2"/>
|
||||
android:key="dns2" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="number"
|
||||
android:key="ttl"/>
|
||||
android:key="ttl" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="socks5_enabled"
|
||||
android:summary="@string/summary_socks5_enabled"
|
||||
android:title="@string/setting_socks5_enabled"/>
|
||||
android:title="@string/setting_socks5_enabled" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:hint="127.0.0.1"
|
||||
android:inputType="text"
|
||||
android:key="socks5_addr"/>
|
||||
android:key="socks5_addr" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:hint="1080"
|
||||
android:inputType="number"
|
||||
android:key="socks5_port"/>
|
||||
android:key="socks5_port" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="socks5_username"/>
|
||||
android:key="socks5_username" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="textPassword"
|
||||
android:key="socks5_password"/>
|
||||
android:key="socks5_password" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="64"
|
||||
android:inputType="number"
|
||||
android:key="pcap_record_size"/>
|
||||
android:key="pcap_record_size" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="2"
|
||||
android:inputType="number"
|
||||
android:key="pcap_file_size"/>
|
||||
android:key="pcap_file_size" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="watchdog"
|
||||
android:summary="@string/summary_watchdog"/>
|
||||
android:summary="@string/summary_watchdog" />
|
||||
<Preference
|
||||
android:key="show_resolved"
|
||||
android:title="@string/setting_show_resolved"/>
|
||||
android:title="@string/setting_show_resolved" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -266,22 +271,22 @@
|
|||
android:defaultValue="false"
|
||||
android:key="show_stats"
|
||||
android:summary="@string/summary_stats"
|
||||
android:title="@string/setting_stats"/>
|
||||
android:title="@string/setting_stats" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="show_stats"
|
||||
android:key="show_top"
|
||||
android:title="@string/setting_stats_top"/>
|
||||
android:title="@string/setting_stats_top" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="1000"
|
||||
android:dependency="show_stats"
|
||||
android:inputType="number"
|
||||
android:key="stats_frequency"/>
|
||||
android:key="stats_frequency" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="90"
|
||||
android:dependency="show_stats"
|
||||
android:inputType="number"
|
||||
android:key="stats_samples"/>
|
||||
android:key="stats_samples" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -293,22 +298,22 @@
|
|||
android:title="@string/setting_backup">
|
||||
<Preference
|
||||
android:key="export"
|
||||
android:title="@string/setting_export"/>
|
||||
android:title="@string/setting_export" />
|
||||
<Preference
|
||||
android:key="import"
|
||||
android:title="@string/setting_import"/>
|
||||
android:title="@string/setting_import" />
|
||||
<Preference
|
||||
android:key="hosts_import"
|
||||
android:title="@string/setting_hosts"/>
|
||||
android:title="@string/setting_hosts" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="https://www.netguard.me/hosts"
|
||||
android:hint="https://www.netguard.me/hosts"
|
||||
android:key="hosts_url"
|
||||
android:title="@string/setting_hosts_url"/>
|
||||
android:title="@string/setting_hosts_url" />
|
||||
<Preference
|
||||
android:dependency="hosts_url"
|
||||
android:key="hosts_download"
|
||||
android:title="@string/setting_hosts_download"/>
|
||||
android:title="@string/setting_hosts_download" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -324,20 +329,20 @@
|
|||
android:entryValues="@array/logLevelValues"
|
||||
android:key="loglevel"
|
||||
android:summary="Log level verbose, debug and info will impact performance and battery usage"
|
||||
android:title="Native log level"/>
|
||||
android:title="Native log level" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="ip6"
|
||||
android:summary="@string/summary_ip6"
|
||||
android:title="@string/setting_ip6"/>
|
||||
android:title="@string/setting_ip6" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="debug_iab"
|
||||
android:title="Debug IAB"/>
|
||||
android:title="Debug IAB" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="debug_ads"
|
||||
android:title="Debug advertisements"/>
|
||||
android:title="Debug advertisements" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -349,13 +354,13 @@
|
|||
android:title="@string/setting_technical">
|
||||
<Preference
|
||||
android:key="technical_info"
|
||||
android:title="@string/setting_technical_general"/>
|
||||
android:title="@string/setting_technical_general" />
|
||||
<Preference
|
||||
android:key="technical_network"
|
||||
android:title="@string/setting_technical_networks"/>
|
||||
android:title="@string/setting_technical_networks" />
|
||||
<Preference
|
||||
android:key="technical_subscription"
|
||||
android:title="@string/setting_technical_subscription"/>
|
||||
android:title="@string/setting_technical_subscription" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
</PreferenceScreen>
|
||||
|
|
|
@ -9,29 +9,29 @@
|
|||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="whitelist_wifi"
|
||||
android:title="@string/setting_whitelist_wifi"/>
|
||||
android:title="@string/setting_whitelist_wifi" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="whitelist_other"
|
||||
android:title="@string/setting_whitelist_other"/>
|
||||
android:title="@string/setting_whitelist_other" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="screen_on"
|
||||
android:title="@string/setting_screen_on"/>
|
||||
android:title="@string/setting_screen_on" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="screen_on"
|
||||
android:key="screen_wifi"
|
||||
android:title="@string/setting_screen_wifi"/>
|
||||
android:title="@string/setting_screen_wifi" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="screen_on"
|
||||
android:key="screen_other"
|
||||
android:title="@string/setting_screen_other"/>
|
||||
android:title="@string/setting_screen_other" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="whitelist_roaming"
|
||||
android:title="@string/setting_whitelist_roaming"/>
|
||||
android:title="@string/setting_whitelist_roaming" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -45,31 +45,31 @@
|
|||
android:defaultValue="teal"
|
||||
android:entries="@array/themeNames"
|
||||
android:entryValues="@array/themeValues"
|
||||
android:key="theme"/>
|
||||
android:key="theme" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="dark_theme"
|
||||
android:title="@string/setting_dark"/>
|
||||
android:title="@string/setting_dark" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="install"
|
||||
android:summary="@string/summary_install"
|
||||
android:title="@string/setting_install"/>
|
||||
android:title="@string/setting_install" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="auto_enable"
|
||||
android:summary="@string/summary_auto"/>
|
||||
android:summary="@string/summary_auto" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="screen_delay"
|
||||
android:summary="@string/summary_delay"/>
|
||||
android:summary="@string/summary_delay" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="update_check"
|
||||
android:summary="@string/summary_update"
|
||||
android:title="@string/setting_update"/>
|
||||
android:title="@string/setting_update" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -83,56 +83,61 @@
|
|||
android:defaultValue="false"
|
||||
android:key="subnet"
|
||||
android:summary="@string/summary_subnet"
|
||||
android:title="@string/setting_subnet"/>
|
||||
android:title="@string/setting_subnet" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="subnet"
|
||||
android:key="tethering"
|
||||
android:summary="@string/summary_tethering"
|
||||
android:title="@string/setting_tethering"/>
|
||||
android:title="@string/setting_tethering" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="subnet"
|
||||
android:key="lan"
|
||||
android:summary="@string/summary_lan"
|
||||
android:title="@string/setting_lan"/>
|
||||
android:title="@string/setting_lan" />
|
||||
<MultiSelectListPreference
|
||||
android:defaultValue="@array/default_wifi_home"
|
||||
android:key="wifi_homes"
|
||||
android:summary="@string/summary_wifi_home"/>
|
||||
android:summary="@string/summary_wifi_home" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="use_metered"
|
||||
android:summary="@string/summary_metered"
|
||||
android:title="@string/setting_metered"/>
|
||||
android:title="@string/setting_metered" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_2g"
|
||||
android:summary="@string/summary_metered_2g"
|
||||
android:title="@string/setting_metered_2g"/>
|
||||
android:title="@string/setting_metered_2g" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_3g"
|
||||
android:summary="@string/summary_metered_3g"
|
||||
android:title="@string/setting_metered_3g"/>
|
||||
android:title="@string/setting_metered_3g" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="unmetered_4g"
|
||||
android:summary="@string/summary_metered_4g"
|
||||
android:title="@string/setting_metered_4g"/>
|
||||
android:title="@string/setting_metered_4g" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="national_roaming"
|
||||
android:summary="@string/summary_national_roaming"
|
||||
android:title="@string/setting_national_roaming"/>
|
||||
android:title="@string/setting_national_roaming" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="eu_roaming"
|
||||
android:summary="@string/summary_eu_roaming"
|
||||
android:title="@string/setting_eu_roaming" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="lockdown_wifi"
|
||||
android:title="@string/setting_lockdown_wifi"/>
|
||||
android:title="@string/setting_lockdown_wifi" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="lockdown_other"
|
||||
android:title="@string/setting_lockdown_other"/>
|
||||
android:title="@string/setting_lockdown_other" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -146,113 +151,113 @@
|
|||
android:defaultValue="false"
|
||||
android:key="manage_system"
|
||||
android:summary="@string/summary_system"
|
||||
android:title="@string/setting_system"/>
|
||||
android:title="@string/setting_system" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="log_app"
|
||||
android:summary="@string/summary_log_app"
|
||||
android:title="@string/setting_log_app"/>
|
||||
android:title="@string/setting_log_app" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="log_app"
|
||||
android:key="notify_access"
|
||||
android:summary="@string/summary_access"
|
||||
android:title="@string/setting_access"/>
|
||||
android:title="@string/setting_access" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="filter"
|
||||
android:summary="@string/summary_filter"
|
||||
android:title="@string/setting_filter"/>
|
||||
android:title="@string/setting_filter" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="clear_onreload"
|
||||
android:title="@string/setting_clear_onreload"/>
|
||||
android:title="@string/setting_clear_onreload" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="track_usage"
|
||||
android:summary="@string/summary_track_usage"
|
||||
android:title="@string/setting_track_usage"/>
|
||||
android:title="@string/setting_track_usage" />
|
||||
<Preference
|
||||
android:key="reset_usage"
|
||||
android:title="@string/setting_reset_usage"/>
|
||||
android:title="@string/setting_reset_usage" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:dependency="filter"
|
||||
android:key="use_hosts"
|
||||
android:summary="@string/summary_block_domains"
|
||||
android:title="@string/setting_block_domains"/>
|
||||
android:title="@string/setting_block_domains" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="number"
|
||||
android:key="rcode"
|
||||
android:summary="@string/summary_rcode"/>
|
||||
android:summary="@string/summary_rcode" />
|
||||
<Preference
|
||||
android:dependency="filter"
|
||||
android:key="forwarding"
|
||||
android:title="@string/setting_forwarding"/>
|
||||
android:title="@string/setting_forwarding" />
|
||||
<EditTextPreference
|
||||
inputType="phone"
|
||||
android:hint="10.1.10.1"
|
||||
android:inputType="phone"
|
||||
android:key="vpn4"/>
|
||||
android:key="vpn4" />
|
||||
<EditTextPreference
|
||||
android:hint="fd00:1:fd00:1:fd00:1:fd00:1"
|
||||
android:inputType="text"
|
||||
android:key="vpn6"/>
|
||||
android:key="vpn6" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="dns"/>
|
||||
android:key="dns" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="dns2"/>
|
||||
android:key="dns2" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="number"
|
||||
android:key="ttl"/>
|
||||
android:key="ttl" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="filter"
|
||||
android:key="socks5_enabled"
|
||||
android:summary="@string/summary_socks5_enabled"
|
||||
android:title="@string/setting_socks5_enabled"/>
|
||||
android:title="@string/setting_socks5_enabled" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:hint="127.0.0.1"
|
||||
android:inputType="text"
|
||||
android:key="socks5_addr"/>
|
||||
android:key="socks5_addr" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:hint="1080"
|
||||
android:inputType="number"
|
||||
android:key="socks5_port"/>
|
||||
android:key="socks5_port" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="text"
|
||||
android:key="socks5_username"/>
|
||||
android:key="socks5_username" />
|
||||
<EditTextPreference
|
||||
android:dependency="filter"
|
||||
android:inputType="textPassword"
|
||||
android:key="socks5_password"/>
|
||||
android:key="socks5_password" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="64"
|
||||
android:inputType="number"
|
||||
android:key="pcap_record_size"/>
|
||||
android:key="pcap_record_size" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="2"
|
||||
android:inputType="number"
|
||||
android:key="pcap_file_size"/>
|
||||
android:key="pcap_file_size" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="0"
|
||||
android:inputType="number"
|
||||
android:key="watchdog"
|
||||
android:summary="@string/summary_watchdog"/>
|
||||
android:summary="@string/summary_watchdog" />
|
||||
<Preference
|
||||
android:key="show_resolved"
|
||||
android:title="@string/setting_show_resolved"/>
|
||||
android:title="@string/setting_show_resolved" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -266,22 +271,22 @@
|
|||
android:defaultValue="false"
|
||||
android:key="show_stats"
|
||||
android:summary="@string/summary_stats"
|
||||
android:title="@string/setting_stats"/>
|
||||
android:title="@string/setting_stats" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="show_stats"
|
||||
android:key="show_top"
|
||||
android:title="@string/setting_stats_top"/>
|
||||
android:title="@string/setting_stats_top" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="1000"
|
||||
android:dependency="show_stats"
|
||||
android:inputType="number"
|
||||
android:key="stats_frequency"/>
|
||||
android:key="stats_frequency" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="90"
|
||||
android:dependency="show_stats"
|
||||
android:inputType="number"
|
||||
android:key="stats_samples"/>
|
||||
android:key="stats_samples" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -293,22 +298,22 @@
|
|||
android:title="@string/setting_backup">
|
||||
<Preference
|
||||
android:key="export"
|
||||
android:title="@string/setting_export"/>
|
||||
android:title="@string/setting_export" />
|
||||
<Preference
|
||||
android:key="import"
|
||||
android:title="@string/setting_import"/>
|
||||
android:title="@string/setting_import" />
|
||||
<Preference
|
||||
android:key="hosts_import"
|
||||
android:title="@string/setting_hosts"/>
|
||||
android:title="@string/setting_hosts" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="https://www.netguard.me/hosts"
|
||||
android:hint="https://www.netguard.me/hosts"
|
||||
android:key="hosts_url"
|
||||
android:title="@string/setting_hosts_url"/>
|
||||
android:title="@string/setting_hosts_url" />
|
||||
<Preference
|
||||
android:dependency="hosts_url"
|
||||
android:key="hosts_download"
|
||||
android:title="@string/setting_hosts_download"/>
|
||||
android:title="@string/setting_hosts_download" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -324,20 +329,20 @@
|
|||
android:entryValues="@array/logLevelValues"
|
||||
android:key="loglevel"
|
||||
android:summary="Log level verbose, debug and info will impact performance and battery usage"
|
||||
android:title="Native log level"/>
|
||||
android:title="Native log level" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="ip6"
|
||||
android:summary="@string/summary_ip6"
|
||||
android:title="@string/setting_ip6"/>
|
||||
android:title="@string/setting_ip6" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="debug_iab"
|
||||
android:title="Debug IAB"/>
|
||||
android:title="Debug IAB" />
|
||||
<eu.faircode.netguard.SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="debug_ads"
|
||||
android:title="Debug advertisements"/>
|
||||
android:title="Debug advertisements" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -349,13 +354,13 @@
|
|||
android:title="@string/setting_technical">
|
||||
<Preference
|
||||
android:key="technical_info"
|
||||
android:title="@string/setting_technical_general"/>
|
||||
android:title="@string/setting_technical_general" />
|
||||
<Preference
|
||||
android:key="technical_network"
|
||||
android:title="@string/setting_technical_networks"/>
|
||||
android:title="@string/setting_technical_networks" />
|
||||
<Preference
|
||||
android:key="technical_subscription"
|
||||
android:title="@string/setting_technical_subscription"/>
|
||||
android:title="@string/setting_technical_subscription" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
</PreferenceScreen>
|
||||
|
|
Loading…
Reference in New Issue