From 1c6be2fb7843f2bb1a1c7b55367ad591548f7f23 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Tue, 13 Dec 2016 15:41:57 -0200
Subject: [PATCH] Include Commit ID in crash reports and feedback

---
 briar-android/build.gradle                         | 14 ++++++++++++++
 .../briar/android/reporting/BriarReportPrimer.java |  4 ++++
 2 files changed, 18 insertions(+)

diff --git a/briar-android/build.gradle b/briar-android/build.gradle
index 480892ad7f..a2c7c15690 100644
--- a/briar-android/build.gradle
+++ b/briar-android/build.gradle
@@ -62,6 +62,19 @@ dependencyVerification {
 	]
 }
 
+def getGitHash = { ->
+	def stdout = new ByteArrayOutputStream()
+	try {
+		exec {
+			commandLine 'git', 'rev-parse', '--short', 'HEAD'
+			standardOutput = stdout
+		}
+		return stdout.toString().trim()
+	} catch (Exception ignored) {
+		return "No commit hash"
+	}
+}
+
 android {
 	compileSdkVersion 23
 	buildToolsVersion "23.0.3"
@@ -70,6 +83,7 @@ android {
 		minSdkVersion 14
 		targetSdkVersion 22
 		resValue "string", "app_package", "org.briarproject.briar"
+		buildConfigField "String", "GitHash", "\"${getGitHash()}\""
 	}
 
 	buildTypes {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java b/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java
index 5e046e0155..db44f92be3 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java
@@ -17,6 +17,7 @@ import android.support.annotation.NonNull;
 import org.acra.builder.ReportBuilder;
 import org.acra.builder.ReportPrimer;
 import org.briarproject.bramble.util.StringUtils;
+import org.briarproject.briar.BuildConfig;
 
 import java.io.File;
 import java.lang.reflect.InvocationTargetException;
@@ -213,6 +214,9 @@ public class BriarReportPrimer implements ReportPrimer {
 			customData.put("Bluetooth address from settings",
 					scrubMacAddress(btSettingsAddr));
 
+			// Git commit ID
+			customData.put("Commit ID", BuildConfig.GitHash);
+
 			return Collections.unmodifiableMap(customData);
 		}
 	}
-- 
GitLab