Skip to content

Commit 3603952

Browse files
authored
Update analytics token
1 parent cd2fc06 commit 3603952

File tree

2 files changed

+33
-10
lines changed

2 files changed

+33
-10
lines changed

cloudinary-core/src/main/java/com/cloudinary/utils/Analytics.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
public class Analytics {
99
private String sdkTokenQueryKey = "_a"; //sdkTokenQueryKey
1010
private String sdkQueryDelimiter = "=";
11-
public String algoVersion = "C";
11+
public String algoVersion = "D";
1212
public String prodcut = "A";
1313
public String SDKCode = ""; // Java = G, Android = F
1414
public String SDKSemver = ""; // Calculate the SDK version .
@@ -67,12 +67,19 @@ private String versionArrayToString(String[] versions) throws Exception {
6767
return getPaddedString(StringUtils.join(versions, "."));
6868
}
6969

70+
private String versionArrayToOsString(String[] versions) throws Exception {
71+
if (versions.length > 2) {
72+
versions = Arrays.copyOf(versions, versions.length - 1);
73+
}
74+
return getOsVersionString(StringUtils.join(versions, "."));
75+
}
76+
7077
private String getOsType() {
7178
return (osType != null) ? osType : "Z"; //System.getProperty("os.name");
7279
}
7380

7481
private String getOsVersion() throws Exception {
75-
return (osVersion != null) ? versionArrayToString(osVersion.split("\\.")) : versionArrayToString(System.getProperty("os.version").split("\\."));
82+
return (osVersion != null) ? versionArrayToOsString(osVersion.split("\\.")) : versionArrayToString(System.getProperty("os.version").split("\\."));
7683
}
7784

7885
private String getSDKType() {
@@ -91,6 +98,18 @@ private String getSDKVersion() throws Exception {
9198
return getPaddedString(SDKSemver);
9299
}
93100

101+
private String getOsVersionString(String string) throws Exception {
102+
String[] parts = string.split("\\.");
103+
String result = "";
104+
for(int i = 0 ; i < parts.length ; i++) {
105+
int num = Integer.parseInt(parts[i]);
106+
String binaryString = Integer.toBinaryString(num);
107+
binaryString = StringUtils.padStart(binaryString, 6, '0');
108+
result = result + Base64Map.values.get(binaryString);
109+
}
110+
return result;
111+
}
112+
94113
private String getPaddedString(String string) throws Exception {
95114
String paddedReversedSemver = "";
96115
int parts = string.split("\\.").length;

cloudinary-core/src/test/java/com/cloudinary/analytics/AnalyticsTest.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@ public void testEncodeVersion() {
2929
analytics.setSDKSemver("1.24.0");
3030
analytics.setTechVersion("12.0.0");
3131
String result = analytics.toQueryParam();
32-
Assert.assertEquals(result, "_a=CAGAlhAMZAA0");
32+
Assert.assertEquals(result, "_a=DAGAlhAMZAA0");
3333

3434
analytics.setSDKSemver("12.0");
3535
result = analytics.toQueryParam();
36-
Assert.assertEquals(result, "_a=CAGAMAMZAA0");
36+
Assert.assertEquals(result, "_a=DAGAMAMZAA0");
3737

3838
analytics.setSDKSemver("43.21.26");
3939
result = analytics.toQueryParam();
40-
Assert.assertEquals(result, "_a=CAG///AMZAA0");
40+
Assert.assertEquals(result, "_a=DAG///AMZAA0");
4141

4242
analytics.setSDKSemver("0.0.0");
4343
result = analytics.toQueryParam();
44-
Assert.assertEquals(result, "_a=CAGAAAAMZAA0");
44+
Assert.assertEquals(result, "_a=DAGAAAAMZAA0");
4545

4646
analytics.setSDKSemver("43.21.27");
4747
result = analytics.toQueryParam();
@@ -53,15 +53,19 @@ public void testEncodeVersion() {
5353
public void testToQueryParam() {
5454
Analytics analytics = new Analytics("F", "2.0.0", "1.8.0", "Z", "1.34.0");
5555
String result = analytics.toQueryParam();
56-
Assert.assertEquals(result, "_a=CAFAACMhZ1J0");
56+
Assert.assertEquals(result, "_a=DAFAACMhZBi0");
57+
58+
analytics = new Analytics("F", "2.0.0", "1.8.0", "Z", "16.3");
59+
result = analytics.toQueryParam();
60+
Assert.assertEquals(result, "_a=DAFAACMhZQD0");
5761
}
5862

5963
@Test
6064
public void testUrlWithAnalytics() {
6165
cloudinary.config.analytics = true;
6266
cloudinary.setAnalytics(new Analytics("F", "2.0.0", "1.8.0", "Z", "1.34.0"));
6367
String url = cloudinary.url().generate("test");
64-
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test?_a=CAFAACMhZ1J0");
68+
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test?_a=DAFAACMhZBi0");
6569
}
6670

6771
@Test
@@ -89,15 +93,15 @@ public void testUrlWithNoAnalyticsNullAndTrue() {
8993
cloudinary.analytics.setSDKSemver("1.30.0");
9094
cloudinary.analytics.setTechVersion("12.0.0");
9195
String url = cloudinary.url().generate("test");
92-
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test?_a=CAGAu5AMZAA0");
96+
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test?_a=DAGAu5AMZAA0");
9397
}
9498

9599
@Test
96100
public void testMiscAnalyticsObject() {
97101
cloudinary.config.analytics = true;
98102
Analytics analytics = new Analytics("Z", "1.24.0", "12.0.0", "Z", "1.34.0");
99103
String result = analytics.toQueryParam();
100-
Assert.assertEquals(result, "_a=CAZAlhAMZ1J0");
104+
Assert.assertEquals(result, "_a=DAZAlhAMZBi0");
101105
}
102106

103107
@Test

0 commit comments

Comments
 (0)