diff --git a/.idea/migrations.xml b/.idea/migrations.xml
new file mode 100644
index 0000000000..f8051a6f97
--- /dev/null
+++ b/.idea/migrations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/kotlin/io/element/android/x/initializer/TracingInitializer.kt b/app/src/main/kotlin/io/element/android/x/initializer/TracingInitializer.kt
index 853412e403..8dc0bf0e0e 100644
--- a/app/src/main/kotlin/io/element/android/x/initializer/TracingInitializer.kt
+++ b/app/src/main/kotlin/io/element/android/x/initializer/TracingInitializer.kt
@@ -57,6 +57,7 @@ class TracingInitializer : Initializer {
)
}
bugReporter.cleanLogDirectoryIfNeeded()
+ bugReporter.setCurrentTracingFilter(tracingConfiguration.filterConfiguration.filter)
tracingService.setupTracing(tracingConfiguration)
// Also set env variable for rust back trace
Os.setenv("RUST_BACKTRACE", "1", true)
diff --git a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/reporter/BugReporter.kt b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/reporter/BugReporter.kt
index 38992f25f5..d50ce28778 100644
--- a/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/reporter/BugReporter.kt
+++ b/features/rageshake/api/src/main/kotlin/io/element/android/features/rageshake/api/reporter/BugReporter.kt
@@ -47,4 +47,9 @@ interface BugReporter {
* Provide the log directory.
*/
fun logDirectory(): File
+
+ /**
+ * Set the current tracing filter.
+ */
+ fun setCurrentTracingFilter(tracingFilter: String)
}
diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt
index 3bd7405f52..5acf5b4103 100755
--- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt
+++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt
@@ -35,6 +35,7 @@ import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.core.mimetype.MimeTypes
import io.element.android.libraries.di.AppScope
import io.element.android.libraries.di.ApplicationContext
+import io.element.android.libraries.di.SingleIn
import io.element.android.libraries.network.useragent.UserAgentProvider
import io.element.android.libraries.sessionstorage.api.SessionStore
import io.element.android.services.toolbox.api.systemclock.SystemClock
@@ -63,6 +64,7 @@ import javax.inject.Provider
/**
* BugReporter creates and sends the bug reports.
*/
+@SingleIn(AppScope::class)
@ContributesBinding(AppScope::class)
class DefaultBugReporter @Inject constructor(
@ApplicationContext private val context: Context,
@@ -86,10 +88,10 @@ class DefaultBugReporter @Inject constructor(
// the pending bug report call
private var bugReportCall: Call? = null
-
// boolean to cancel the bug report
private val isCancelled = false
private val logcatCommandDebug = arrayOf("logcat", "-d", "-v", "threadtime", "*:*")
+ private var currentTracingFilter: String? = null
override suspend fun sendBugReport(
withDevicesLogs: Boolean,
@@ -153,6 +155,9 @@ class DefaultBugReporter @Inject constructor(
.addFormDataPart("device_id", deviceId)
.addFormDataPart("device", Build.MODEL.trim())
.addFormDataPart("locale", Locale.getDefault().toString())
+ currentTracingFilter?.let {
+ builder.addFormDataPart("tracing_filter", it)
+ }
// add the gzipped files, don't cancel the whole upload if only some file failed to upload
var uploadedSomeLogs = false
@@ -323,6 +328,10 @@ class DefaultBugReporter @Inject constructor(
}
}
+ override fun setCurrentTracingFilter(tracingFilter: String) {
+ currentTracingFilter = tracingFilter
+ }
+
/**
* @return the files on the log directory.
*/
diff --git a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/FakeBugReporter.kt b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/FakeBugReporter.kt
index 00343f8f6e..2cd9e61398 100644
--- a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/FakeBugReporter.kt
+++ b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/bugreport/FakeBugReporter.kt
@@ -59,6 +59,10 @@ class FakeBugReporter(val mode: FakeBugReporterMode = FakeBugReporterMode.Succes
override fun logDirectory(): File {
return File("fake")
}
+
+ override fun setCurrentTracingFilter(tracingFilter: String) {
+ // No op
+ }
}
enum class FakeBugReporterMode {