Skip to content

Commit b659154

Browse files
committed
add dismissMessageOnBackPress to BuildOptions
1 parent 4fc6f63 commit b659154

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

android/src/main/java/com/sourcepoint/reactnativecmp/ReactNativeCmpModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class ReactNativeCmpModule(reactContext: ReactApplicationContext) : NativeReactN
6767
}.build()
6868

6969
reactApplicationContext.currentActivity?.let {
70-
spConsentLib = makeConsentLib(config, it, this)
70+
spConsentLib = makeConsentLib(config, it, this, parsedOptions.dismissMessageOnBackPress)
7171
} ?: run {
7272
onError(Error("No activity found when building the SDK"))
7373
}

android/src/main/java/com/sourcepoint/reactnativecmp/arguments/BuildOptions.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import com.sourcepoint.cmplibrary.model.MessageLanguage.ENGLISH
77
data class BuildOptions(
88
val language: MessageLanguage,
99
val messageTimeoutInSeconds: Long,
10+
val dismissMessageOnBackPress: Boolean
1011
) {
1112
val messageTimeoutInMilliseconds = messageTimeoutInSeconds * 1000L
1213

1314
constructor(options: ReadableMap?) : this(
1415
language = MessageLanguage.entries.find { it.value == options?.getString("language") } ?: ENGLISH,
15-
messageTimeoutInSeconds = options?.getDoubleOrNull("messageTimeoutInSeconds")?.toLong() ?: 30L
16+
messageTimeoutInSeconds = options?.getDoubleOrNull("messageTimeoutInSeconds")?.toLong() ?: 30L,
17+
dismissMessageOnBackPress = if (options?.hasKey("dismissMessageOnBackPress") ?: false) options?.getBoolean("dismissMessageOnBackPress") ?: true else true
1618
)
1719
}

example/src/App.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ const config = {
3737
// is disabled in the Sourcepoint dashboard
3838
language: SPMessageLanguage.ENGLISH,
3939
messageTimeoutInSeconds: 20,
40+
// Preventing android users from dismissing the consent message on back press
41+
// `true` is the default value, allowing users to dismiss the consent message on back press
42+
dismissMessageOnBackPress: true,
4043
},
4144
gdprPMId: '488393',
4245
usnatPMId: '988851',
@@ -45,8 +48,8 @@ const config = {
4548
campaigns: {
4649
gdpr: {},
4750
usnat: { supportLegacyUSPString: true },
48-
preferences: {},
49-
globalcmp: {},
51+
//preferences: {},
52+
//globalcmp: {},
5053
environment: SPCampaignEnvironment.Public,
5154
} as SPCampaigns,
5255
...launchArgs?.config,

src/NativeReactNativeCmp.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ export type PreferencesConsent = {
198198
export type SPBuildOptions = {
199199
language?: SPMessageLanguage;
200200
messageTimeoutInSeconds?: number;
201+
dismissMessageOnBackPress?: boolean;
201202
}
202203

203204
export interface Spec extends TurboModule {

0 commit comments

Comments
 (0)