summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-06-18 11:20:06 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-06-24 11:35:21 +0000
commit394ff5731596832362756a89325214ebd2115883 (patch)
tree9d78b6bd36a58448f5998f6d5f81ef0543c3c4e5
parenta184f88564d8c2bd3ae9afa53b5ef77ee666dce3 (diff)
downloadmullvadvpn-394ff5731596832362756a89325214ebd2115883.tar.xz
mullvadvpn-394ff5731596832362756a89325214ebd2115883.zip
Implement `MullvadProblemReport::sendProblemReport`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt5
-rw-r--r--mullvad-jni/src/lib.rs26
2 files changed, 31 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt
index deb0af497e..fc3b45ee88 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt
@@ -37,4 +37,9 @@ class MullvadProblemReport {
}
private external fun collectReport(reportPath: String): Boolean
+ private external fun sendProblemReport(
+ userEmail: String,
+ userMessage: String,
+ reportPath: String
+ ): Boolean
}
diff --git a/mullvad-jni/src/lib.rs b/mullvad-jni/src/lib.rs
index 67a0fd54e2..e7a6e862fa 100644
--- a/mullvad-jni/src/lib.rs
+++ b/mullvad-jni/src/lib.rs
@@ -393,3 +393,29 @@ pub extern "system" fn Java_net_mullvad_mullvadvpn_dataproxy_MullvadProblemRepor
}
}
}
+
+#[no_mangle]
+#[allow(non_snake_case)]
+pub extern "system" fn Java_net_mullvad_mullvadvpn_dataproxy_MullvadProblemReport_sendProblemReport(
+ env: JNIEnv,
+ _: JObject,
+ userEmail: JString,
+ userMessage: JString,
+ outputPath: JString,
+) -> jboolean {
+ let user_email = String::from_java(&env, userEmail);
+ let user_message = String::from_java(&env, userMessage);
+ let output_path_string = String::from_java(&env, outputPath);
+ let output_path = Path::new(&output_path_string);
+
+ match mullvad_problem_report::send_problem_report(&user_email, &user_message, output_path) {
+ Ok(()) => JNI_TRUE,
+ Err(error) => {
+ log::error!(
+ "{}",
+ error.display_chain_with_msg("Failed to collect problem report")
+ );
+ JNI_FALSE
+ }
+ }
+}