summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/OpenVPN.java
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2013-01-01 17:35:10 +0100
committerArne Schwabe <arne@rfc2549.org>2013-01-01 17:35:10 +0100
commit410900f7619be50371d2fe3163873f2422928660 (patch)
tree37095b2c8a0ea0d52796664fca47201f4e005cb7 /src/de/blinkt/openvpn/OpenVPN.java
parentd378e3b493737c5283b29e8c49d8c2b289c891fa (diff)
Make state messages translatable and nicer.
Diffstat (limited to 'src/de/blinkt/openvpn/OpenVPN.java')
-rw-r--r--src/de/blinkt/openvpn/OpenVPN.java49
1 files changed, 42 insertions, 7 deletions
diff --git a/src/de/blinkt/openvpn/OpenVPN.java b/src/de/blinkt/openvpn/OpenVPN.java
index e11d254f..342f02c0 100644
--- a/src/de/blinkt/openvpn/OpenVPN.java
+++ b/src/de/blinkt/openvpn/OpenVPN.java
@@ -19,6 +19,8 @@ public class OpenVPN {
private static String mLaststate;
+ private static int mLastStateresid=R.string.state_noprocess;
+
static {
logbuffer = new LinkedList<LogItem>();
logListener = new Vector<OpenVPN.LogListener>();
@@ -66,7 +68,7 @@ public class OpenVPN {
}
- String getString(Context c) {
+ public String getString(Context c) {
if(mMessage !=null) {
return mMessage;
} else {
@@ -97,7 +99,7 @@ public class OpenVPN {
}
public interface StateListener {
- void updateState(String state, String logmessage);
+ void updateState(String state, String logmessage, int localizedResId);
}
synchronized static void logMessage(int level,String prefix, String message)
@@ -128,7 +130,35 @@ public class OpenVPN {
public synchronized static void addStateListener(StateListener sl){
stateListener.add(sl);
if(mLaststate!=null)
- sl.updateState(mLaststate, mLaststatemsg);
+ sl.updateState(mLaststate, mLaststatemsg, mLastStateresid);
+ }
+
+ private static int getLocalizedState(String state){
+ if (state.equals("CONNECTING"))
+ return R.string.state_connecting;
+ else if (state.equals("WAIT"))
+ return R.string.state_wait;
+ else if (state.equals("AUTH"))
+ return R.string.state_auth;
+ else if (state.equals("GET_CONFIG"))
+ return R.string.state_get_config;
+ else if (state.equals("ASSIGN_IP"))
+ return R.string.state_assign_ip;
+ else if (state.equals("ADD_ROUTES"))
+ return R.string.state_add_routes;
+ else if (state.equals("CONNECTED"))
+ return R.string.state_connected;
+ else if (state.equals("RECONNECTING"))
+ return R.string.state_reconnecting;
+ else if (state.equals("EXITING"))
+ return R.string.state_exiting;
+ else if (state.equals("RESOLVE"))
+ return R.string.state_resolve;
+ else if (state.equals("TCP_CONNECT"))
+ return R.string.state_tcp_connect;
+ else
+ return R.string.unknown_state;
+
}
public synchronized static void removeStateListener(StateListener sl) {
@@ -157,12 +187,18 @@ public class OpenVPN {
}
- public synchronized static void updateStateString(String state, String msg) {
+ public static void updateStateString (String state, String msg) {
+ int rid = getLocalizedState(state);
+ updateStateString(state, msg,rid);
+ }
+
+ public synchronized static void updateStateString(String state, String msg, int resid) {
mLaststate= state;
mLaststatemsg = msg;
-
+ mLastStateresid = resid;
+
for (StateListener sl : stateListener) {
- sl.updateState(state,msg);
+ sl.updateState(state,msg,resid);
}
}
@@ -196,5 +232,4 @@ public class OpenVPN {
newlogItem(new LogItem(LogItem.ERROR, ressourceId,args));
}
-
}