diff options
-rw-r--r-- | AndroidManifest.xml | 4 | ||||
-rw-r--r-- | res/layout/faq.xml | 8 | ||||
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/de/blinkt/openvpn/FaqFragment.java | 18 |
4 files changed, 21 insertions, 11 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 70ff7769..ad16b0ad 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -17,8 +17,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="de.blinkt.openvpn" - android:versionCode="51" - android:versionName="0.5.24" > + android:versionCode="52" + android:versionName="0.5.25" > <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> diff --git a/res/layout/faq.xml b/res/layout/faq.xml index dc591318..c4fd57f0 100644 --- a/res/layout/faq.xml +++ b/res/layout/faq.xml @@ -34,6 +34,14 @@ <TextView style="@style/faqhead" + android:text="@string/battery_consumption_title" /> + + <TextView + android:id="@+id/faq_battery" + style="@style/faqitem" /> + + <TextView + style="@style/faqhead" android:text="@string/tap_mode" /> <TextView diff --git a/res/values/strings.xml b/res/values/strings.xml index 69fb9e35..a0d1a4f0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -227,4 +227,6 @@ <string name="translation">Translation</string> <string name="openvpn_log">OpenVPN Log</string> <string name="import_config">Import OpenVPN configuration</string> + <string name="battery_consumption_title">Battery consumption</string> + <string name="baterry_consumption">In my personal tests the main reason for high battery consumption of OpenVPN are the keepalive packets. Most OpenVPN servers have a configuration directive like \'keepalive 10 60\' which translates to a keepalive packet from client to server and server to client every ten seconds. <p> While these packets are small and do not use much traffic, they keep the mobile radio network busy and increase the energy consumption. <p> This keepalive setting cannot be changed on the client. Only the system administrator of the OpenVPN can change the setting. <p> Unfortunatly using a keepalive larger than 60 seconds with udp has problems with some NAT gateways which terminate the state for a connnection after a short timeout (60s in my tests). Using TCP with long keepalive timeout works but has the TCP over TCP problem. (See <a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\">Why TCP Over TCP Is A Bad Ide</a>)</string> </resources> diff --git a/src/de/blinkt/openvpn/FaqFragment.java b/src/de/blinkt/openvpn/FaqFragment.java index c4d1913d..79029757 100644 --- a/src/de/blinkt/openvpn/FaqFragment.java +++ b/src/de/blinkt/openvpn/FaqFragment.java @@ -3,7 +3,6 @@ package de.blinkt.openvpn; import android.app.Fragment; import android.os.Bundle; import android.text.Html; -import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; import android.view.View; @@ -23,14 +22,9 @@ public class FaqFragment extends Fragment { Bundle savedInstanceState) { View v= inflater.inflate(R.layout.faq, container, false); - TextView bImages = (TextView) v.findViewById(R.id.brokenimages); - bImages.setText(Html.fromHtml(getActivity().getString(R.string.broken_images_faq))); - bImages.setMovementMethod(LinkMovementMethod.getInstance()); - - TextView quickstart = (TextView) v.findViewById(R.id.faq_howto); - Spanned htmltext = Html.fromHtml(getActivity().getString(R.string.faq_howto)); - quickstart.setText(htmltext); - quickstart.setMovementMethod(LinkMovementMethod.getInstance()); + insertHtmlEntry(v,R.id.brokenimages,R.string.broken_images_faq); + insertHtmlEntry(v,R.id.faq_howto,R.string.faq_howto); + insertHtmlEntry(v, R.id.faq_battery, R.string.baterry_consumption); return v; @@ -38,4 +32,10 @@ public class FaqFragment extends Fragment { } + private void insertHtmlEntry (View v, int viewId, int stringId) { + TextView faqitem = (TextView) v.findViewById(viewId); + faqitem.setText(Html.fromHtml(getActivity().getString(stringId))); + faqitem.setMovementMethod(LinkMovementMethod.getInstance()); + } + } |