Skip to content

Commit 3a465c0

Browse files
authored
Merge pull request #346 from Countly/staging
Staging for 24.7.0
2 parents 695527b + ac2f14f commit 3a465c0

File tree

91 files changed

+6191
-1392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+6191
-1392
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @turtledreams @arifBurakDemiray

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
## 24.7.0
2+
* ! Minor breaking change ! User properties will now be automatically saved under the following conditions:
3+
* When an event is recorded
4+
* During an internal timer tick
5+
* Upon flushing the event queue
6+
7+
* 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:
8+
* String, Integer, int, Boolean, bool, Float, float, Double, double, Long, long
9+
* Keep in mind that float array will be converted to the double array by the JSONArray
10+
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+
19+
## 24.4.1
20+
* ! Minor breaking change ! Mitigated an issue where internal SDK limits did not apply
21+
22+
* Added support for Feedback Widget terms and conditions
23+
* Added a new function "setID(newDeviceId)" which internally handles merge/non-merge selection while changing the device ID
24+
25+
* Mitigated an issue where the session duration could have been calculated wrongly after a device ID change without merge
26+
* Mitigated an issue where a session could have continued after a device ID change without merge
27+
128
## 24.4.0
229
* ! Minor breaking change ! If a manual session is already started, it will not be possible to call "BeginSession" without stopping the previous one
330
* ! Minor breaking change ! If a manual session has not been started, it will not be possible to call "UpdateSession"

app-benchmark/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ android {
1111

1212
defaultConfig {
1313
applicationId "ly.count.android.benchmark"
14-
minSdk 17
14+
minSdk 21
1515
targetSdk 34
1616
versionCode 1
1717
versionName "1.0"

app-benchmark/google-services.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"project_info": {
3-
"project_number": "969412419457",
4-
"project_id": "ak-pushtest",
5-
"storage_bucket": "ak-pushtest.appspot.com"
3+
"project_number": "355395217058",
4+
"project_id": "countlydemo-7d8d0",
5+
"storage_bucket": "countlydemo-7d8d0.appspot.com"
66
},
77
"client": [
88
{
99
"client_info": {
10-
"mobilesdk_app_id": "1:969412419457:android:4acfe5ba74a30b59165280",
10+
"mobilesdk_app_id": "1:355395217058:android:130d09fdf6bebd941c99fb",
1111
"android_client_info": {
1212
"package_name": "ly.count.android.demo"
1313
}
@@ -20,7 +20,7 @@
2020
],
2121
"api_key": [
2222
{
23-
"current_key": "AIzaSyACld6dIalDlxNK9ZP97jWw13KTnZfLIVY"
23+
"current_key": "AIzaSyAYxUHbqnotLwParY0UR_fmhaTgx-ahUbc"
2424
}
2525
],
2626
"services": {

app-benchmark/src/main/java/ly/count/android/benchmark/App.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import ly.count.android.sdk.PerformanceCounterCollector;
99

1010
public class App extends Application {
11-
final String COUNTLY_SERVER_URL = "https://xxx.count.ly";
12-
final String COUNTLY_APP_KEY = "YOUR_APP_KEY";
13-
final String DEVICE_ID = "YOUR_DEVICE_ID";
11+
private final static String COUNTLY_SERVER_URL = "https://xxx.count.ly";
12+
private final static String COUNTLY_APP_KEY = "YOUR_APP_KEY";
13+
private final static String DEVICE_ID = "YOUR_DEVICE_ID";
1414

1515
public static PerformanceCounterCollector appPcc;
1616

@@ -37,7 +37,7 @@ public void onCreate() {
3737
Benchmark.countlyStore = new CountlyStore(this, new ModuleLog());
3838
}
3939

40-
/**
40+
/*
4141
* Benchmark scenario - 1
4242
* Generate events and not requests: yes
4343
* wait: yes
@@ -55,9 +55,7 @@ public void onCreate() {
5555
* 5) send requests
5656
* 6) wait till all sent
5757
* 7) print counters
58-
*/
59-
60-
/**
58+
*
6159
* Scenario 2
6260
* RQ size 1000
6361
* Generate a mix of 1200 requests

app-benchmark/src/main/java/ly/count/android/benchmark/RandomUtil.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ protected Object generateRandomImmutable() {
3838
value = random.nextBoolean();
3939
break;
4040
case 2:
41-
//todo put back in when there is long support
42-
//value = random.nextLong();
43-
value = generateRandomImmutable();
41+
value = random.nextLong();
4442
break;
4543
case 3:
4644
value = random.nextFloat();
@@ -53,6 +51,7 @@ protected Object generateRandomImmutable() {
5351
break;
5452
default:
5553
value = "default";
54+
break;
5655
}
5756

5857
return value;

app-kotlin/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ android {
1010

1111
defaultConfig {
1212
applicationId "ly.count.android.demo.kotlin"
13-
minSdkVersion 17
14-
targetSdkVersion 33
13+
minSdk 21
14+
targetSdkVersion 34
1515
versionCode 1
1616
versionName "1.0"
1717

app-kotlin/src/main/java/ly/count/android/demo/kotlin/AdapterMainList.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,17 @@ import android.widget.Button
77
import androidx.navigation.findNavController
88
import androidx.recyclerview.widget.RecyclerView
99

10+
/**
11+
* Adapter for the main list
12+
*/
1013
class AdapterMainList :
1114
RecyclerView.Adapter<AdapterMainList.MainViewHolder>() {
1215

1316
private val list = listOf("event", "sessions", "view", "remote config")
1417

18+
/**
19+
* View holder for the main list
20+
*/
1521
class MainViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
1622
val button: Button = view.findViewById(R.id.item_view)
1723
}

app-kotlin/src/main/java/ly/count/android/demo/kotlin/AdapterSecondList.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import androidx.recyclerview.widget.RecyclerView
99

1010
import ly.count.android.sdk.Countly
1111

12+
/**
13+
* Adapter for the second list
14+
*/
1215
class AdapterSecondList(private val titleId: String, context: Context) :
1316
RecyclerView.Adapter<AdapterSecondList.SecondViewHolder>() {
1417

@@ -23,6 +26,9 @@ class AdapterSecondList(private val titleId: String, context: Context) :
2326
.sorted()
2427
}
2528

29+
/**
30+
* View holder for the second list
31+
*/
2632
class SecondViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
2733
val button = view.findViewById<Button>(R.id.item_view)
2834
}

app-kotlin/src/main/java/ly/count/android/demo/kotlin/App.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ import android.util.Log
55
import ly.count.android.sdk.Countly
66
import ly.count.android.sdk.CountlyConfig
77

8-
//import ly.count.android.sdk.DeviceIdType
9-
8+
/**
9+
* Main Application class
10+
*/
1011
class App : Application() {
11-
val COUNTLY_SERVER_URL = "https://your.server.ly"
12-
val COUNTLY_APP_KEY = "YOUR_APP_KEY"
12+
private val COUNTLY_SERVER_URL = "https://your.server.ly"
13+
private val COUNTLY_APP_KEY = "YOUR_APP_KEY"
1314
override fun onCreate() {
1415
super.onCreate()
15-
16+
1617
if (COUNTLY_SERVER_URL == "https://your.server.ly" || COUNTLY_APP_KEY == "YOUR_APP_KEY") {
1718
Log.e("CountlyDemo", "Please provide correct COUNTLY_SERVER_URL and COUNTLY_APP_KEY")
1819
return
19-
}
20+
}
2021

2122
val countlyConfig = CountlyConfig(
2223
this,

0 commit comments

Comments
 (0)