Skip to content

Commit 19bb942

Browse files
Merge pull request #345 from Countly/staging
Staging
2 parents 4978117 + 822dcae commit 19bb942

File tree

8 files changed

+24
-19
lines changed

8 files changed

+24
-19
lines changed

CHANGELOG.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
1-
## 24.4.2
1+
## 24.7.0
22
* ! Minor breaking change ! User properties will now be automatically saved under the following conditions:
33
* When an event is recorded
44
* During an internal timer tick
55
* Upon flushing the event queue
66

7-
* Mitigated an issue where on consent revoke, remote config values were cleared, not anymore.
8-
97
* Added support for array, List and JSONArray to all user given segmentations. They will support only mutable and ummutable versions of the primitive types. Which are:
108
* String, Integer, int, Boolean, bool, Float, float, Double, double, Long, long
119
* Keep in mind that float array will be converted to the double array by the JSONArray
1210

11+
* Mitigated an issue where remote config values caching was changing by device id change, not anymore. It is linked to the configuration "enableRemoteConfigValueCaching" now.
12+
* Mitigated an issue related to the device ID by creating an internal migration.
13+
* Resolved a problem where revoked consents were sent after changes without merging.
14+
* Fixed a bug that caused the device ID to be incorrectly set after changes with merging.
15+
* Mitigated an issue where on consent revoke, remote config values were cleared, not anymore.
16+
17+
* Change device id with merge not reporting session duration anymore.
18+
1319
## 24.4.1
1420
* ! Minor breaking change ! Mitigated an issue where internal SDK limits did not apply
1521

app-native/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ android {
3737
path file('src/main/cpp/CMakeLists.txt')
3838
}
3939
}
40-
ndkVersion '23.1.7779620'
40+
ndkVersion '21.0.6113669'
4141

4242
// Use this if you are working with sdk-native subproject instead of maven library.
4343
// Change also the dependency config below.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ org.gradle.configureondemand=true
2222
android.useAndroidX=true
2323
android.enableJetifier=true
2424
# RELEASE FIELD SECTION
25-
VERSION_NAME=24.4.2-RC1
25+
VERSION_NAME=24.7.0
2626
GROUP=ly.count.android
2727
POM_URL=https://github.com/Countly/countly-sdk-android
2828
POM_SCM_URL=https://github.com/Countly/countly-sdk-android

sdk/src/androidTest/java/ly/count/android/sdk/TestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class TestUtils {
4242
public final static String commonAppKey = "appkey";
4343
public final static String commonDeviceId = "1234";
4444
public final static String SDK_NAME = "java-native-android";
45-
public final static String SDK_VERSION = "24.4.2-RC1";
45+
public final static String SDK_VERSION = "24.7.0";
4646
public static final int MAX_THREAD_COUNT_PER_STACK_TRACE = 50;
4747

4848
public static class Activity2 extends Activity {

sdk/src/androidTest/java/ly/count/android/sdk/UtilsInternalLimitsTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ public void removeUnsupportedDataTypes_arrays() {
324324

325325
Assert.assertEquals(7, segmentation.size());
326326

327-
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation));
327+
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation, Mockito.mock(ModuleLog.class)));
328328

329329
Assert.assertEquals(6, segmentation.size());
330330
Assert.assertEquals(aa1, segmentation.get("aa1"));
@@ -350,7 +350,7 @@ public void removeUnsupportedDataTypes_lists() {
350350

351351
Assert.assertEquals(9, segmentation.size());
352352

353-
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation));
353+
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation, Mockito.mock(ModuleLog.class)));
354354

355355
Assert.assertEquals(6, segmentation.size());
356356
Assert.assertEquals(aa1, segmentation.get("aa1"));
@@ -369,7 +369,7 @@ public void removeUnsupportedDataTypes_listsEmpty() {
369369

370370
Assert.assertEquals(2, segmentation.size());
371371

372-
Assert.assertFalse(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation));
372+
Assert.assertFalse(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation, Mockito.mock(ModuleLog.class)));
373373
Assert.assertEquals(2, segmentation.size());
374374
Assert.assertEquals(aa1, segmentation.get("aa1"));
375375
Assert.assertEquals(aa2, segmentation.get("aa2"));
@@ -393,7 +393,7 @@ public void removeUnsupportedDataTypes_arraysEmpty() {
393393

394394
Assert.assertEquals(12, segmentation.size());
395395

396-
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation));
396+
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation, Mockito.mock(ModuleLog.class)));
397397
Assert.assertEquals(11, segmentation.size());
398398
Assert.assertEquals(aa1, segmentation.get("aa1"));
399399
Assert.assertEquals(aa2, segmentation.get("aa2"));
@@ -422,7 +422,7 @@ public void removeUnsupportedDataTypes_jsonArray() {
422422

423423
Assert.assertEquals(8, segmentation.size());
424424

425-
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation));
425+
Assert.assertTrue(UtilsInternalLimits.removeUnsupportedDataTypes(segmentation, Mockito.mock(ModuleLog.class)));
426426
Assert.assertEquals(7, segmentation.size());
427427
Assert.assertEquals(empty, segmentation.get("empty"));
428428
Assert.assertEquals(arrInt, segmentation.get("arrInt"));

sdk/src/main/java/ly/count/android/sdk/Countly.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ of this software and associated documentation files (the "Software"), to deal
4747
*/
4848
public class Countly {
4949

50-
private final String DEFAULT_COUNTLY_SDK_VERSION_STRING = "24.4.2-RC1";
50+
private final String DEFAULT_COUNTLY_SDK_VERSION_STRING = "24.7.0";
5151

5252
/**
5353
* Used as request meta data on every request

sdk/src/main/java/ly/count/android/sdk/ModuleDeviceId.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ void changeDeviceIdWithoutMergeInternal(@NonNull String deviceId) {
129129
_cly.moduleUserProfile.saveInternal();
130130

131131
//update remote config_ values after id change if automatic update is enabled
132-
_cly.moduleRemoteConfig.clearAndDownloadAfterIdChange(true);
132+
_cly.moduleRemoteConfig.clearAndDownloadAfterIdChange();
133133

134134
_cly.moduleSessions.endSessionInternal();
135135

@@ -189,7 +189,7 @@ void changeDeviceIdWithMergeInternal(@NonNull String deviceId) {
189189
// in both cases we act the same as the temporary ID requests will be updated with the final ID later
190190

191191
//update remote config_ values after id change if automatic update is enabled
192-
_cly.moduleRemoteConfig.clearAndDownloadAfterIdChange(false);
192+
_cly.moduleRemoteConfig.clearAndDownloadAfterIdChange();
193193
requestQueueProvider.changeDeviceId(deviceId, deviceIdInstance.getCurrentId());
194194
deviceIdInstance.changeToCustomId(deviceId);
195195
_cly.notifyDeviceIdChange();

sdk/src/main/java/ly/count/android/sdk/ModuleRemoteConfig.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -381,12 +381,11 @@ void clearValueStoreInternal() {
381381
return variantResponse;
382382
}
383383

384-
void clearAndDownloadAfterIdChange(boolean valuesShouldBeCacheCleared) {
385-
L.v("[RemoteConfig] Clearing remote config values and preparing to download after ID update, " + valuesShouldBeCacheCleared);
384+
void clearAndDownloadAfterIdChange() {
385+
L.v("[RemoteConfig] Clearing remote config values and preparing to download after ID update");
386+
387+
CacheOrClearRCValuesIfNeeded();
386388

387-
if (valuesShouldBeCacheCleared) {
388-
CacheOrClearRCValuesIfNeeded();
389-
}
390389
if (automaticDownloadTriggersEnabled && consentProvider.getConsent(Countly.CountlyFeatureNames.remoteConfig)) {
391390
updateRemoteConfigAfterIdChange = true;
392391
}

0 commit comments

Comments
 (0)