airbridge-react-native-sdk-restricted 4.4.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,8 @@ import co.ab180.airbridge.Airbridge
8
8
  import co.ab180.airbridge.AirbridgeOptionBuilder
9
9
  import co.ab180.airbridge.reactnative.common.AirbridgeJSON
10
10
  import co.ab180.airbridge.reactnative.common.AirbridgeLifecycleIntegration
11
+ import co.ab180.airbridge.reactnative.extension.consume
12
+ import co.ab180.airbridge.reactnative.extension.isConsumed
11
13
  import co.ab180.airbridge.reactnative.extension.setAirbridgeJSON
12
14
  import co.ab180.airbridge.reactnative.extension.toMap
13
15
  import co.ab180.airbridge.reactnative.module.AttributionInteractor
@@ -88,6 +90,11 @@ class AirbridgeReactNative : ReactPackage {
88
90
  onFailure = { Log.d("AirbridgeReactNative", "Failure on Airbridge.handleDeeplink: error={${it.localizedMessage}}") }
89
91
  )
90
92
  if (handled || isHandleAirbridgeDeeplinkOnly) { return }
93
+ if (intent.isConsumed()) {
94
+ Log.d("AirbridgeReactNative", "intent was already consumed on AirbridgeReactNative.trackDeeplink")
95
+ return
96
+ }
97
+ intent.consume()
91
98
  intent.data?.also {
92
99
  DeeplinkInteractor.onDeeplinkReceived(it)
93
100
  }
@@ -0,0 +1,22 @@
1
+ package co.ab180.airbridge.reactnative.extension
2
+
3
+ import android.content.Intent
4
+ import android.net.Uri
5
+
6
+ private const val KEY_CONSUMED = "airbridge_consumed"
7
+
8
+ internal fun Intent.isConsumed(): Boolean {
9
+ return try {
10
+ getBooleanExtra(KEY_CONSUMED, false)
11
+ } catch (_: Exception) {
12
+ false
13
+ }
14
+ }
15
+
16
+ internal fun Intent.consume() {
17
+ try {
18
+ putExtra(KEY_CONSUMED, true)
19
+ } catch (_: Exception) {
20
+
21
+ }
22
+ }
package/changelog.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 4.4.1
2
+
3
+ **FIXED**
4
+ * Fixed `onDeeplinkReceived` callback not being called multiple times
5
+
1
6
  ## 4.4.0
2
7
 
3
8
  **ADDED**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "airbridge-react-native-sdk-restricted",
3
- "version": "4.4.0",
3
+ "version": "4.4.1",
4
4
  "description": "Airbridge SDK for React Native",
5
5
  "main": "build/source/module.js",
6
6
  "types": "build/source/module.d.ts",
@@ -475,7 +475,7 @@
475
475
  );
476
476
  runOnlyForDeploymentPostprocessing = 0;
477
477
  shellPath = /bin/sh;
478
- shellScript = "echo '{\"wrapperName\": \"airbridge-react-native-sdk\", \"wrapperVersion\": \"4.4.0\"}' > \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LibraryInfo.json\"\n";
478
+ shellScript = "echo '{\"wrapperName\": \"airbridge-react-native-sdk\", \"wrapperVersion\": \"4.4.1\"}' > \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/LibraryInfo.json\"\n";
479
479
  };
480
480
  F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
481
481
  isa = PBXShellScriptBuildPhase;
@@ -1,7 +1,7 @@
1
1
  PODS:
2
2
  - airbridge-ios-sdk (4.4.2)
3
3
  - airbridge-ios-sdk-qa-library (4.4.2)
4
- - airbridge-react-native-sdk (4.4.0):
4
+ - airbridge-react-native-sdk (4.4.1):
5
5
  - airbridge-ios-sdk (= 4.4.2)
6
6
  - React
7
7
  - boost (1.84.0)
@@ -1944,7 +1944,7 @@ EXTERNAL SOURCES:
1944
1944
  SPEC CHECKSUMS:
1945
1945
  airbridge-ios-sdk: 21c97103a0343c46f3c2c755099f4ea111a2845b
1946
1946
  airbridge-ios-sdk-qa-library: 313aaa31c16c32943e2a0e255b88d6a33337210d
1947
- airbridge-react-native-sdk: 77df1b32711d5eb7ac1bd9dbc0bbe2f2d7c70186
1947
+ airbridge-react-native-sdk: 7da16ce1295d6de0cbc9902a9a7f18ae0c2f034e
1948
1948
  boost: 4cb898d0bf20404aab1850c656dcea009429d6c1
1949
1949
  DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
1950
1950
  FBAEMKit: e34530df538b8eb8aeb53c35867715ba6c63ef0c
@@ -2032,6 +2032,6 @@ SPEC CHECKSUMS:
2032
2032
  Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
2033
2033
  Yoga: 06fc4b2c3664ae0e278964b8fbcb0ee9d21f0a5a
2034
2034
 
2035
- PODFILE CHECKSUM: 247fa8db03e9eac8ee3efea1584d696a222f405f
2035
+ PODFILE CHECKSUM: dc328b8d9c91069e2e6937344b4a4de8fa5b5f50
2036
2036
 
2037
2037
  COCOAPODS: 1.16.2