Skip to content

Commit

Permalink
User interface instead of impl for consumer of StartupTracker
Browse files Browse the repository at this point in the history
  • Loading branch information
bidetofevil committed May 12, 2024
1 parent ddf4a92 commit b15618f
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import io.embrace.android.embracesdk.capture.memory.ComponentCallbackService
import io.embrace.android.embracesdk.capture.memory.EmbraceMemoryService
import io.embrace.android.embracesdk.capture.memory.MemoryService
import io.embrace.android.embracesdk.capture.memory.NoOpMemoryService
import io.embrace.android.embracesdk.capture.startup.AppStartupDataCollector
import io.embrace.android.embracesdk.capture.startup.AppStartupTraceEmitter
import io.embrace.android.embracesdk.capture.startup.StartupService
import io.embrace.android.embracesdk.capture.startup.StartupServiceImpl
Expand Down Expand Up @@ -68,7 +69,7 @@ internal interface DataCaptureServiceModule {

val startupTracker: StartupTracker

val appStartupTraceEmitter: AppStartupTraceEmitter
val appStartupDataCollector: AppStartupDataCollector
}

internal class DataCaptureServiceModuleImpl @JvmOverloads constructor(
Expand Down Expand Up @@ -146,7 +147,7 @@ internal class DataCaptureServiceModuleImpl @JvmOverloads constructor(
)
}

override val appStartupTraceEmitter: AppStartupTraceEmitter by singleton {
override val appStartupDataCollector: AppStartupDataCollector by singleton {
AppStartupTraceEmitter(
clock = initModule.openTelemetryClock,
startupServiceProvider = { startupService },
Expand All @@ -159,7 +160,7 @@ internal class DataCaptureServiceModuleImpl @JvmOverloads constructor(

override val startupTracker: StartupTracker by singleton {
StartupTracker(
appStartupDataCollector = appStartupTraceEmitter,
appStartupDataCollector = appStartupDataCollector,
logger = initModule.logger,
versionChecker = versionChecker,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import io.embrace.android.embracesdk.fakes.FakeActivity
import io.embrace.android.embracesdk.fakes.FakeAppStartupDataCollector
import io.embrace.android.embracesdk.fakes.FakeClock
import io.embrace.android.embracesdk.fakes.FakeEmbLogger
import io.embrace.android.embracesdk.fakes.FakeSplashScreenActivity
import io.embrace.android.embracesdk.internal.utils.BuildVersionChecker
import io.embrace.android.embracesdk.logging.InternalEmbraceLogger
import io.embrace.android.embracesdk.logging.EmbLogger
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
Expand All @@ -24,15 +25,15 @@ internal class StartupTrackerTest {
private lateinit var application: Application
private lateinit var clock: FakeClock
private lateinit var dataCollector: FakeAppStartupDataCollector
private lateinit var logger: InternalEmbraceLogger
private lateinit var logger: EmbLogger
private lateinit var startupTracker: StartupTracker
private lateinit var defaultActivityController: ActivityController<Activity>

@Before
fun setUp() {
application = RuntimeEnvironment.getApplication()
clock = FakeClock()
logger = InternalEmbraceLogger()
logger = FakeEmbLogger()
dataCollector = FakeAppStartupDataCollector(clock = clock)
startupTracker = StartupTracker(
appStartupDataCollector = dataCollector,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import io.embrace.android.embracesdk.capture.crumbs.BreadcrumbService
import io.embrace.android.embracesdk.capture.crumbs.PushNotificationCaptureService
import io.embrace.android.embracesdk.capture.memory.ComponentCallbackService
import io.embrace.android.embracesdk.capture.memory.MemoryService
import io.embrace.android.embracesdk.capture.startup.AppStartupTraceEmitter
import io.embrace.android.embracesdk.capture.startup.AppStartupDataCollector
import io.embrace.android.embracesdk.capture.startup.StartupService
import io.embrace.android.embracesdk.capture.startup.StartupTracker
import io.embrace.android.embracesdk.capture.thermalstate.NoOpThermalStatusService
Expand Down Expand Up @@ -38,6 +38,6 @@ internal class FakeDataCaptureServiceModule(
override val startupTracker: StartupTracker
get() = TODO("Not yet implemented")

override val appStartupTraceEmitter: AppStartupTraceEmitter
override val appStartupDataCollector: AppStartupDataCollector
get() = TODO("Not yet implemented")
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package io.embrace.android.embracesdk.injection
import io.embrace.android.embracesdk.capture.crumbs.EmbraceBreadcrumbService
import io.embrace.android.embracesdk.capture.memory.EmbraceMemoryService
import io.embrace.android.embracesdk.capture.memory.NoOpMemoryService
import io.embrace.android.embracesdk.capture.startup.AppStartupTraceEmitter
import io.embrace.android.embracesdk.capture.thermalstate.EmbraceThermalStatusService
import io.embrace.android.embracesdk.capture.thermalstate.NoOpThermalStatusService
import io.embrace.android.embracesdk.capture.webview.EmbraceWebViewService
Expand Down Expand Up @@ -50,6 +51,7 @@ internal class DataCaptureServiceModuleImplTest {
assertTrue(module.webviewService is EmbraceWebViewService)
assertTrue(module.breadcrumbService is EmbraceBreadcrumbService)
assertTrue(module.thermalStatusService is EmbraceThermalStatusService)
assertTrue(module.appStartupDataCollector is AppStartupTraceEmitter)
assertNotNull(module.pushNotificationService)
assertNotNull(module.componentCallbackService)
assertNotNull(module.startupService)
Expand Down

0 comments on commit b15618f

Please sign in to comment.