summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-20 09:35:24 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-04 12:17:24 +0000
commit97f6d7958a5ad682de2e13d31005df59b4a4b754 (patch)
tree4c42ceb4fbbcd9101243057d6c377582e6aba5e1
parentcf7f1c4fb77b7f37f06425a18676b2e778f4f7f2 (diff)
downloadmullvadvpn-97f6d7958a5ad682de2e13d31005df59b4a4b754.tar.xz
mullvadvpn-97f6d7958a5ad682de2e13d31005df59b4a4b754.zip
Implement `Clone` for `AndroidContext`
-rw-r--r--talpid-types/src/android/mod.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/talpid-types/src/android/mod.rs b/talpid-types/src/android/mod.rs
index 70c34fea95..1c8522509d 100644
--- a/talpid-types/src/android/mod.rs
+++ b/talpid-types/src/android/mod.rs
@@ -4,3 +4,16 @@ pub struct AndroidContext {
pub jvm: JavaVM,
pub vpn_service: GlobalRef,
}
+
+impl Clone for AndroidContext {
+ fn clone(&self) -> Self {
+ let jvm_pointer = self.jvm.get_java_vm_pointer();
+ let jvm =
+ unsafe { JavaVM::from_raw(jvm_pointer).expect("Failed to get pointer to Java VM") };
+
+ AndroidContext {
+ jvm,
+ vpn_service: self.vpn_service.clone(),
+ }
+ }
+}