diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt index 6d0efa618..9e64818c3 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt @@ -16,9 +16,15 @@ private class EventWrapper>( private val event: EventMetricType, private val keyMapper: ((String) -> T)? = null ) { + private val String.asCamelCase: String + get() = this.split("_").reduceIndexed { index, acc, s -> + if (index == 0) acc + s + else acc + s.capitalize() + } + fun track(event: Event) { val extras = if (keyMapper != null) { - event.extras?.mapKeys { keyMapper.invoke(it.key) } + event.extras?.mapKeys { keyMapper.invoke(it.key.asCamelCase) } } else { null }