From 0b4393e6f981b7070964d1d697a80bea2625cdf4 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Mon, 14 Aug 2023 17:16:46 -0300 Subject: [PATCH] Add config in platform --- splitio_platform_interface/lib/split_configuration.dart | 7 +++++++ splitio_platform_interface/pubspec.yaml | 2 +- .../test/splitio_configuration_test.dart | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/splitio_platform_interface/lib/split_configuration.dart b/splitio_platform_interface/lib/split_configuration.dart index 0ee7d2b..4f3189e 100644 --- a/splitio_platform_interface/lib/split_configuration.dart +++ b/splitio_platform_interface/lib/split_configuration.dart @@ -42,6 +42,8 @@ class SplitConfiguration { /// [encryptionEnabled] If set to true, the local database contents is encrypted. Defaults to false. /// /// [logLevel] Enables logging according to the level specified. Options are [SplitLogLevel.verbose], [SplitLogLevel.none], [SplitLogLevel.debug], [SplitLogLevel.info], [SplitLogLevel.warning], and [SplitLogLevel.error]. + /// + /// [readyTimeout] Maximum amount of time in seconds to wait before firing the SDK_READY_TIMED_OUT event. If not set, the SDK will wait indefinitely. SplitConfiguration({ int? featuresRefreshRate, int? segmentsRefreshRate, @@ -67,6 +69,7 @@ class SplitConfiguration { UserConsent? userConsent, bool? encryptionEnabled, SplitLogLevel? logLevel, + int? readyTimeout, }) { if (featuresRefreshRate != null) { configurationMap['featuresRefreshRate'] = featuresRefreshRate; @@ -167,6 +170,10 @@ class SplitConfiguration { if (logLevel != null) { configurationMap['logLevel'] = logLevel.name; } + + if (readyTimeout != null) { + configurationMap['readyTimeout'] = readyTimeout; + } } } diff --git a/splitio_platform_interface/pubspec.yaml b/splitio_platform_interface/pubspec.yaml index 710ce64..412af1f 100644 --- a/splitio_platform_interface/pubspec.yaml +++ b/splitio_platform_interface/pubspec.yaml @@ -2,7 +2,7 @@ name: splitio_platform_interface description: A common platform interface for the splitio plugin. # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 1.2.0 +version: 1.3.0-rc.1 repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio_platform_interface environment: diff --git a/splitio_platform_interface/test/splitio_configuration_test.dart b/splitio_platform_interface/test/splitio_configuration_test.dart index 5348041..3b69395 100644 --- a/splitio_platform_interface/test/splitio_configuration_test.dart +++ b/splitio_platform_interface/test/splitio_configuration_test.dart @@ -29,6 +29,7 @@ void main() { userConsent: UserConsent.declined, encryptionEnabled: true, logLevel: SplitLogLevel.debug, + readyTimeout: 1 ); expect(config.configurationMap['eventFlushInterval'], 2000); @@ -61,6 +62,7 @@ void main() { expect(config.configurationMap['userConsent'], 'declined'); expect(config.configurationMap['encryptionEnabled'], true); expect(config.configurationMap['logLevel'], 'debug'); + expect(config.configurationMap['readyTimeout'], 1); }); test('noSpecialValuesLeavesMapEmpty', () async {