summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-03 15:18:19 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-04 12:17:24 +0000
commit50a93e08baf26a09c6c09a2a29ba390e430a70d3 (patch)
tree84cf680994408765b6777fcbb1d24e337bcad484
parent97f6d7958a5ad682de2e13d31005df59b4a4b754 (diff)
downloadmullvadvpn-50a93e08baf26a09c6c09a2a29ba390e430a70d3.tar.xz
mullvadvpn-50a93e08baf26a09c6c09a2a29ba390e430a70d3.zip
Send `AndroidContext` parameter to offline monitor
-rw-r--r--talpid-core/src/offline/android.rs2
-rw-r--r--talpid-core/src/offline/mod.rs13
-rw-r--r--talpid-core/src/tunnel_state_machine/mod.rs8
3 files changed, 19 insertions, 4 deletions
diff --git a/talpid-core/src/offline/android.rs b/talpid-core/src/offline/android.rs
index 1ab34de87c..dbef66832f 100644
--- a/talpid-core/src/offline/android.rs
+++ b/talpid-core/src/offline/android.rs
@@ -6,6 +6,7 @@ use jnix::jni::{
JNIEnv,
};
use std::sync::Weak;
+use talpid_types::android::AndroidContext;
#[derive(err_derive::Error, Debug)]
#[error(display = "Unknown offline monitor error")]
@@ -55,6 +56,7 @@ unsafe fn get_sender_from_address(address: jlong) -> Box<Weak<UnboundedSender<Tu
pub fn spawn_monitor(
_sender: Weak<UnboundedSender<TunnelCommand>>,
+ _android_context: AndroidContext,
) -> Result<MonitorHandle, Error> {
Ok(MonitorHandle)
}
diff --git a/talpid-core/src/offline/mod.rs b/talpid-core/src/offline/mod.rs
index 9b28171fc2..268193407e 100644
--- a/talpid-core/src/offline/mod.rs
+++ b/talpid-core/src/offline/mod.rs
@@ -1,6 +1,8 @@
use crate::tunnel_state_machine::TunnelCommand;
use futures::sync::mpsc::UnboundedSender;
use std::sync::Weak;
+#[cfg(target_os = "android")]
+use talpid_types::android::AndroidContext;
#[cfg(target_os = "macos")]
#[path = "macos.rs"]
@@ -28,6 +30,13 @@ impl MonitorHandle {
}
}
-pub fn spawn_monitor(sender: Weak<UnboundedSender<TunnelCommand>>) -> Result<MonitorHandle, Error> {
- Ok(MonitorHandle(imp::spawn_monitor(sender)?))
+pub fn spawn_monitor(
+ sender: Weak<UnboundedSender<TunnelCommand>>,
+ #[cfg(target_os = "android")] android_context: AndroidContext,
+) -> Result<MonitorHandle, Error> {
+ Ok(MonitorHandle(imp::spawn_monitor(
+ sender,
+ #[cfg(target_os = "android")]
+ android_context,
+ )?))
}
diff --git a/talpid-core/src/tunnel_state_machine/mod.rs b/talpid-core/src/tunnel_state_machine/mod.rs
index d81a787f1a..b86795491d 100644
--- a/talpid-core/src/tunnel_state_machine/mod.rs
+++ b/talpid-core/src/tunnel_state_machine/mod.rs
@@ -78,8 +78,12 @@ where
{
let (command_tx, command_rx) = mpsc::unbounded();
let command_tx = Arc::new(command_tx);
- let offline_monitor =
- offline::spawn_monitor(Arc::downgrade(&command_tx)).map_err(Error::OfflineMonitorError)?;
+ let offline_monitor = offline::spawn_monitor(
+ Arc::downgrade(&command_tx),
+ #[cfg(target_os = "android")]
+ android_context.clone(),
+ )
+ .map_err(Error::OfflineMonitorError)?;
let is_offline = offline_monitor.is_offline();
let tun_provider = TunProvider::new(