diff --git a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin.podspec b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin.podspec index 6e3bf6dff..9a29f74f3 100644 --- a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin.podspec +++ b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin.podspec @@ -14,6 +14,7 @@ Instrument your application with Datadog. s.author = { 'Datadog' => 'info@datadoghq.com' } s.source = { :path => '.' } s.source_files = 'datadog_flutter_plugin/Sources/**/*' + s.public_header_files = 'datadog_flutter_plugin/Sources/**/*.h' s.static_framework = true s.dependency 'Flutter' s.dependency 'DatadogCore', '3.7.0' diff --git a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/DatadogSdkPlugin.swift b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/DatadogSdkPlugin.swift index e4c650990..07f709a31 100644 --- a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/DatadogSdkPlugin.swift +++ b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/DatadogSdkPlugin.swift @@ -18,7 +18,7 @@ import DatadogLogs // Get the cached Datadog Context in a C structure. The members of `DatadogCContext` are // owned by the caller, and must be freed to prevent a memory leak. @_cdecl("flutterGetDatadogContext") -func flutterGetDatadogContext() -> DatadogCContext { +public func flutterGetDatadogContext() -> DatadogCContext { let context = ContextMessageReceiver.shared.cachedContext guard let context = context else { return DatadogCContext(sessionId: nil, accountId: nil, userId: nil) diff --git a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/include/datadog_flutter_plugin/datadog_flutter_plugin.h b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/include/datadog_flutter_plugin/datadog_flutter_plugin.h new file mode 100644 index 000000000..b3714ce3c --- /dev/null +++ b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin/include/datadog_flutter_plugin/datadog_flutter_plugin.h @@ -0,0 +1,13 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. This product includes software +// developed at Datadog (https://www.datadoghq.com/). Copyright 2025-Present +// Datadog, Inc. + +#ifndef datadog_flutter_plugin_h +#define datadog_flutter_plugin_h + +// When Swift compiler generates it's bridging header, the existence of a public +// C exposed method causes it to look for this header. It is okay for this to be +// empty. + +#endif /* datadog_flutter_plugin_h */ diff --git a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin_c/flutter_c_bridge.h b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin_c/flutter_c_bridge.h index 2ad7ce293..a7b6b9ed8 100644 --- a/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin_c/flutter_c_bridge.h +++ b/packages/datadog_flutter_plugin/ios/datadog_flutter_plugin/Sources/datadog_flutter_plugin_c/flutter_c_bridge.h @@ -12,4 +12,4 @@ struct DatadogCContext { char* userId; }; -#endif \ No newline at end of file +#endif diff --git a/packages/datadog_session_replay/android/src/test/kotlin/com/datadoghq/flutter/sessionreplay/forge/DatadogContextForgeryFactory.kt b/packages/datadog_session_replay/android/src/test/kotlin/com/datadoghq/flutter/sessionreplay/forge/DatadogContextForgeryFactory.kt index f02e73705..bc4db39c2 100644 --- a/packages/datadog_session_replay/android/src/test/kotlin/com/datadoghq/flutter/sessionreplay/forge/DatadogContextForgeryFactory.kt +++ b/packages/datadog_session_replay/android/src/test/kotlin/com/datadoghq/flutter/sessionreplay/forge/DatadogContextForgeryFactory.kt @@ -69,7 +69,10 @@ class DatadogContextForgeryFactory : ForgeryFactory { locales = forge.aList { forge.aString() }, currentLocale = forge.aString(), timeZone = forge.aString() - ) + ), + logicalCpuCount = forge.anInt(), + totalRam = forge.aNullable { anInt() }, + isLowRam = forge.aNullable { aBool() } ), userInfo = UserInfo( id = forge.aNullable { anHexadecimalString() },