Skip to content

Commit 5a9ed28

Browse files
feat(MSDK-3297): pass unsavedVendorLIDecisions through denyAllForTCF on all layers
1 parent c582af5 commit 5a9ed28

File tree

7 files changed

+16
-2
lines changed

7 files changed

+16
-2
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ internal class DenyAllForTCFBridge(
2020
assert(name == call.method)
2121
val argsMap = call.arguments as Map<*, *>
2222
val unsavedPurposeLIDecisions = (argsMap["unsavedPurposeLIDecisions"] as? Map<Int, Boolean>)
23+
val unsavedVendorLIDecisions = (argsMap["unsavedVendorLIDecisions"] as? Map<Int, Boolean>)
2324
val consents = usercentrics.instance.denyAllForTCF(
2425
fromLayer = TCFDecisionUILayer.valueOf(argsMap["fromLayer"] as String),
2526
consentType = UsercentricsConsentType.valueOf(argsMap["consentType"] as String),
26-
unsavedPurposeLIDecisions = unsavedPurposeLIDecisions
27+
unsavedPurposeLIDecisions = unsavedPurposeLIDecisions,
28+
unsavedVendorLIDecisions = unsavedVendorLIDecisions
2729
)
2830
result.success(consents.map { it.serialize() })
2931
}

ios/Classes/Bridge/DenyAllForTCFBridge.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ struct DenyAllForTCFBridge : MethodBridge {
1111
let fromLayer = TCFDecisionUILayer.initialize(from: argsDict["fromLayer"])!
1212
let consentType = UsercentricsConsentType.initialize(from: argsDict["consentType"])!
1313
let unsavedPurposeLIDecisions = (argsDict["unsavedPurposeLIDecisions"] as? [Int: Bool])?.asKotlinIntBooleanDict()
14-
let consents = usercentrics.shared.denyAllForTCF(fromLayer: fromLayer, consentType: consentType, unsavedPurposeLIDecisions: unsavedPurposeLIDecisions)
14+
let unsavedVendorLIDecisions = (argsDict["unsavedVendorLIDecisions"] as? [Int: Bool])?.asKotlinIntBooleanDict()
15+
let consents = usercentrics.shared.denyAllForTCF(fromLayer: fromLayer, consentType: consentType, unsavedPurposeLIDecisions: unsavedPurposeLIDecisions, unsavedVendorLIDecisions: unsavedVendorLIDecisions)
1516
result(consents.map { $0.serialize() })
1617
}
1718
}

lib/src/internal/bridge/deny_all_for_tcf_bridge.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ abstract class DenyAllForTCFBridge {
1212
required TCFDecisionUILayer fromLayer,
1313
required UsercentricsConsentType consentType,
1414
Map<int, bool>? unsavedPurposeLIDecisions,
15+
Map<int, bool>? unsavedVendorLIDecisions,
1516
});
1617
}
1718

@@ -26,6 +27,7 @@ class MethodChannelDenyAllForTCF extends DenyAllForTCFBridge {
2627
required TCFDecisionUILayer fromLayer,
2728
required UsercentricsConsentType consentType,
2829
Map<int, bool>? unsavedPurposeLIDecisions,
30+
Map<int, bool>? unsavedVendorLIDecisions,
2931
}) async {
3032
final result = await channel.invokeMethod(
3133
_name,
@@ -34,6 +36,8 @@ class MethodChannelDenyAllForTCF extends DenyAllForTCFBridge {
3436
'consentType': ConsentTypeSerializer.serialize(consentType),
3537
if (unsavedPurposeLIDecisions != null)
3638
'unsavedPurposeLIDecisions': unsavedPurposeLIDecisions,
39+
if (unsavedVendorLIDecisions != null)
40+
'unsavedVendorLIDecisions': unsavedVendorLIDecisions,
3741
},
3842
);
3943
return (result as List)

lib/src/internal/platform/method_channel_usercentrics.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,15 @@ class MethodChannelUsercentrics extends UsercentricsPlatform {
222222
required UsercentricsConsentType consentType,
223223
required TCFDecisionUILayer fromLayer,
224224
Map<int, bool>? unsavedPurposeLIDecisions,
225+
Map<int, bool>? unsavedVendorLIDecisions,
225226
}) async {
226227
await _ensureIsReady();
227228
return await denyAllForTCFBridge.invoke(
228229
channel: _channel,
229230
fromLayer: fromLayer,
230231
consentType: consentType,
231232
unsavedPurposeLIDecisions: unsavedPurposeLIDecisions,
233+
unsavedVendorLIDecisions: unsavedVendorLIDecisions,
232234
);
233235
}
234236

lib/src/platform/usercentrics_platform.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ abstract class UsercentricsPlatform {
7171
required UsercentricsConsentType consentType,
7272
required TCFDecisionUILayer fromLayer,
7373
Map<int, bool>? unsavedPurposeLIDecisions,
74+
Map<int, bool>? unsavedVendorLIDecisions,
7475
});
7576

7677
Future<List<UsercentricsServiceConsent>> saveDecisions({

lib/src/usercentrics.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,18 @@ class Usercentrics {
164164

165165
/// Deny all services and TCF.
166166
/// - The [unsavedPurposeLIDecisions] is an optional map of purpose IDs to their legitimate interest decisions that have not yet been saved.
167+
/// - The [unsavedVendorLIDecisions] is an optional map of vendor IDs to their legitimate interest decisions that have not yet been saved.
167168
static Future<List<UsercentricsServiceConsent>> denyAllForTCF({
168169
required TCFDecisionUILayer fromLayer,
169170
required UsercentricsConsentType consentType,
170171
Map<int, bool>? unsavedPurposeLIDecisions,
172+
Map<int, bool>? unsavedVendorLIDecisions,
171173
}) =>
172174
_delegate.denyAllForTCF(
173175
consentType: consentType,
174176
fromLayer: fromLayer,
175177
unsavedPurposeLIDecisions: unsavedPurposeLIDecisions,
178+
unsavedVendorLIDecisions: unsavedVendorLIDecisions,
176179
);
177180

178181
/// Save service decisions.

test/platform/fake_usercentrics_platform.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ class FakeUsercentricsPlatform extends UsercentricsPlatform {
201201
required UsercentricsConsentType consentType,
202202
required TCFDecisionUILayer fromLayer,
203203
Map<int, bool>? unsavedPurposeLIDecisions,
204+
Map<int, bool>? unsavedVendorLIDecisions,
204205
}) {
205206
denyAllForTCFFromLayerArgument = fromLayer;
206207
denyAllForTCFConsentTypeArgument = consentType;

0 commit comments

Comments
 (0)