summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java15
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Behaviour.java82
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Connections.java6
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java68
-rw-r--r--main/src/main/res/layout-v21/tabs.xml4
-rw-r--r--main/src/main/res/layout/allowed_vpn_apps.xml19
-rw-r--r--main/src/main/res/layout/connections.xml39
-rw-r--r--main/src/main/res/values/colours.xml3
-rwxr-xr-xmain/src/main/res/values/strings.xml3
-rw-r--r--main/src/main/res/xml/vpn_authentification.xml37
-rw-r--r--main/src/main/res/xml/vpn_behaviour.xml29
-rw-r--r--main/src/main/res/xml/vpn_obscure.xml28
12 files changed, 164 insertions, 169 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java b/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
index 4eee5eea..2ef0dcce 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/VPNPreferences.java
@@ -21,15 +21,9 @@ import android.view.MenuItem;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.core.ProfileManager;
-import de.blinkt.openvpn.fragments.AboutFragment;
-import de.blinkt.openvpn.fragments.FaqFragment;
-import de.blinkt.openvpn.fragments.GeneralSettings;
-import de.blinkt.openvpn.fragments.LogFragment;
-import de.blinkt.openvpn.fragments.SendDumpFragment;
import de.blinkt.openvpn.fragments.Settings_Allowed_Apps;
import de.blinkt.openvpn.fragments.Settings_Authentication;
import de.blinkt.openvpn.fragments.Settings_Basic;
-import de.blinkt.openvpn.fragments.Settings_Behaviour;
import de.blinkt.openvpn.fragments.Settings_Connections;
import de.blinkt.openvpn.fragments.Settings_IP;
import de.blinkt.openvpn.fragments.Settings_Obscure;
@@ -45,7 +39,7 @@ public class VPNPreferences extends Activity {
static final Class validFragments[] = new Class[] {
Settings_Authentication.class, Settings_Basic.class, Settings_IP.class,
Settings_Obscure.class, Settings_Routing.class, ShowConfigFragment.class,
- Settings_Behaviour.class, Settings_Connections.class, Settings_Allowed_Apps.class
+ Settings_Connections.class, Settings_Allowed_Apps.class
};
private String mProfileUUID;
@@ -140,19 +134,16 @@ public class VPNPreferences extends Activity {
fragmentArguments.putString(getPackageName() + ".profileUUID",mProfileUUID);
mPagerAdapter.setFragmentArgs(fragmentArguments);
- mPagerAdapter.addTab(R.string.client_behaviour, Settings_Behaviour.class);
-
- mPagerAdapter.addTab(R.string.server_list, Settings_Connections.class);
-
mPagerAdapter.addTab(R.string.basic, Settings_Basic.class);
+ mPagerAdapter.addTab(R.string.server_list, Settings_Connections.class);
mPagerAdapter.addTab(R.string.ipdns, Settings_IP.class);
mPagerAdapter.addTab(R.string.routing, Settings_Routing.class);
mPagerAdapter.addTab(R.string.settings_auth, Settings_Authentication.class);
+ mPagerAdapter.addTab(R.string.advanced, Settings_Obscure.class);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
mPagerAdapter.addTab(R.string.vpn_allowed_apps, Settings_Allowed_Apps.class);
- mPagerAdapter.addTab(R.string.advanced, Settings_Obscure.class);
mPagerAdapter.addTab(R.string.generated_config, ShowConfigFragment.class);
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Behaviour.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Behaviour.java
deleted file mode 100644
index 8563fc8f..00000000
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Behaviour.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2012-2014 Arne Schwabe
- * Distributed under the GNU GPL v2. For full terms see the file doc/LICENSE.txt
- */
-
-package de.blinkt.openvpn.fragments;
-
-import android.os.Bundle;
-import android.preference.CheckBoxPreference;
-import android.preference.EditTextPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.Preference.OnPreferenceChangeListener;
-
-import de.blinkt.openvpn.R;
-
-public class Settings_Behaviour extends OpenVpnPreferencesFragment implements OnPreferenceChangeListener {
- private CheckBoxPreference mPersistent;
- private ListPreference mConnectretrymax;
- private EditTextPreference mConnectretry;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // Load the preferences from an XML resource
- addPreferencesFromResource(R.xml.vpn_behaviour);
-
- mPersistent = (CheckBoxPreference) findPreference("usePersistTun");
- mConnectretrymax = (ListPreference) findPreference("connectretrymax");
- mConnectretry = (EditTextPreference) findPreference("connectretry");
-
- mConnectretrymax.setOnPreferenceChangeListener(this);
- mConnectretrymax.setSummary("%s");
-
- mConnectretry.setOnPreferenceChangeListener(this);
-
-
- loadSettings();
-
- }
-
- protected void loadSettings() {
- mPersistent.setChecked(mProfile.mPersistTun);
-
- mConnectretrymax.setValue(mProfile.mConnectRetryMax);
- onPreferenceChange(mConnectretrymax, mProfile.mConnectRetryMax);
-
- mConnectretry.setText(mProfile.mConnectRetry);
- onPreferenceChange(mConnectretry, mProfile.mConnectRetry);
- }
-
-
- protected void saveSettings() {
- mProfile.mConnectRetryMax = mConnectretrymax.getValue();
- mProfile.mPersistTun = mPersistent.isChecked();
- mProfile.mConnectRetry = mConnectretry.getText();
- }
-
-
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (preference == mConnectretrymax) {
- if(newValue==null) {
- newValue="5";
- }
- mConnectretrymax.setDefaultValue(newValue);
-
- for(int i=0;i<mConnectretrymax.getEntryValues().length;i++){
- if(mConnectretrymax.getEntryValues().equals(newValue))
- mConnectretrymax.setSummary(mConnectretrymax.getEntries()[i]);
- }
-
- } else if (preference == mConnectretry) {
- if(newValue==null || newValue=="")
- newValue="5";
- mConnectretry.setSummary(String.format("%s s" , newValue));
- }
-
- return true;
- }
-
-} \ No newline at end of file
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Connections.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Connections.java
index 67b49e87..eb77173c 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Connections.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Connections.java
@@ -20,8 +20,10 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.CheckBox;
+import android.widget.Checkable;
import android.widget.GridView;
import android.widget.ImageButton;
+import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
@@ -35,7 +37,7 @@ public class Settings_Connections extends Fragment implements View.OnClickListen
private VpnProfile mProfile;
private ConnectionsAdapter mConnectionsAdapter;
private TextView mWarning;
- private CheckBox mUseRandomRemote;
+ private Checkable mUseRandomRemote;
private RecyclerView mRecyclerView;
@Override
@@ -79,7 +81,7 @@ public class Settings_Connections extends Fragment implements View.OnClickListen
if(fab_button!=null)
fab_button.setOnClickListener(this);
- mUseRandomRemote = (CheckBox) v.findViewById(R.id.remote_random);
+ mUseRandomRemote = (Checkable) v.findViewById(R.id.remote_random);
mUseRandomRemote.setChecked(mProfile.mRemoteRandom);
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
index 8c3db416..98c39306 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
@@ -8,6 +8,7 @@ package de.blinkt.openvpn.fragments;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
+import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.widget.Toast;
@@ -23,6 +24,66 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
private EditTextPreference mMssFixValue;
private CheckBoxPreference mMssFixCheckBox;
+ private CheckBoxPreference mPersistent;
+ private ListPreference mConnectRetrymax;
+ private EditTextPreference mConnectRetry;
+
+ public void onCreateBehaviour(Bundle savedInstanceState) {
+
+ mPersistent = (CheckBoxPreference) findPreference("usePersistTun");
+ mConnectRetrymax = (ListPreference) findPreference("connectretrymax");
+ mConnectRetry = (EditTextPreference) findPreference("connectretry");
+
+ mConnectRetrymax.setOnPreferenceChangeListener(this);
+ mConnectRetrymax.setSummary("%s");
+
+ mConnectRetry.setOnPreferenceChangeListener(this);
+
+
+
+ }
+
+ protected void loadSettingsBehaviour() {
+ mPersistent.setChecked(mProfile.mPersistTun);
+
+ mConnectRetrymax.setValue(mProfile.mConnectRetryMax);
+ onPreferenceChange(mConnectRetrymax, mProfile.mConnectRetryMax);
+
+ mConnectRetry.setText(mProfile.mConnectRetry);
+ onPreferenceChange(mConnectRetry, mProfile.mConnectRetry);
+ }
+
+
+ protected void saveSettingsBehaviour() {
+ mProfile.mConnectRetryMax = mConnectRetrymax.getValue();
+ mProfile.mPersistTun = mPersistent.isChecked();
+ mProfile.mConnectRetry = mConnectRetry.getText();
+ }
+
+
+ public boolean onPreferenceChangeBehaviour(Preference preference, Object newValue) {
+ if (preference == mConnectRetrymax) {
+ if(newValue==null) {
+ newValue="5";
+ }
+ mConnectRetrymax.setDefaultValue(newValue);
+
+ for(int i=0;i< mConnectRetrymax.getEntryValues().length;i++){
+ if(mConnectRetrymax.getEntryValues().equals(newValue))
+ mConnectRetrymax.setSummary(mConnectRetrymax.getEntries()[i]);
+ }
+
+ } else if (preference == mConnectRetry) {
+ if(newValue==null || newValue=="")
+ newValue="5";
+ mConnectRetry.setSummary(String.format("%s s", newValue));
+ }
+
+ return true;
+ }
+
+
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -36,7 +97,7 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mMssFixCheckBox = (CheckBoxPreference) findPreference("mssFix");
mMssFixValue = (EditTextPreference) findPreference("mssFixValue");
mMssFixValue.setOnPreferenceChangeListener(this);
-
+ onCreateBehaviour(savedInstanceState);
loadSettings();
}
@@ -56,6 +117,7 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mMssFixCheckBox.setChecked(true);
setMssSummary(mProfile.mMssFix);
}
+ loadSettingsBehaviour();
}
@@ -73,6 +135,7 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
else
mProfile.mMssFix=0;
+ saveSettingsBehaviour();
}
@@ -89,7 +152,8 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
Toast.makeText(getActivity(), R.string.mssfix_invalid_value, Toast.LENGTH_LONG).show();
return false;
}
- return true;
+ return onPreferenceChangeBehaviour(preference, newValue);
+
}
} \ No newline at end of file
diff --git a/main/src/main/res/layout-v21/tabs.xml b/main/src/main/res/layout-v21/tabs.xml
index be6ce9f1..66f55938 100644
--- a/main/src/main/res/layout-v21/tabs.xml
+++ b/main/src/main/res/layout-v21/tabs.xml
@@ -10,6 +10,6 @@
android:layout_height="?android:attr/actionBarSize"
android:background="@drawable/bg_tabs"
blinkt:pstsIndicatorColor="@color/accent"
- blinkt:pstsIndicatorHeight="6dp"
- android:elevation="4dp" />
+ blinkt:pstsIndicatorHeight="3dp"
+ android:elevation="8dp" />
</merge> \ No newline at end of file
diff --git a/main/src/main/res/layout/allowed_vpn_apps.xml b/main/src/main/res/layout/allowed_vpn_apps.xml
index 66665cb6..53c48fd8 100644
--- a/main/src/main/res/layout/allowed_vpn_apps.xml
+++ b/main/src/main/res/layout/allowed_vpn_apps.xml
@@ -7,29 +7,34 @@
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
+ tools:ignore="RtlCompat"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/actionBarSize"
- android:background="@color/switchbar"
+ android:background="@drawable/bg_switchbar"
android:paddingStart="@dimen/switchbar_pad"
+ android:elevation="1dp"
android:paddingEnd="@dimen/switchbar_pad"
tools:ignore="NewApi">
+
+ <Switch
+ android:id="@+id/default_allow"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ />
<TextView
android:id="@+id/default_allow_text"
style="@android:style/TextAppearance.Medium.Inverse"
tools:text="@string/vpn_disallow_radio"
+ android:layout_toStartOf="@id/default_allow"
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:layout_height="wrap_content" />
- <Switch
- android:id="@+id/default_allow"
- android:layout_alignParentEnd="true"
- android:layout_centerVertical="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
</RelativeLayout>
<ListView
diff --git a/main/src/main/res/layout/connections.xml b/main/src/main/res/layout/connections.xml
index 44980e44..ed812f6d 100644
--- a/main/src/main/res/layout/connections.xml
+++ b/main/src/main/res/layout/connections.xml
@@ -11,20 +11,41 @@
android:orientation="vertical">
+ <RelativeLayout
+ android:id="@+id/switchBar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/actionBarSize"
+ android:background="@drawable/bg_switchbar"
+ android:elevation="1dp"
+ android:paddingStart="@dimen/switchbar_pad"
+ android:paddingEnd="@dimen/switchbar_pad"
+ >
+ <Switch
+ android:id="@+id/remote_random"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView
+ android:id="@+id/default_allow_text"
+ style="@android:style/TextAppearance.Medium.Inverse"
+ android:text="@string/remote_random"
+ android:layout_toStartOf="@id/remote_random"
+ android:layout_toLeftOf="@id/remote_random"
+ android:layout_width="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_height="wrap_content" />
+
+ </RelativeLayout>
- <CheckBox
- android:layout_margin="@dimen/vpn_setting_padding"
- android:text="@string/remote_random"
- android:id="@+id/remote_random"
- android:padding="@dimen/stdpadding"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
<android.support.v7.widget.RecyclerView
android:layout_margin="@dimen/vpn_setting_padding"
android:id="@+id/connection_recycler_view"
- android:layout_below="@id/remote_random"
+ android:layout_below="@id/switchBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:verticalSpacing="@dimen/stdpadding"
@@ -45,7 +66,7 @@
android:padding="@dimen/stdpadding"
android:text="@string/remote_no_server_selected"
android:visibility="visible"
- tools:visibility="visible" />
+ tools:visibility="gone" />
<include layout="@layout/connection_fab" />
diff --git a/main/src/main/res/values/colours.xml b/main/src/main/res/values/colours.xml
index 3d8ce000..f27167f3 100644
--- a/main/src/main/res/values/colours.xml
+++ b/main/src/main/res/values/colours.xml
@@ -10,10 +10,11 @@
<color name="primary">#3F51B5</color> <!--500-->
<color name="primary_dark">#303F9F</color> <!--700-->
<color name="accent">#FFA726</color> <!-- Orange 400 -->
- <color name="switchbar">#5C6BC0</color> <!-- 400-->
<color name="gelb">#ffff00</color>
<color name="rot">#ff0000</color>
+ <color name="switchbar">@android:color/darker_gray</color>
+
<color name="background_tab_pressed">#1AFFFFFF</color>
diff --git a/main/src/main/res/values/strings.xml b/main/src/main/res/values/strings.xml
index 9c7ade61..aeb03712 100755
--- a/main/src/main/res/values/strings.xml
+++ b/main/src/main/res/values/strings.xml
@@ -342,5 +342,8 @@
<string name="remote_no_server_selected">You need to define and enable at least one remote server.</string>
<string name="server_list">Server List</string>
<string name="vpn_allowed_apps">Allowed Apps</string>
+ <string name="advanced_settings">Advanced Settings</string>
+ <string name="payload_options">Payload options</string>
+ <string name="tls_settings">TLS Settings</string>
</resources>
diff --git a/main/src/main/res/xml/vpn_authentification.xml b/main/src/main/res/xml/vpn_authentification.xml
index cea54b8f..d2f6ad25 100644
--- a/main/src/main/res/xml/vpn_authentification.xml
+++ b/main/src/main/res/xml/vpn_authentification.xml
@@ -1,26 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2012-2014 Arne Schwabe
~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
-->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <PreferenceCategory android:title="@string/tls_settings">
+ <CheckBoxPreference
+ android:key="remoteServerTLS"
+ android:summary="@string/check_remote_tlscert"
+ android:title="@string/check_remote_tlscert_title" />
+ <CheckBoxPreference
+ android:key="checkRemoteCN"
+ android:summary="@string/remote_tlscn_check_summary"
+ android:title="@string/remote_tlscn_check_title" />
- <CheckBoxPreference
- android:key="remoteServerTLS"
- android:summary="@string/check_remote_tlscert"
- android:title="@string/check_remote_tlscert_title" />
- <CheckBoxPreference
- android:key="checkRemoteCN"
- android:summary="@string/remote_tlscn_check_summary"
- android:title="@string/remote_tlscn_check_title" />
-
- <de.blinkt.openvpn.views.RemoteCNPreference
- android:dependency="checkRemoteCN"
- android:key="remotecn"
- android:title="@string/enter_tlscn_title" />
-
- <PreferenceCategory android:title="@string/tls_authentication" >
+ <de.blinkt.openvpn.views.RemoteCNPreference
+ android:dependency="checkRemoteCN"
+ android:key="remotecn"
+ android:title="@string/enter_tlscn_title" />
+ </PreferenceCategory>
+ <PreferenceCategory android:title="@string/tls_authentication">
<SwitchPreference
android:key="useTLSAuth"
android:summary="@string/tls_key_auth"
@@ -39,7 +38,7 @@
android:persistent="false"
android:title="@string/tls_direction" />
</PreferenceCategory>
- <PreferenceCategory android:title="@string/encryption" >
+ <PreferenceCategory android:title="@string/encryption">
<EditTextPreference
android:dialogMessage="@string/chipher_dialog_message"
android:dialogTitle="@string/cipher_dialog_title"
diff --git a/main/src/main/res/xml/vpn_behaviour.xml b/main/src/main/res/xml/vpn_behaviour.xml
deleted file mode 100644
index de27b676..00000000
--- a/main/src/main/res/xml/vpn_behaviour.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- ~ Copyright (c) 2012-2014 Arne Schwabe
- ~ Distributed under the GNU GPL v2. For full terms see the file doc/LICENSE.txt
- -->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/client_behaviour">
-
- <CheckBoxPreference
- android:key="usePersistTun"
- android:summary="@string/persisttun_summary"
- android:title="@string/persistent_tun_title" />
-
-
- <PreferenceCategory android:title="@string/reconnection_settings">
- <ListPreference
- android:entries="@array/crm_entries"
- android:entryValues="@array/crm_values"
- android:key="connectretrymax"
- android:persistent="false"
- android:title="@string/connection_retries" />
-
- <EditTextPreference
- android:dialogMessage="@string/connectretrymessage"
- android:key="connectretry"
- android:persistent="false"
- android:title="@string/connectretrywait" />
- </PreferenceCategory>
-</PreferenceScreen> \ No newline at end of file
diff --git a/main/src/main/res/xml/vpn_obscure.xml b/main/src/main/res/xml/vpn_obscure.xml
index 2d5269c5..288752aa 100644
--- a/main/src/main/res/xml/vpn_obscure.xml
+++ b/main/src/main/res/xml/vpn_obscure.xml
@@ -1,12 +1,32 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2012-2014 Arne Schwabe
~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="Obscure Settings">
+ android:title="@string/advanced_settings">
+ <PreferenceCategory android:title="@string/client_behaviour">
+ <CheckBoxPreference
+ android:key="usePersistTun"
+ android:summary="@string/persisttun_summary"
+ android:title="@string/persistent_tun_title" />
+
+ </PreferenceCategory>
+ <PreferenceCategory android:title="@string/reconnection_settings">
+ <ListPreference
+ android:entries="@array/crm_entries"
+ android:entryValues="@array/crm_values"
+ android:key="connectretrymax"
+ android:persistent="false"
+ android:title="@string/connection_retries" />
+
+ <EditTextPreference
+ android:dialogMessage="@string/connectretrymessage"
+ android:key="connectretry"
+ android:persistent="false"
+ android:title="@string/connectretrywait" />
+ </PreferenceCategory>
<CheckBoxPreference
android:key="useRandomHostname"
@@ -19,7 +39,7 @@
android:summary="@string/float_summary"
android:title="@string/float_title" />
- <PreferenceCategory android:title="Payload options">
+ <PreferenceCategory android:title="@string/payload_options">
<CheckBoxPreference
android:key="mssFix"
android:persistent="false"