Skip to content

Commit 3882050

Browse files
committed
refactor: remove functions from internal interface
1 parent a7790ab commit 3882050

File tree

25 files changed

+26
-1120
lines changed

25 files changed

+26
-1120
lines changed

embrace-android-core/src/main/kotlin/io/embrace/android/embracesdk/internal/capture/crumbs/RnActionDataSource.kt

Lines changed: 0 additions & 41 deletions
This file was deleted.

embrace-android-core/src/main/kotlin/io/embrace/android/embracesdk/internal/capture/metadata/RnBundleIdTracker.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ interface RnBundleIdTracker {
55
/**
66
* Sets React Native Bundle ID from a custom JavaScript Bundle URL.
77
* @param jsBundleUrl the JavaScript bundle URL
8-
* @param forceUpdate if the bundle was updated and we need to recompute the bundleId
98
*/
109
fun setReactNativeBundleId(jsBundleUrl: String?, forceUpdate: Boolean? = null)
1110

embrace-android-core/src/main/kotlin/io/embrace/android/embracesdk/internal/injection/FeatureModule.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ package io.embrace.android.embracesdk.internal.injection
22

33
import io.embrace.android.embracesdk.internal.arch.datasource.DataSourceState
44
import io.embrace.android.embracesdk.internal.capture.crumbs.BreadcrumbDataSource
5-
import io.embrace.android.embracesdk.internal.capture.crumbs.RnActionDataSource
65
import io.embrace.android.embracesdk.internal.capture.telemetry.InternalErrorDataSource
76
import io.embrace.android.embracesdk.internal.instrumentation.crash.CrashFileMarker
87
import io.embrace.android.embracesdk.internal.instrumentation.crash.LastRunCrashVerifier
98

109
interface FeatureModule {
1110
val breadcrumbDataSource: DataSourceState<BreadcrumbDataSource>
12-
val rnActionDataSource: DataSourceState<RnActionDataSource>
1311
val internalErrorDataSource: DataSourceState<InternalErrorDataSource>
1412
val lastRunCrashVerifier: LastRunCrashVerifier
1513
val crashMarker: CrashFileMarker

embrace-android-core/src/main/kotlin/io/embrace/android/embracesdk/internal/injection/FeatureModuleImpl.kt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package io.embrace.android.embracesdk.internal.injection
22

33
import io.embrace.android.embracesdk.internal.arch.datasource.DataSourceState
44
import io.embrace.android.embracesdk.internal.capture.crumbs.BreadcrumbDataSource
5-
import io.embrace.android.embracesdk.internal.capture.crumbs.RnActionDataSource
65
import io.embrace.android.embracesdk.internal.capture.telemetry.InternalErrorDataSource
76
import io.embrace.android.embracesdk.internal.capture.telemetry.InternalErrorDataSourceImpl
87
import io.embrace.android.embracesdk.internal.config.ConfigService
@@ -26,16 +25,6 @@ class FeatureModuleImpl(
2625
}
2726
}
2827

29-
override val rnActionDataSource: DataSourceState<RnActionDataSource> by singleton {
30-
DataSourceState(
31-
factory = {
32-
RnActionDataSource(instrumentationModule.instrumentationArgs)
33-
}
34-
).apply {
35-
instrumentationModule.instrumentationRegistry.add(this)
36-
}
37-
}
38-
3928
override val internalErrorDataSource: DataSourceState<InternalErrorDataSource> by singleton {
4029
DataSourceState<InternalErrorDataSource>(
4130
factory = {

embrace-android-instrumentation-huc/src/test/kotlin/io/embrace/android/embracesdk/instrumentation/huc/InternalNetworkApiImplTest.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ internal class InternalNetworkApiImplTest {
5151
traceparent = null
5252
)
5353
fakeInternalInterface = FakeEmbraceInternalInterface(
54-
networkSpanForwardingEnabled = false,
55-
captureNetworkBody = false
54+
networkSpanForwardingEnabled = false
5655
)
5756
initialize().verifyDelegation()
5857
}
@@ -69,8 +68,7 @@ internal class InternalNetworkApiImplTest {
6968
traceparent = "foo"
7069
)
7170
fakeInternalInterface = FakeEmbraceInternalInterface(
72-
networkSpanForwardingEnabled = true,
73-
captureNetworkBody = true
71+
networkSpanForwardingEnabled = true
7472
)
7573
initialize().verifyDelegation()
7674
}

embrace-android-sdk/src/integrationTest/kotlin/io/embrace/android/embracesdk/testcases/EmbraceInternalInterfaceTest.kt

Lines changed: 0 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,9 @@ import io.embrace.android.embracesdk.assertions.findSpansByName
66
import io.embrace.android.embracesdk.internal.EmbraceInternalApi
77
import io.embrace.android.embracesdk.internal.config.remote.NetworkCaptureRuleRemoteConfig
88
import io.embrace.android.embracesdk.internal.config.remote.RemoteConfig
9-
import io.embrace.android.embracesdk.internal.otel.sdk.findAttributeValue
109
import io.embrace.android.embracesdk.internal.payload.Span
11-
import io.embrace.android.embracesdk.network.EmbraceNetworkRequest
12-
import io.embrace.android.embracesdk.network.http.HttpMethod
1310
import io.embrace.android.embracesdk.spans.ErrorCode
1411
import io.embrace.android.embracesdk.testframework.SdkIntegrationTestRule
15-
import io.embrace.opentelemetry.kotlin.semconv.HttpAttributes
16-
import java.net.SocketException
1712
import org.junit.Assert.assertEquals
1813
import org.junit.Assert.assertFalse
1914
import org.junit.Assert.assertNotNull
@@ -40,55 +35,6 @@ internal class EmbraceInternalInterfaceTest {
4035
testCaseAction = {
4136
assertFalse(embrace.isStarted)
4237
with(EmbraceInternalApi.internalInterface) {
43-
logInfo("", null)
44-
logWarning("", null, null)
45-
logError("", null, null, false)
46-
recordCompletedNetworkRequest(
47-
url = "",
48-
httpMethod = "GET",
49-
startTime = 0L,
50-
endTime = 1L,
51-
bytesSent = 0L,
52-
bytesReceived = 0L,
53-
statusCode = 200,
54-
traceId = null,
55-
networkCaptureData = null
56-
)
57-
58-
recordIncompleteNetworkRequest(
59-
url = "",
60-
httpMethod = "GET",
61-
startTime = 0L,
62-
endTime = 1L,
63-
error = null,
64-
traceId = null,
65-
networkCaptureData = null
66-
)
67-
68-
recordIncompleteNetworkRequest(
69-
url = "",
70-
httpMethod = "GET",
71-
startTime = 0L,
72-
endTime = 1L,
73-
errorType = null,
74-
errorMessage = null,
75-
traceId = null,
76-
networkCaptureData = null
77-
)
78-
79-
recordNetworkRequest(
80-
embraceNetworkRequest = EmbraceNetworkRequest.fromCompletedRequest(
81-
"",
82-
HttpMethod.GET,
83-
0L,
84-
1L,
85-
0L,
86-
0L,
87-
200,
88-
null
89-
)
90-
)
91-
9238
assertFalse(shouldCaptureNetworkBody("", ""))
9339
assertFalse(isNetworkSpanForwardingEnabled())
9440
}
@@ -97,73 +43,6 @@ internal class EmbraceInternalInterfaceTest {
9743
)
9844
}
9945

100-
@Test
101-
fun `network recording methods work as expected`() {
102-
testRule.runTest(
103-
testCaseAction = {
104-
recordSession {
105-
clock.tick()
106-
EmbraceInternalApi.internalInterface.recordCompletedNetworkRequest(
107-
url = URL,
108-
httpMethod = "GET",
109-
startTime = START_TIME,
110-
endTime = END_TIME,
111-
bytesSent = 0L,
112-
bytesReceived = 0L,
113-
statusCode = 500,
114-
traceId = null,
115-
networkCaptureData = null
116-
)
117-
118-
EmbraceInternalApi.internalInterface.recordIncompleteNetworkRequest(
119-
url = URL,
120-
httpMethod = "GET",
121-
startTime = START_TIME,
122-
endTime = END_TIME,
123-
error = NullPointerException(),
124-
traceId = null,
125-
networkCaptureData = null
126-
)
127-
128-
EmbraceInternalApi.internalInterface.recordIncompleteNetworkRequest(
129-
url = URL,
130-
httpMethod = "GET",
131-
startTime = START_TIME,
132-
endTime = END_TIME,
133-
errorType = SocketException::class.java.canonicalName,
134-
errorMessage = "",
135-
traceId = null,
136-
networkCaptureData = null
137-
)
138-
139-
EmbraceInternalApi.internalInterface.recordNetworkRequest(
140-
embraceNetworkRequest = EmbraceNetworkRequest.fromCompletedRequest(
141-
URL,
142-
HttpMethod.POST,
143-
START_TIME,
144-
END_TIME,
145-
99L,
146-
301L,
147-
200,
148-
null
149-
)
150-
)
151-
}
152-
},
153-
assertAction = {
154-
val session = getSingleSessionEnvelope()
155-
val spans = checkNotNull(session.data.spans)
156-
val requests =
157-
checkNotNull(spans.filter { it.attributes?.findAttributeValue(HttpAttributes.HTTP_REQUEST_METHOD) != null })
158-
assertEquals(
159-
"Unexpected number of requests in sent session: ${requests.size}",
160-
4,
161-
requests.size
162-
)
163-
}
164-
)
165-
}
166-
16746
@Test
16847
fun `access check methods work as expected`() {
16948
testRule.runTest(
@@ -344,7 +223,5 @@ internal class EmbraceInternalInterfaceTest {
344223

345224
companion object {
346225
private const val URL = "https://embrace.io"
347-
private const val START_TIME = 1692201601000L
348-
private const val END_TIME = 1692201603000L
349226
}
350227
}

embrace-android-sdk/src/integrationTest/kotlin/io/embrace/android/embracesdk/testcases/ReactNativeInternalInterfaceTest.kt

Lines changed: 0 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,12 @@
11
package io.embrace.android.embracesdk.testcases
22

33
import androidx.test.ext.junit.runners.AndroidJUnit4
4-
import io.embrace.android.embracesdk.assertions.assertMatches
5-
import io.embrace.android.embracesdk.assertions.findSpansByName
6-
import io.embrace.android.embracesdk.assertions.findSpansOfType
74
import io.embrace.android.embracesdk.fakes.config.FakeInstrumentedConfig
85
import io.embrace.android.embracesdk.fakes.config.FakeProjectConfig
96
import io.embrace.android.embracesdk.internal.EmbraceInternalApi
10-
import io.embrace.android.embracesdk.internal.arch.attrs.toEmbraceAttributeName
11-
import io.embrace.android.embracesdk.internal.arch.schema.EmbType
12-
import io.embrace.android.embracesdk.internal.clock.nanosToMillis
13-
import io.embrace.android.embracesdk.internal.otel.sdk.findAttributeValue
147
import io.embrace.android.embracesdk.internal.payload.AppFramework
158
import io.embrace.android.embracesdk.testframework.SdkIntegrationTestRule
169
import org.junit.Assert.assertEquals
17-
import org.junit.Assert.assertNotNull
1810
import org.junit.Assert.assertNull
1911
import org.junit.Rule
2012
import org.junit.Test
@@ -128,84 +120,4 @@ internal class ReactNativeInternalInterfaceTest {
128120
}
129121
)
130122
}
131-
132-
@Test
133-
fun `react native action`() {
134-
testRule.runTest(
135-
instrumentedConfig = instrumentedConfig,
136-
testCaseAction = {
137-
recordSession {
138-
EmbraceInternalApi.reactNativeInternalInterface.logRnAction(
139-
"MyAction",
140-
1000,
141-
5000,
142-
mapOf("key" to "value"),
143-
100,
144-
"SUCCESS"
145-
)
146-
}
147-
},
148-
assertAction = {
149-
val message = getSingleSessionEnvelope()
150-
val spans = message.findSpansByName("emb-rn-action")
151-
assertEquals(1, spans.size)
152-
153-
val span = spans.single()
154-
assertEquals("emb-rn-action", span.name)
155-
assertEquals(1000L, span.startTimeNanos?.nanosToMillis())
156-
assertEquals(5000L, span.endTimeNanos?.nanosToMillis())
157-
158-
span.attributes?.assertMatches(
159-
mapOf(
160-
"emb.type" to "sys.rn_action",
161-
"name" to "MyAction",
162-
"outcome" to "SUCCESS",
163-
"payload_size" to "100",
164-
"key".toEmbraceAttributeName() to "value",
165-
)
166-
)
167-
}
168-
)
169-
}
170-
171-
@Test
172-
fun `react native log RN view`() {
173-
testRule.runTest(
174-
instrumentedConfig = instrumentedConfig,
175-
testCaseAction = {
176-
recordSession {
177-
EmbraceInternalApi.reactNativeInternalInterface.logRnView("HomeScreen")
178-
clock.tick(1000)
179-
EmbraceInternalApi.reactNativeInternalInterface.logRnView("DetailsScreen")
180-
}
181-
},
182-
assertAction = {
183-
val viewSpans = getSingleSessionEnvelope().findSpansOfType(EmbType.Ux.View)
184-
assertNotNull(viewSpans.single { it.attributes?.findAttributeValue("view.name") == "HomeScreen" })
185-
assertNotNull(viewSpans.single { it.attributes?.findAttributeValue("view.name") == "DetailsScreen" })
186-
}
187-
)
188-
}
189-
190-
/*
191-
* The first view is logged and stored as a span, because we know that it ends when logRnView is called again.
192-
* The second view is logged as a span snapshot, because we know that it ends when the session ends.
193-
* */
194-
@Test
195-
fun `react native log RN view same name`() {
196-
testRule.runTest(
197-
instrumentedConfig = instrumentedConfig,
198-
testCaseAction = {
199-
recordSession {
200-
EmbraceInternalApi.reactNativeInternalInterface.logRnView("HomeScreen")
201-
clock.tick(1000)
202-
EmbraceInternalApi.reactNativeInternalInterface.logRnView("HomeScreen")
203-
}
204-
},
205-
assertAction = {
206-
val viewSpans = getSingleSessionEnvelope().findSpansOfType(EmbType.Ux.View)
207-
assertEquals(2, viewSpans.filter { it.attributes?.findAttributeValue("view.name") == "HomeScreen" }.size)
208-
}
209-
)
210-
}
211123
}

embrace-android-sdk/src/main/kotlin/io/embrace/android/embracesdk/internal/api/ViewTrackingApi.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ internal interface ViewTrackingApi {
2323
/**
2424
* Logs a React Native Redux Action.
2525
*/
26+
@Deprecated("This function has no effect.")
2627
fun logRnAction(
2728
name: String,
2829
startTime: Long,
@@ -40,5 +41,6 @@ internal interface ViewTrackingApi {
4041
*
4142
* @param screen the name of the view to log
4243
*/
44+
@Deprecated("This function has no effect.")
4345
fun logRnView(screen: String)
4446
}

0 commit comments

Comments
 (0)