diff options
Diffstat (limited to 'talpid-core/src')
| -rw-r--r-- | talpid-core/src/tunnel/tun_provider/android/mod.rs | 8 |
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))), } } |
