diff options
| -rw-r--r-- | talpid-types/src/android/mod.rs | 13 |
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(), + } + } +} |
