Skip to content

Commit 2fec0d0

Browse files
committed
Centralize version header value
1 parent 03413e6 commit 2fec0d0

4 files changed

Lines changed: 35 additions & 4 deletions

File tree

main/src/main/java/io/split/android/client/SplitClientConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
import javax.net.ssl.SSLSocketFactory;
1414
import javax.net.ssl.X509TrustManager;
1515

16-
import io.split.android.client.main.BuildConfig;
1716
import io.split.android.client.impressions.ImpressionListener;
1817
import io.split.android.client.network.CertificatePinningConfiguration;
18+
import io.split.android.client.network.SdkVersionProvider;
1919
import io.split.android.client.network.DevelopmentSslConfig;
2020
import io.split.android.client.network.HttpProxy;
2121
import io.split.android.client.network.ProxyConfiguration;
@@ -242,7 +242,7 @@ private SplitClientConfig(String endpoint,
242242

243243
mUserConsent = userConsent;
244244

245-
splitSdkVersion = "Android-" + BuildConfig.SPLIT_VERSION_NAME;
245+
splitSdkVersion = SdkVersionProvider.getSdkVersion();
246246

247247
mShouldRecordTelemetry = shouldRecordTelemetry;
248248

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package io.split.android.client.network;
2+
3+
import io.split.android.client.main.BuildConfig;
4+
5+
public class SdkVersionProvider {
6+
7+
public static String getSdkVersion() {
8+
return "Android-" + BuildConfig.SPLIT_VERSION_NAME;
9+
}
10+
}

main/src/main/java/io/split/android/client/service/workmanager/HttpClientProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
import java.io.InputStream;
77
import java.nio.charset.StandardCharsets;
88

9-
import io.split.android.client.main.BuildConfig;
109
import io.split.android.client.dtos.HttpProxyDto;
1110
import io.split.android.client.network.BasicCredentialsProvider;
1211
import io.split.android.client.network.BearerCredentialsProvider;
1312
import io.split.android.client.network.CertificatePinningConfiguration;
1413
import io.split.android.client.network.CertificatePinningConfigurationProvider;
1514
import io.split.android.client.network.HttpClient;
1615
import io.split.android.client.network.HttpClientImpl;
16+
import io.split.android.client.network.SdkVersionProvider;
1717
import io.split.android.client.network.HttpProxy;
1818
import io.split.android.client.network.SplitHttpHeadersBuilder;
1919
import io.split.android.client.storage.cipher.SplitCipherFactory;
@@ -43,7 +43,7 @@ private static HttpClient buildHttpClient(String apiKey, @Nullable CertificatePi
4343
.build();
4444

4545
SplitHttpHeadersBuilder headersBuilder = new SplitHttpHeadersBuilder();
46-
headersBuilder.setClientVersion(BuildConfig.SPLIT_VERSION_NAME);
46+
headersBuilder.setClientVersion(SdkVersionProvider.getSdkVersion());
4747
headersBuilder.setApiToken(apiKey);
4848
headersBuilder.addJsonTypeHeaders();
4949
httpClient.addHeaders(headersBuilder.build());
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.split.android.client.network;
2+
3+
import static org.junit.Assert.assertFalse;
4+
import static org.junit.Assert.assertTrue;
5+
6+
import org.junit.Test;
7+
8+
public class SdkVersionProviderTest {
9+
10+
@Test
11+
public void getSdkVersionStartsWithAndroidPrefix() {
12+
assertTrue(SdkVersionProvider.getSdkVersion().startsWith("Android-"));
13+
}
14+
15+
@Test
16+
public void getSdkVersionContainsNonEmptyVersionAfterPrefix() {
17+
String version = SdkVersionProvider.getSdkVersion();
18+
String suffix = version.substring("Android-".length());
19+
assertFalse(suffix.isEmpty());
20+
}
21+
}

0 commit comments

Comments
 (0)