Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EMBR-631] Make ApiUrlBuilder independent from ConfigService. #10

Merged
merged 22 commits into from
Nov 1, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
aaa8fc0
[EMBR-631] Make ApiUrlBuilder independent from ConfigService.
lucaslabari Oct 18, 2023
389abb9
Revert "[EMBR-631] Make ApiUrlBuilder independent from ConfigService."
lucaslabari Oct 27, 2023
e8c06c1
Merge branch 'master' into lucas/EMBR-631
lucaslabari Oct 27, 2023
2c58825
[EMBR-631] Break circular dependencies within EssentialServiceModule.
lucaslabari Oct 27, 2023
25ee1bc
Merge branch 'master' into lucas/EMBR-631
lucaslabari Oct 27, 2023
79225b4
Merge branch 'master' into lucas/EMBR-631
lucaslabari Oct 30, 2023
ae14578
[EMBR-631] Use deviceId from preferenceService in test.
lucaslabari Oct 30, 2023
dd9969b
[EMBR-631] Create FakeApiUrlBuilder
lucaslabari Oct 30, 2023
bf2d0c5
[EMBR-631] Avoid init in FakeCoreModule
lucaslabari Oct 30, 2023
f6875be
[EMBR-631] Rename lazy properties.
lucaslabari Oct 30, 2023
26d1fb3
[EMBR-631] Remove lazy from appId as it's already resolved.
lucaslabari Oct 30, 2023
13973df
[EMBR-631] Remove condition that inits EmbraceNetworkConnectivityServ…
lucaslabari Oct 30, 2023
2a50e6b
Merge branch 'master' into lucas/EMBR-631
lucaslabari Oct 31, 2023
ea6650f
Merge branch 'master' into lucas/EMBR-631
lucaslabari Oct 31, 2023
9e03f8e
[EMBR-631] Fix Unit tests.
lucaslabari Oct 31, 2023
557f2e0
[EMBR-631] Move SdkEndpointBehavior to EssentialServiceModule
lucaslabari Oct 31, 2023
1fe6a7f
[EMBR-631] Move appVersionName and appVersionCode to EssentialService…
lucaslabari Oct 31, 2023
2692a85
[EMBR-631] Remove comma.
lucaslabari Nov 1, 2023
2b7c81a
[EMBR-631] Add comment.
lucaslabari Nov 1, 2023
fb07da8
[EMBR-631] Update logic that handles network status changes.
lucaslabari Nov 1, 2023
7427bfa
[EMBR-631] Update logic that handles network status changes.
lucaslabari Nov 1, 2023
6764ab3
Merge branch 'master' into lucas/EMBR-631
lucaslabari Nov 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[EMBR-631] Remove condition that inits EmbraceNetworkConnectivityServ…
…ice depending on a local config.
  • Loading branch information
lucaslabari committed Oct 30, 2023
commit 13973df82a5469b16921c21af7c0037cd214b48f
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ internal class EmbraceNetworkConnectivityService(
private val clock: Clock,
private val registrationExecutorService: ExecutorService,
private val logger: InternalEmbraceLogger,
private val connectivityManager: ConnectivityManager?
private val connectivityManager: ConnectivityManager?,
private val isNetworkCaptureEnabled: Boolean
) : BroadcastReceiver(), NetworkConnectivityService {

private val intentFilter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)
Expand Down Expand Up @@ -56,8 +57,10 @@ internal class EmbraceNetworkConnectivityService(
try {
logger.logDeveloper("EmbraceNetworkConnectivityService", "handleNetworkStatus")
val networkStatus = getCurrentNetworkStatus()
val savedStatus = saveStatus(timestamp, networkStatus)
if (savedStatus && notifyListeners) {
if (isNetworkCaptureEnabled) {
saveStatus(timestamp, networkStatus)
}
if (notifyListeners) {
lucaslabari marked this conversation as resolved.
Show resolved Hide resolved
logger.logInfo("Network status changed to: " + networkStatus.name)
notifyNetworkConnectivityListeners(networkStatus)
}
Expand Down Expand Up @@ -109,14 +112,12 @@ internal class EmbraceNetworkConnectivityService(
return networkStatus
}

private fun saveStatus(timestamp: Long, networkStatus: NetworkStatus): Boolean {
private fun saveStatus(timestamp: Long, networkStatus: NetworkStatus) {
synchronized(this) {
if (networkReachable.isEmpty() || networkReachable.lastEntry()?.value != networkStatus) {
networkReachable[timestamp] = networkStatus
return true
}
}
return false
}

private fun registerConnectivityActionReceiver() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package io.embrace.android.embracesdk.injection

import io.embrace.android.embracesdk.capture.connectivity.EmbraceNetworkConnectivityService
import io.embrace.android.embracesdk.capture.connectivity.NetworkConnectivityService
import io.embrace.android.embracesdk.capture.connectivity.NoOpNetworkConnectivityService
import io.embrace.android.embracesdk.capture.cpu.CpuInfoDelegate
import io.embrace.android.embracesdk.capture.cpu.EmbraceCpuInfoDelegate
import io.embrace.android.embracesdk.capture.metadata.EmbraceMetadataService
Expand Down Expand Up @@ -198,17 +197,14 @@ internal class EssentialServiceModuleImpl(
localSupplier = { localConfig },
remoteSupplier = { null }
)
if (autoDataCaptureBehavior.isNetworkConnectivityServiceEnabled()) {
EmbraceNetworkConnectivityService(
coreModule.context,
initModule.clock,
backgroundExecutorService,
coreModule.logger,
systemServiceModule.connectivityManager
)
} else {
NoOpNetworkConnectivityService()
}
EmbraceNetworkConnectivityService(
coreModule.context,
initModule.clock,
backgroundExecutorService,
coreModule.logger,
systemServiceModule.connectivityManager,
autoDataCaptureBehavior.isNetworkConnectivityServiceEnabled()
)
}

override val cacheService: CacheService by singleton {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ internal class EmbraceNetworkConnectivityServiceTest {
fakeClock,
executor,
logger,
mockConnectivityManager
mockConnectivityManager,
true
)
}

Expand All @@ -99,11 +100,9 @@ internal class EmbraceNetworkConnectivityServiceTest {
@Test
fun `test onReceive with no connection creates an interval`() {
val mockIntent = mockk<Intent>()
val startTime = fakeClock.now()
every { mockConnectivityManager.activeNetworkInfo?.isConnected } returns false
service.onReceive(mockContext, mockIntent)
fakeClock.tick(2000)
val endTime = fakeClock.now()
val intervals = service.getCapturedData()

assertEquals(1, intervals.size)
Expand Down Expand Up @@ -164,7 +163,6 @@ internal class EmbraceNetworkConnectivityServiceTest {
fun `test cleanCollections and getCapturedData returns no intervals`() {
val startTime = fakeClock.now()
fakeClock.tick(2000)
val endTime = fakeClock.now()
every { mockConnectivityManager.activeNetworkInfo?.isConnected } returns false

service.networkStatusOnSessionStarted(startTime)
Expand Down
Loading