Skip to content

Commit 70d7aa9

Browse files
author
Noé Fernández
authored
2.7.6 (#38)
1 parent 50058d6 commit 70d7aa9

37 files changed

+141
-156
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
[Release Notes](https://docs.usercentrics.com/cmp_in_app_sdk/latest/about/history/)
22

3+
### 2.7.6
4+
5+
## Improvements
6+
7+
* Major improvements to main thread use.
8+
9+
## Resolved Issues
10+
11+
* [Android] Resolve NPE crash happening in edge cases.
12+
* Stability improvements.
13+
314
### 2.7.5
415

516
## Improvements

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
def usercentrics_version = "2.7.5"
1+
def usercentrics_version = "2.7.6"
22

33
group 'com.usercentrics.sdk.flutter'
44
version usercentrics_version

android/src/main/kotlin/com/usercentrics/sdk/flutter/api/UsercentricsBannerProxy.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ package com.usercentrics.sdk.flutter.api
33
import com.usercentrics.sdk.BannerSettings
44
import com.usercentrics.sdk.UsercentricsBanner
55
import com.usercentrics.sdk.UsercentricsConsentUserResponse
6-
import com.usercentrics.sdk.UsercentricsLayout
76

87
internal interface UsercentricsBannerProxy {
98
fun showFirstLayer(
109
bannerSettings: BannerSettings?,
11-
layout: UsercentricsLayout,
1210
callback: (UsercentricsConsentUserResponse?) -> Unit,
1311
)
1412

@@ -24,11 +22,10 @@ internal class UsercentricsBannerProxyImpl(
2422

2523
override fun showFirstLayer(
2624
bannerSettings: BannerSettings?,
27-
layout: UsercentricsLayout,
2825
callback: (UsercentricsConsentUserResponse?) -> Unit,
2926
) {
3027
val context = activityProvider.provide() ?: return
31-
UsercentricsBanner(context, bannerSettings).showFirstLayer(layout, callback)
28+
UsercentricsBanner(context, bannerSettings).showFirstLayer(callback)
3229
}
3330

3431
override fun showSecondLayer(

android/src/main/kotlin/com/usercentrics/sdk/flutter/bridge/ShowFirstLayerBridge.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.usercentrics.sdk.flutter.bridge
22

33
import com.usercentrics.sdk.flutter.api.*
44
import com.usercentrics.sdk.flutter.serializer.deserializeBannerSettings
5-
import com.usercentrics.sdk.flutter.serializer.deserializeLayout
65
import com.usercentrics.sdk.flutter.serializer.serialize
76

87
internal class ShowFirstLayerBridge(
@@ -24,7 +23,6 @@ internal class ShowFirstLayerBridge(
2423
assetsProvider,
2524
activityProvider,
2625
),
27-
layout = argsMap["layout"].deserializeLayout(),
2826
) { response ->
2927
result.success(response?.serialize())
3028
}

android/src/main/kotlin/com/usercentrics/sdk/flutter/serializer/FirstLayerStyleSettingsSerializer.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ internal fun Any?.deserializeFirstLayerStyleSettings(
99
activityProvider: FlutterActivityProvider,
1010
): FirstLayerStyleSettings? {
1111
if (this !is Map<*, *>) return null
12+
val layout = this["layout"].deserializeLayout()
1213

1314
val headerImage =
1415
this["headerImage"]?.deserializeHeaderImageSettings(assetsProvider, activityProvider)
@@ -31,6 +32,7 @@ internal fun Any?.deserializeFirstLayerStyleSettings(
3132
val cornerRadius = this["cornerRadius"] as? Int
3233

3334
return FirstLayerStyleSettings(
35+
layout = layout,
3436
headerImage = headerImage,
3537
title = title,
3638
message = message,

android/src/main/kotlin/com/usercentrics/sdk/flutter/serializer/LayoutSerializer.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package com.usercentrics.sdk.flutter.serializer
33
import com.usercentrics.sdk.PopupPosition
44
import com.usercentrics.sdk.UsercentricsLayout
55

6-
internal fun Any?.deserializeLayout(): UsercentricsLayout {
7-
this as String
6+
internal fun Any?.deserializeLayout(): UsercentricsLayout? {
7+
this ?: return null
88

9-
return when (this) {
9+
return when (this as String) {
1010
"FULL" -> UsercentricsLayout.Full
1111
"SHEET" -> UsercentricsLayout.Sheet
1212
"POPUP_BOTTOM" -> UsercentricsLayout.Popup(PopupPosition.BOTTOM)

android/src/test/java/com/usercentrics/sdk/flutter/api/FakeUsercentricsBannerProxy.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,20 @@ package com.usercentrics.sdk.flutter.api
22

33
import com.usercentrics.sdk.BannerSettings
44
import com.usercentrics.sdk.UsercentricsConsentUserResponse
5-
import com.usercentrics.sdk.UsercentricsLayout
65

76
internal class FakeUsercentricsBannerProxy(
87
private val showFirstLayerAnswer: UsercentricsConsentUserResponse? = null,
98
private val showSecondLayerAnswer: UsercentricsConsentUserResponse? = null,
109
) : UsercentricsBannerProxy {
1110

1211
var showFirstLayerCount = 0
13-
var showFirstLayerLayoutArgument: UsercentricsLayout? = null
1412
var showFirstLayerBannerSettingsArgument: BannerSettings? = null
1513

1614
override fun showFirstLayer(
1715
bannerSettings: BannerSettings?,
18-
layout: UsercentricsLayout,
1916
callback: (UsercentricsConsentUserResponse?) -> Unit
2017
) {
2118
showFirstLayerCount++
22-
showFirstLayerLayoutArgument = layout
2319
showFirstLayerBannerSettingsArgument = bannerSettings
2420
callback(showFirstLayerAnswer)
2521
}

android/src/test/java/com/usercentrics/sdk/flutter/bridge/ShowFirstLayerBridgeUnitTest.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ class ShowFirstLayerBridgeUnitTest {
5353
ShowFirstLayerMock.expectedBannerSettings,
5454
bannerProxy.showFirstLayerBannerSettingsArgument
5555
)
56-
assertEquals(
57-
UsercentricsLayout.Popup(PopupPosition.CENTER),
58-
bannerProxy.showFirstLayerLayoutArgument
59-
)
6056
assertEquals(1, result.successCount)
6157
assertEquals(ShowFirstLayerMock.expectedWithData, result.successResultArgument)
6258
}

android/src/test/java/com/usercentrics/sdk/flutter/mock/ShowFirstLayerMock.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ internal object ShowFirstLayerMock {
99
// From the debugger
1010
val call = FakeFlutterMethodCall(
1111
method = "showFirstLayer", arguments = mapOf(
12-
"layout" to "POPUP_CENTER",
1312
"bannerSettings" to mapOf(
1413
"firstLayerStyleSettings" to mapOf(
14+
"layout" to "POPUP_CENTER",
1515
"headerImage" to null,
1616
"title" to mapOf(
1717
"alignment" to "END",
@@ -48,6 +48,7 @@ internal object ShowFirstLayerMock {
4848
)
4949
val expectedBannerSettings = BannerSettings(
5050
firstLayerStyleSettings = FirstLayerStyleSettings(
51+
layout = UsercentricsLayout.Popup(PopupPosition.CENTER),
5152
title = TitleSettings(
5253
alignment = SectionAlignment.END,
5354
textSizeInSp = 20f,

example/ios/Podfile.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
PODS:
22
- Flutter (1.0.0)
3-
- Usercentrics (2.7.5)
4-
- usercentrics_sdk (2.7.5):
3+
- Usercentrics (2.7.6)
4+
- usercentrics_sdk (2.7.6):
55
- Flutter
6-
- UsercentricsUI (= 2.7.5)
7-
- UsercentricsUI (2.7.5):
8-
- Usercentrics (= 2.7.5)
6+
- UsercentricsUI (= 2.7.6)
7+
- UsercentricsUI (2.7.6):
8+
- Usercentrics (= 2.7.6)
99
- webview_flutter_wkwebview (0.0.1):
1010
- Flutter
1111

@@ -29,9 +29,9 @@ EXTERNAL SOURCES:
2929

3030
SPEC CHECKSUMS:
3131
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
32-
Usercentrics: 2a1bc201ec33c260b95f959a2bf21e0b0d286f28
33-
usercentrics_sdk: 69ef07eb8368d0dbc14877fb6845071e7463cc91
34-
UsercentricsUI: 6415f8a4d19b2fc5eb6741e6b855e17d0948c0f0
32+
Usercentrics: 57808081ec60b6272b20dd2d627a9bc85c0af7bb
33+
usercentrics_sdk: 1edaa2de3a2df1b764070b15e187e86e2e1a80a9
34+
UsercentricsUI: 4310603065c2d5275dc244c2a32487c831d05d19
3535
webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f
3636

3737
PODFILE CHECKSUM: 723de1cf6e2f18b51eb3426c945e31134a750097

0 commit comments

Comments
 (0)