Don't use the not-really-public EventMetricType
parent
f9c791c93b
commit
fd7dcf36cf
|
@ -4,7 +4,6 @@
|
|||
package org.mozilla.fenix.components.metrics
|
||||
|
||||
import android.content.Context
|
||||
import mozilla.components.service.glean.metrics.EventMetricType
|
||||
import mozilla.components.service.glean.Glean
|
||||
import mozilla.components.support.utils.Browsers
|
||||
import org.mozilla.fenix.BuildConfig
|
||||
|
@ -13,8 +12,8 @@ import org.mozilla.fenix.GleanMetrics.Metrics
|
|||
import org.mozilla.fenix.GleanMetrics.Events
|
||||
|
||||
private class EventWrapper<T : Enum<T>>(
|
||||
private val event: EventMetricType<T>,
|
||||
private val keyMapper: ((String) -> T)? = null
|
||||
private val recorder: ((Map<T, String>?) -> Unit),
|
||||
private val keyMapper: ((String) -> T)?
|
||||
) {
|
||||
private val String.asCamelCase: String
|
||||
get() = this.split("_").reduceIndexed { index, acc, s ->
|
||||
|
@ -29,16 +28,28 @@ private class EventWrapper<T : Enum<T>>(
|
|||
null
|
||||
}
|
||||
|
||||
this.event.record(extras)
|
||||
this.recorder(extras)
|
||||
}
|
||||
}
|
||||
|
||||
private val Event.wrapper
|
||||
get() = when (this) {
|
||||
is Event.OpenedApp -> EventWrapper(Events.appOpened) { Events.appOpenedKeys.valueOf(it) }
|
||||
is Event.SearchBarTapped -> EventWrapper(Events.searchBarTapped) { Events.searchBarTappedKeys.valueOf(it) }
|
||||
is Event.EnteredUrl -> EventWrapper(Events.enteredUrl) { Events.enteredUrlKeys.valueOf(it) }
|
||||
is Event.PerformedSearch -> EventWrapper(Events.performedSearch) { Events.performedSearchKeys.valueOf(it) }
|
||||
is Event.OpenedApp -> EventWrapper(
|
||||
{ Events.appOpened.record(it) },
|
||||
{ Events.appOpenedKeys.valueOf(it) }
|
||||
)
|
||||
is Event.SearchBarTapped -> EventWrapper(
|
||||
{ Events.searchBarTapped.record(it) },
|
||||
{ Events.searchBarTappedKeys.valueOf(it) }
|
||||
)
|
||||
is Event.EnteredUrl -> EventWrapper(
|
||||
{ Events.enteredUrl.record(it) },
|
||||
{ Events.enteredUrlKeys.valueOf(it) }
|
||||
)
|
||||
is Event.PerformedSearch -> EventWrapper(
|
||||
{ Events.performedSearch.record(it) },
|
||||
{ Events.performedSearchKeys.valueOf(it) }
|
||||
)
|
||||
else -> null
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue