From 2fec0d0c9261ffa5f2b7f5061cf939b8263fcee1 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Mon, 23 Mar 2026 18:47:55 -0300 Subject: [PATCH] Centralize version header value --- .../android/client/SplitClientConfig.java | 4 ++-- .../client/network/SdkVersionProvider.java | 10 +++++++++ .../workmanager/HttpClientProvider.java | 4 ++-- .../network/SdkVersionProviderTest.java | 21 +++++++++++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 main/src/main/java/io/split/android/client/network/SdkVersionProvider.java create mode 100644 main/src/test/java/io/split/android/client/network/SdkVersionProviderTest.java diff --git a/main/src/main/java/io/split/android/client/SplitClientConfig.java b/main/src/main/java/io/split/android/client/SplitClientConfig.java index 0d5b0ecc8..3fd0a845d 100644 --- a/main/src/main/java/io/split/android/client/SplitClientConfig.java +++ b/main/src/main/java/io/split/android/client/SplitClientConfig.java @@ -13,9 +13,9 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; -import io.split.android.client.main.BuildConfig; import io.split.android.client.impressions.ImpressionListener; import io.split.android.client.network.CertificatePinningConfiguration; +import io.split.android.client.network.SdkVersionProvider; import io.split.android.client.network.DevelopmentSslConfig; import io.split.android.client.network.HttpProxy; import io.split.android.client.network.ProxyConfiguration; @@ -242,7 +242,7 @@ private SplitClientConfig(String endpoint, mUserConsent = userConsent; - splitSdkVersion = "Android-" + BuildConfig.SPLIT_VERSION_NAME; + splitSdkVersion = SdkVersionProvider.getSdkVersion(); mShouldRecordTelemetry = shouldRecordTelemetry; diff --git a/main/src/main/java/io/split/android/client/network/SdkVersionProvider.java b/main/src/main/java/io/split/android/client/network/SdkVersionProvider.java new file mode 100644 index 000000000..9198e60fd --- /dev/null +++ b/main/src/main/java/io/split/android/client/network/SdkVersionProvider.java @@ -0,0 +1,10 @@ +package io.split.android.client.network; + +import io.split.android.client.main.BuildConfig; + +public class SdkVersionProvider { + + public static String getSdkVersion() { + return "Android-" + BuildConfig.SPLIT_VERSION_NAME; + } +} diff --git a/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java b/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java index 2d7e7119d..6d235ef88 100644 --- a/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java +++ b/main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java @@ -6,7 +6,6 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; -import io.split.android.client.main.BuildConfig; import io.split.android.client.dtos.HttpProxyDto; import io.split.android.client.network.BasicCredentialsProvider; import io.split.android.client.network.BearerCredentialsProvider; @@ -14,6 +13,7 @@ import io.split.android.client.network.CertificatePinningConfigurationProvider; import io.split.android.client.network.HttpClient; import io.split.android.client.network.HttpClientImpl; +import io.split.android.client.network.SdkVersionProvider; import io.split.android.client.network.HttpProxy; import io.split.android.client.network.SplitHttpHeadersBuilder; import io.split.android.client.storage.cipher.SplitCipherFactory; @@ -43,7 +43,7 @@ private static HttpClient buildHttpClient(String apiKey, @Nullable CertificatePi .build(); SplitHttpHeadersBuilder headersBuilder = new SplitHttpHeadersBuilder(); - headersBuilder.setClientVersion(BuildConfig.SPLIT_VERSION_NAME); + headersBuilder.setClientVersion(SdkVersionProvider.getSdkVersion()); headersBuilder.setApiToken(apiKey); headersBuilder.addJsonTypeHeaders(); httpClient.addHeaders(headersBuilder.build()); diff --git a/main/src/test/java/io/split/android/client/network/SdkVersionProviderTest.java b/main/src/test/java/io/split/android/client/network/SdkVersionProviderTest.java new file mode 100644 index 000000000..505c514ee --- /dev/null +++ b/main/src/test/java/io/split/android/client/network/SdkVersionProviderTest.java @@ -0,0 +1,21 @@ +package io.split.android.client.network; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +public class SdkVersionProviderTest { + + @Test + public void getSdkVersionStartsWithAndroidPrefix() { + assertTrue(SdkVersionProvider.getSdkVersion().startsWith("Android-")); + } + + @Test + public void getSdkVersionContainsNonEmptyVersionAfterPrefix() { + String version = SdkVersionProvider.getSdkVersion(); + String suffix = version.substring("Android-".length()); + assertFalse(suffix.isEmpty()); + } +}