diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-18 11:20:06 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-24 11:35:21 +0000 |
| commit | 394ff5731596832362756a89325214ebd2115883 (patch) | |
| tree | 9d78b6bd36a58448f5998f6d5f81ef0543c3c4e5 | |
| parent | a184f88564d8c2bd3ae9afa53b5ef77ee666dce3 (diff) | |
| download | mullvadvpn-394ff5731596832362756a89325214ebd2115883.tar.xz mullvadvpn-394ff5731596832362756a89325214ebd2115883.zip | |
Implement `MullvadProblemReport::sendProblemReport`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/MullvadProblemReport.kt | 5 | ||||
| -rw-r--r-- | mullvad-jni/src/lib.rs | 26 |
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 + } + } +} |
