Skip to content

Commit ee9ffc3

Browse files
authored
Rename EventsListenerTarget to avoid dupe symbols in iOS18 (#573)
1 parent c776f66 commit ee9ffc3

File tree

23 files changed

+47
-48
lines changed

23 files changed

+47
-48
lines changed

.github/workflows/ios.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
- run: ./bazelw run --config ci //examples/swift/hello_world:ios_app &> /tmp/envoy.log &
8080
name: "Run app"
8181
macos_tsan:
82-
runs-on: macos-15
82+
runs-on: macos-14
8383
needs: "pre_check"
8484
if: needs.pre_check.outputs.should_run == 'true'
8585
steps:

platform/jvm/capture/consumer-rules.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
public <methods>;
5353
}
5454

55-
-keep, includedescriptorclasses class io.bitdrift.capture.IEventsListenerTarget {
55+
-keep, includedescriptorclasses class io.bitdrift.capture.IEventSubscriber {
5656
public <methods>;
5757
}
5858

platform/jvm/capture/src/main/kotlin/io/bitdrift/capture/CaptureJniLibrary.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ internal object CaptureJniLibrary : IBridge {
4242
* @param metadataProvider used to provide metadata for emitted logs.
4343
* @param resourceUtilizationTarget used to inform platform layer about a need to emit a resource log.
4444
* @param sessionReplayTarget used to inform platform layer about a need to emit session replay logs.
45-
* @param eventsListenerTarget responsible for listening to platform events and emitting logs in response to them.
45+
* @param eventSubscriber responsible for listening to platform events and emitting logs in response to them.
4646
* @param applicationId the application ID of the current app, used to identify with the backend
4747
* @param applicationVersion the version of the current app, used to identify with the backend
4848
* @param model the host device model, used to identify with the backend
@@ -58,7 +58,7 @@ internal object CaptureJniLibrary : IBridge {
5858
metadataProvider: IMetadataProvider,
5959
resourceUtilizationTarget: IResourceUtilizationTarget,
6060
sessionReplayTarget: ISessionReplayTarget,
61-
eventsListenerTarget: IEventsListenerTarget,
61+
eventSubscriber: IEventSubscriber,
6262
applicationId: String,
6363
applicationVersion: String,
6464
model: String,

platform/jvm/capture/src/main/kotlin/io/bitdrift/capture/IBridge.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal interface IBridge {
1919
metadataProvider: IMetadataProvider,
2020
resourceUtilizationTarget: IResourceUtilizationTarget,
2121
sessionReplayTarget: ISessionReplayTarget,
22-
eventsListenerTarget: IEventsListenerTarget,
22+
eventSubscriber: IEventSubscriber,
2323
applicationId: String,
2424
applicationVersion: String,
2525
model: String,

platform/jvm/capture/src/main/kotlin/io/bitdrift/capture/IEventsListenerTarget.kt renamed to platform/jvm/capture/src/main/kotlin/io/bitdrift/capture/IEventSubscriber.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ package io.bitdrift.capture
1111
* Responsible for managing event listeners that emit out-of-the-box logs in response
1212
* to various system notifications and events.
1313
*/
14-
interface IEventsListenerTarget {
14+
interface IEventSubscriber {
1515
/**
1616
* Starts the event listener, giving it an opportunity to subscribe to notifications
1717
* and system events.

platform/jvm/capture/src/main/kotlin/io/bitdrift/capture/LoggerImpl.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import io.bitdrift.capture.events.common.PowerMonitor
2828
import io.bitdrift.capture.events.device.DeviceStateListenerLogger
2929
import io.bitdrift.capture.events.lifecycle.AppExitLogger
3030
import io.bitdrift.capture.events.lifecycle.AppLifecycleListenerLogger
31-
import io.bitdrift.capture.events.lifecycle.EventsListenerTarget
31+
import io.bitdrift.capture.events.lifecycle.EventSubscriber
3232
import io.bitdrift.capture.events.performance.BatteryMonitor
3333
import io.bitdrift.capture.events.performance.DiskUsageMonitor
3434
import io.bitdrift.capture.events.performance.JankStatsMonitor
@@ -106,7 +106,7 @@ internal class LoggerImpl(
106106
private val sessionUrlBase: HttpUrl
107107

108108
private val resourceUtilizationTarget: ResourceUtilizationTarget
109-
private val eventsListenerTarget = EventsListenerTarget()
109+
private val eventSubscriber = EventSubscriber()
110110

111111
private val sessionReplayTarget: SessionReplayTarget?
112112

@@ -189,14 +189,14 @@ internal class LoggerImpl(
189189
sessionStrategy.createSessionStrategyConfiguration { appExitSaveCurrentSessionId(it) },
190190
metadataProvider,
191191
// TODO(Augustyniak): Pass `resourceUtilizationTarget`, `sessionReplayTarget`,
192-
// and `eventsListenerTarget` as part of `startLogger` method call instead.
192+
// and `eventSubscriber` as part of `startLogger` method call instead.
193193
// Pass the event listener target here and finish setting up
194194
// before the logger is actually started.
195195
resourceUtilizationTarget,
196196
sessionReplayTarget,
197197
// Pass the event listener target here and finish setting up
198198
// before the logger is actually started.
199-
eventsListenerTarget,
199+
eventSubscriber,
200200
clientAttributes.appId,
201201
clientAttributes.appVersion,
202202
deviceAttributes.model(),
@@ -215,7 +215,7 @@ internal class LoggerImpl(
215215
diskUsageMonitor.runtime = runtime
216216
memoryMetricsProvider.runtime = runtime
217217

218-
eventsListenerTarget.add(
218+
eventSubscriber.add(
219219
AppLifecycleListenerLogger(
220220
this,
221221
ProcessLifecycleOwner.get(),
@@ -225,7 +225,7 @@ internal class LoggerImpl(
225225
),
226226
)
227227

228-
eventsListenerTarget.add(
228+
eventSubscriber.add(
229229
DeviceStateListenerLogger(
230230
this,
231231
context,
@@ -236,7 +236,7 @@ internal class LoggerImpl(
236236
),
237237
)
238238

239-
eventsListenerTarget.add(
239+
eventSubscriber.add(
240240
AppUpdateListenerLogger(
241241
this,
242242
clientAttributes,
@@ -603,7 +603,7 @@ internal class LoggerImpl(
603603
errorHandler,
604604
)
605605
jankStatsMonitor?.let {
606-
eventsListenerTarget.add(it)
606+
eventSubscriber.add(it)
607607
}
608608
} else {
609609
errorHandler.handleError("Couldn't start JankStatsMonitor. Invalid application provided")
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77

88
package io.bitdrift.capture.events.lifecycle
99

10-
import io.bitdrift.capture.IEventsListenerTarget
10+
import io.bitdrift.capture.IEventSubscriber
1111
import io.bitdrift.capture.events.IEventListenerLogger
1212
import io.bitdrift.capture.events.SafeEventListenerLogger
1313

1414
/**
1515
* A wrapper around platform event listeners that subscribe to various system notifications
1616
* and emit Capture out-of-the-box in response to them.
1717
*/
18-
internal class EventsListenerTarget : IEventsListenerTarget {
18+
internal class EventSubscriber : IEventSubscriber {
1919
private var listeners: MutableList<IEventListenerLogger> = mutableListOf()
2020

2121
fun add(eventListener: IEventListenerLogger) {

platform/jvm/capture/src/test/kotlin/io/bitdrift/capture/CaptureTestJniLibrary.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ object CaptureTestJniLibrary {
8989
external fun runSessionReplayTargetTest(target: Any)
9090

9191
// Runs events listener target test.
92-
external fun runEventsListenerTargetTest(target: Any)
92+
external fun runEventSubscriberTest(target: Any)
9393

9494
// Issues a runtime update causing the specified feature to be marked as disabled.
9595
external fun disableRuntimeFeature(
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ import io.bitdrift.capture.CaptureJniLibrary
1111
import io.bitdrift.capture.CaptureTestJniLibrary
1212
import org.junit.Test
1313

14-
class EventsListenerTargetTest {
15-
private val listener = EventsListenerTarget()
14+
class EventSubscriberTest {
15+
private val listener = EventSubscriber()
1616

1717
init {
1818
CaptureJniLibrary.load()
1919
}
2020

2121
@Test
22-
fun eventsListenerTargetDoesNotCrash() {
23-
CaptureTestJniLibrary.runEventsListenerTargetTest(listener)
22+
fun eventSubscriberDoesNotCrash() {
23+
CaptureTestJniLibrary.runEventSubscriberTest(listener)
2424
}
2525
}

platform/jvm/src/events.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ static TARGET_START: OnceLock<CachedMethod> = OnceLock::new();
1717
static TARGET_STOP: OnceLock<CachedMethod> = OnceLock::new();
1818

1919
pub(crate) fn initialize(env: &mut JNIEnv<'_>) {
20-
let events_listener_target =
21-
initialize_class(env, "io/bitdrift/capture/IEventsListenerTarget", None);
20+
let events_listener_target = initialize_class(env, "io/bitdrift/capture/IEventSubscriber", None);
2221
initialize_method_handle(
2322
env,
2423
&events_listener_target.class,

0 commit comments

Comments
 (0)