summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-09-06 17:32:41 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-09-07 15:26:26 +0100
commitc4b490be6a23a8e1c6b6045d6cb563e2a5ebadec (patch)
tree97f60be0271a5afdb65084329e173b366744fb96
parent70de9106fb2be220e47458d7843acf64747bc1b0 (diff)
downloadmullvadvpn-c4b490be6a23a8e1c6b6045d6cb563e2a5ebadec.tar.xz
mullvadvpn-c4b490be6a23a8e1c6b6045d6cb563e2a5ebadec.zip
Update public key model in Android
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt2
-rw-r--r--mullvad-jni/src/into_java.rs16
-rw-r--r--mullvad-jni/src/lib.rs2
3 files changed, 12 insertions, 8 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
index 30408c4a9b..1931f40ec7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/PublicKey.kt
@@ -1,3 +1,3 @@
package net.mullvad.mullvadvpn.model
-data class PublicKey(val key: ByteArray)
+data class PublicKey(val key: ByteArray, val dateCreated: String)
diff --git a/mullvad-jni/src/into_java.rs b/mullvad-jni/src/into_java.rs
index e85e5b2f3f..1e46973c32 100644
--- a/mullvad-jni/src/into_java.rs
+++ b/mullvad-jni/src/into_java.rs
@@ -14,7 +14,7 @@ use mullvad_types::{
settings::Settings,
states::TunnelState,
version::AppVersionInfo,
- wireguard::KeygenEvent,
+ wireguard::{KeygenEvent, PublicKey},
CustomTunnelEndpoint,
};
use std::{
@@ -23,7 +23,7 @@ use std::{
};
use talpid_core::tunnel::tun_provider::TunConfig;
use talpid_types::{
- net::{wireguard::PublicKey, Endpoint, TransportProtocol, TunnelEndpoint},
+ net::{Endpoint, TransportProtocol, TunnelEndpoint},
tunnel::{ActionAfterDisconnect, BlockReason, ParameterGenerationError},
};
@@ -214,10 +214,14 @@ impl<'env> IntoJava<'env> for PublicKey {
fn into_java(self, env: &JNIEnv<'env>) -> Self::JavaType {
let class = get_class("net/mullvad/mullvadvpn/model/PublicKey");
- let key = env.auto_local(self.as_bytes().into_java(env));
- let parameters = [JValue::Object(key.as_obj())];
+ let key = env.auto_local(self.key.as_bytes().into_java(env));
+ let date_created = env.auto_local(*self.created.to_string().into_java(env));
+ let parameters = [
+ JValue::Object(key.as_obj()),
+ JValue::Object(date_created.as_obj()),
+ ];
- env.new_object(&class, "([B)V", &parameters)
+ env.new_object(&class, "([BLjava/lang/String;)V", &parameters)
.expect("Failed to create PublicKey Java object")
}
}
@@ -546,7 +550,7 @@ impl<'env> IntoJava<'env> for KeygenEvent {
match self {
KeygenEvent::NewKey(public_key) => {
let class = get_class("net/mullvad/mullvadvpn/model/KeygenEvent$NewKey");
- let java_public_key = env.auto_local(public_key.key.into_java(env));
+ let java_public_key = env.auto_local(public_key.into_java(env));
let parameters = [
JValue::Object(java_public_key.as_obj()),
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index afe7ce7229..fd177f67d6 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -433,7 +433,7 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_MullvadDaemon_getWireguardKey
_: JObject<'this>,
) -> JObject<'env> {
match DAEMON_INTERFACE.get_wireguard_key() {
- Ok(key) => key.map(|k| k.key).into_java(&env),
+ Ok(key) => key.into_java(&env),
Err(error) => {
log::error!(
"{}",