aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/backend
diff options
context:
space:
mode:
authorZachary Wander <zachary.wander@gmail.com>2018-12-10 19:05:53 -0500
committerJason A. Donenfeld <Jason@zx2c4.com>2018-12-11 02:21:23 +0100
commitd55c358256f301b59c4fccc1bbe1fee49d507389 (patch)
tree198b094cf6e0bb92508a738924cfc69ebc0e2c81 /app/src/main/java/com/wireguard/android/backend
parentLowercase endpoint in exception message (diff)
downloadwireguard-android-d55c358256f301b59c4fccc1bbe1fee49d507389.tar.xz
wireguard-android-d55c358256f301b59c4fccc1bbe1fee49d507389.zip
Localize exception messages
Diffstat (limited to 'app/src/main/java/com/wireguard/android/backend')
-rw-r--r--app/src/main/java/com/wireguard/android/backend/Backend.java2
-rw-r--r--app/src/main/java/com/wireguard/android/backend/GoBackend.java18
-rw-r--r--app/src/main/java/com/wireguard/android/backend/WgQuickBackend.java11
3 files changed, 18 insertions, 13 deletions
diff --git a/app/src/main/java/com/wireguard/android/backend/Backend.java b/app/src/main/java/com/wireguard/android/backend/Backend.java
index 64bb3d02..fe4b0bda 100644
--- a/app/src/main/java/com/wireguard/android/backend/Backend.java
+++ b/app/src/main/java/com/wireguard/android/backend/Backend.java
@@ -57,7 +57,7 @@ public interface Backend {
*
* @return Type name
*/
- String getTypeName();
+ String getTypePrettyName();
/**
* Determine version of underlying backend.
diff --git a/app/src/main/java/com/wireguard/android/backend/GoBackend.java b/app/src/main/java/com/wireguard/android/backend/GoBackend.java
index 97cf0f8e..e9ac079b 100644
--- a/app/src/main/java/com/wireguard/android/backend/GoBackend.java
+++ b/app/src/main/java/com/wireguard/android/backend/GoBackend.java
@@ -14,6 +14,7 @@ import android.support.v4.util.ArraySet;
import android.util.Log;
import com.wireguard.android.Application;
+import com.wireguard.android.R;
import com.wireguard.android.activity.MainActivity;
import com.wireguard.android.model.Tunnel;
import com.wireguard.android.model.Tunnel.State;
@@ -26,6 +27,7 @@ import com.wireguard.config.Peer;
import java.net.InetAddress;
import java.util.Collections;
+import java.util.Locale;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@@ -93,8 +95,8 @@ public final class GoBackend implements Backend {
}
@Override
- public String getTypeName() {
- return "Go userspace";
+ public String getTypePrettyName() {
+ return context.getResources().getString(R.string.type_name_go_userspace);
}
@Override
@@ -110,7 +112,7 @@ public final class GoBackend implements Backend {
if (state == originalState)
return originalState;
if (state == State.UP && currentTunnel != null)
- throw new IllegalStateException("Only one userspace tunnel can run at a time");
+ throw new IllegalStateException(context.getResources().getString(R.string.multiple_tunnels_error));
Log.d(TAG, "Changing tunnel " + tunnel.getName() + " to state " + state);
setStateInternal(tunnel, tunnel.getConfig(), state);
return getState(tunnel);
@@ -122,10 +124,10 @@ public final class GoBackend implements Backend {
if (state == State.UP) {
Log.i(TAG, "Bringing tunnel up");
- Objects.requireNonNull(config, "Trying to bring up a tunnel with no config");
+ Objects.requireNonNull(config, context.getResources().getString(R.string.no_config_error));
if (VpnService.prepare(context) != null)
- throw new Exception("VPN service not authorized by user");
+ throw new Exception(context.getResources().getString(R.string.vpn_not_authed_error));
final VpnService service;
if (!vpnService.isDone())
@@ -134,7 +136,7 @@ public final class GoBackend implements Backend {
try {
service = vpnService.get(2, TimeUnit.SECONDS);
} catch (final TimeoutException e) {
- throw new Exception("Unable to start Android VPN service", e);
+ throw new Exception(context.getResources().getString(R.string.vpn_start_error), e);
}
if (currentTunnelHandle != -1) {
@@ -172,12 +174,12 @@ public final class GoBackend implements Backend {
builder.setBlocking(true);
try (final ParcelFileDescriptor tun = builder.establish()) {
if (tun == null)
- throw new Exception("Unable to create tun device");
+ throw new Exception(context.getResources().getString(R.string.tun_create_error));
Log.d(TAG, "Go backend v" + wgVersion());
currentTunnelHandle = wgTurnOn(tunnel.getName(), tun.detachFd(), goConfig);
}
if (currentTunnelHandle < 0)
- throw new Exception("Unable to turn tunnel on (wgTurnOn return " + currentTunnelHandle + ')');
+ throw new Exception(String.format(Locale.getDefault(), context.getResources().getString(R.string.tunnel_on_error), currentTunnelHandle));
currentTunnel = tunnel;
diff --git a/app/src/main/java/com/wireguard/android/backend/WgQuickBackend.java b/app/src/main/java/com/wireguard/android/backend/WgQuickBackend.java
index b69845be..7535b95c 100644
--- a/app/src/main/java/com/wireguard/android/backend/WgQuickBackend.java
+++ b/app/src/main/java/com/wireguard/android/backend/WgQuickBackend.java
@@ -10,6 +10,7 @@ import android.support.annotation.Nullable;
import android.util.Log;
import com.wireguard.android.Application;
+import com.wireguard.android.R;
import com.wireguard.android.model.Tunnel;
import com.wireguard.android.model.Tunnel.State;
import com.wireguard.android.model.Tunnel.Statistics;
@@ -36,9 +37,11 @@ public final class WgQuickBackend implements Backend {
private static final String TAG = "WireGuard/" + WgQuickBackend.class.getSimpleName();
private final File localTemporaryDir;
+ private final Context context;
public WgQuickBackend(final Context context) {
localTemporaryDir = new File(context.getCacheDir(), "tmp");
+ this.context = context;
}
@Override
@@ -84,8 +87,8 @@ public final class WgQuickBackend implements Backend {
}
@Override
- public String getTypeName() {
- return "Kernel module";
+ public String getTypePrettyName() {
+ return context.getResources().getString(R.string.type_name_kernel_module);
}
@Override
@@ -93,7 +96,7 @@ public final class WgQuickBackend implements Backend {
final List<String> output = new ArrayList<>();
if (Application.getRootShell()
.run(output, "cat /sys/module/wireguard/version") != 0 || output.isEmpty())
- throw new Exception("Unable to determine kernel module version");
+ throw new Exception(context.getResources().getString(R.string.module_version_error));
return output.get(0);
}
@@ -125,6 +128,6 @@ public final class WgQuickBackend implements Backend {
// noinspection ResultOfMethodCallIgnored
tempFile.delete();
if (result != 0)
- throw new Exception("Unable to configure tunnel (wg-quick returned " + result + ')');
+ throw new Exception(context.getResources().getString(R.string.tunnel_config_error));
}
}