diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-03 15:18:19 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-04 12:17:24 +0000 |
| commit | 50a93e08baf26a09c6c09a2a29ba390e430a70d3 (patch) | |
| tree | 84cf680994408765b6777fcbb1d24e337bcad484 | |
| parent | 97f6d7958a5ad682de2e13d31005df59b4a4b754 (diff) | |
| download | mullvadvpn-50a93e08baf26a09c6c09a2a29ba390e430a70d3.tar.xz mullvadvpn-50a93e08baf26a09c6c09a2a29ba390e430a70d3.zip | |
Send `AndroidContext` parameter to offline monitor
| -rw-r--r-- | talpid-core/src/offline/android.rs | 2 | ||||
| -rw-r--r-- | talpid-core/src/offline/mod.rs | 13 | ||||
| -rw-r--r-- | talpid-core/src/tunnel_state_machine/mod.rs | 8 |
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( |
