File tree Expand file tree Collapse file tree 3 files changed +16
-1
lines changed
app/src/main/kotlin/io/element/android/x
libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api Expand file tree Collapse file tree 3 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import io.element.android.features.rageshake.api.reporter.BugReporter
16
16
import io.element.android.libraries.core.meta.BuildMeta
17
17
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
18
18
import io.element.android.libraries.di.AppScope
19
+ import io.element.android.libraries.featureflag.api.FeatureFlagService
19
20
import io.element.android.libraries.matrix.api.tracing.TracingService
20
21
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
21
22
import io.element.android.services.analytics.api.AnalyticsService
@@ -40,5 +41,7 @@ interface AppBindings {
40
41
41
42
fun enterpriseService (): EnterpriseService
42
43
44
+ fun featureFlagService (): FeatureFlagService
45
+
43
46
fun buildMeta (): BuildMeta
44
47
}
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import android.system.Os
12
12
import androidx.startup.Initializer
13
13
import io.element.android.features.rageshake.api.reporter.BugReporter
14
14
import io.element.android.libraries.architecture.bindings
15
+ import io.element.android.libraries.featureflag.api.FeatureFlags
15
16
import io.element.android.libraries.matrix.api.tracing.TracingConfiguration
16
17
import io.element.android.libraries.matrix.api.tracing.WriteToFilesConfiguration
17
18
import io.element.android.x.di.AppBindings
@@ -28,9 +29,10 @@ class TracingInitializer : Initializer<Unit> {
28
29
val bugReporter = appBindings.bugReporter()
29
30
Timber .plant(tracingService.createTimberTree(ELEMENT_X_TARGET ))
30
31
val preferencesStore = appBindings.preferencesStore()
32
+ val featureFlagService = appBindings.featureFlagService()
31
33
val logLevel = runBlocking { preferencesStore.getTracingLogLevelFlow().first() }
32
34
val tracingConfiguration = TracingConfiguration (
33
- writesToLogcat = true ,
35
+ writesToLogcat = runBlocking { featureFlagService.isFeatureEnabled( FeatureFlags . PrintLogsToLogcat ) } ,
34
36
writesToFilesConfiguration = defaultWriteToDiskConfiguration(bugReporter),
35
37
logLevel = logLevel,
36
38
extraTargets = listOf (ELEMENT_X_TARGET ),
Original file line number Diff line number Diff line change @@ -168,4 +168,14 @@ enum class FeatureFlags(
168
168
defaultValue = { true },
169
169
isFinished = false ,
170
170
),
171
+ PrintLogsToLogcat (
172
+ key = " feature.print_logs_to_logcat" ,
173
+ title = " Print logs to logcat" ,
174
+ description = " Print logs to logcat in addition to log files. Requires an app restart to take effect." +
175
+ " \n\n WARNING: this will make the logs visible in the device logs and may affect performance. " +
176
+ " It's not intended for daily usage in release builds." ,
177
+ defaultValue = { buildMeta -> buildMeta.buildType != BuildType .RELEASE },
178
+ // False so it's displayed in the developer options screen
179
+ isFinished = false ,
180
+ )
171
181
}
You can’t perform that action at this time.
0 commit comments