Enable Rust trace log packs (#4514)

* Enable Rust trace log packs

This is a way to forcefully enable trace logs only for a few Rust crates in a safe way
This commit is contained in:
Jorge Martin Espinosa 2025-04-02 13:21:53 +02:00 committed by GitHub
parent b2791d5aad
commit c3ff9c9bda
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 131 additions and 4 deletions

View file

@ -8,6 +8,7 @@
package io.element.android.libraries.preferences.test
import io.element.android.libraries.matrix.api.tracing.LogLevel
import io.element.android.libraries.matrix.api.tracing.TraceLogPack
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@ -19,6 +20,7 @@ class InMemoryAppPreferencesStore(
theme: String? = null,
simplifiedSlidingSyncEnabled: Boolean = false,
logLevel: LogLevel = LogLevel.INFO,
traceLockPacks: Set<TraceLogPack> = emptySet(),
) : AppPreferencesStore {
private val isDeveloperModeEnabled = MutableStateFlow(isDeveloperModeEnabled)
private val hideImagesAndVideos = MutableStateFlow(hideImagesAndVideos)
@ -26,6 +28,7 @@ class InMemoryAppPreferencesStore(
private val theme = MutableStateFlow(theme)
private val simplifiedSlidingSyncEnabled = MutableStateFlow(simplifiedSlidingSyncEnabled)
private val logLevel = MutableStateFlow(logLevel)
private val tracingLogPacks = MutableStateFlow(traceLockPacks)
override suspend fun setDeveloperModeEnabled(enabled: Boolean) {
isDeveloperModeEnabled.value = enabled
@ -67,6 +70,14 @@ class InMemoryAppPreferencesStore(
return logLevel
}
override suspend fun setTracingLogPacks(logPacks: Set<TraceLogPack>) {
tracingLogPacks.value = logPacks
}
override fun getTracingLogPacksFlow(): Flow<Set<TraceLogPack>> {
return tracingLogPacks
}
override suspend fun reset() {
// No op
}