summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/tunnel/tun_provider/android/mod.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/talpid-core/src/tunnel/tun_provider/android/mod.rs b/talpid-core/src/tunnel/tun_provider/android/mod.rs
index 8bb7d4c93f..762f5e4382 100644
--- a/talpid-core/src/tunnel/tun_provider/android/mod.rs
+++ b/talpid-core/src/tunnel/tun_provider/android/mod.rs
@@ -193,15 +193,13 @@ impl AndroidTunProvider {
let result = self.call_method(
"getTun",
- "(Lnet/mullvad/talpid/tun_provider/TunConfig;)I",
- JavaType::Primitive(Primitive::Int),
+ "(Lnet/mullvad/talpid/tun_provider/TunConfig;)Lnet/mullvad/talpid/CreateTunResult;",
+ JavaType::Object("net/mullvad/talpid/CreateTunResult".to_owned()),
&[JValue::Object(java_config.as_obj())],
)?;
match result {
- JValue::Int(0) => Err(Error::TunnelDeviceError),
- JValue::Int(-1) => Err(Error::PermissionDenied),
- JValue::Int(fd) => Ok(fd),
+ JValue::Object(result) => CreateTunResult::from_java(&env, result).into(),
value => Err(Error::InvalidMethodResult("getTun", format!("{:?}", value))),
}
}