react-native-screenshot-aware 1.0.3 → 1.0.4

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.
@@ -9,9 +9,7 @@ import com.facebook.react.modules.core.DeviceEventManagerModule
9
9
  class ScreenshotAwareModule internal constructor(context: ReactApplicationContext) :
10
10
  ScreenshotAwareSpec(context) {
11
11
 
12
- private var screenCaptureCallback = Activity.ScreenCaptureCallback {
13
- sendEvent()
14
- }
12
+ private var screenCaptureCallback: Any? = null
15
13
 
16
14
  override fun getName(): String {
17
15
  return NAME
@@ -20,16 +18,31 @@ class ScreenshotAwareModule internal constructor(context: ReactApplicationContex
20
18
  override fun initialize() {
21
19
  super.initialize()
22
20
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
23
- reactApplicationContext.currentActivity?.let {
24
- currentActivity?.registerScreenCaptureCallback(it.mainExecutor, screenCaptureCallback)
25
- }
21
+ initializeScreenCaptureCallback()
22
+ }
23
+ }
24
+
25
+ @androidx.annotation.RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
26
+ private fun initializeScreenCaptureCallback() {
27
+ screenCaptureCallback = Activity.ScreenCaptureCallback {
28
+ sendEvent()
29
+ }
30
+ reactApplicationContext.currentActivity?.let {
31
+ it.registerScreenCaptureCallback(it.mainExecutor, screenCaptureCallback as Activity.ScreenCaptureCallback)
26
32
  }
27
33
  }
28
34
 
29
35
  override fun invalidate() {
30
36
  super.invalidate()
31
37
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
32
- currentActivity?.unregisterScreenCaptureCallback(screenCaptureCallback)
38
+ unregisterScreenCaptureCallback()
39
+ }
40
+ }
41
+
42
+ @androidx.annotation.RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
43
+ private fun unregisterScreenCaptureCallback() {
44
+ screenCaptureCallback?.let {
45
+ reactApplicationContext.currentActivity?.unregisterScreenCaptureCallback(it as Activity.ScreenCaptureCallback)
33
46
  }
34
47
  }
35
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screenshot-aware",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "React Native module for real-time screenshot detection on Android and iOS",
5
5
  "source": "src/index.tsx",
6
6
  "main": "lib/commonjs/index.js",
@@ -66,7 +66,7 @@
66
66
  "@semantic-release/git": "10.0.1",
67
67
  "@testing-library/react-native": "12.7.2",
68
68
  "@types/jest": "29.5.13",
69
- "@types/react": "18.3.9",
69
+ "@types/react": "18.3.10",
70
70
  "@types/react-test-renderer": "18.3.0",
71
71
  "commitlint": "19.5.0",
72
72
  "del-cli": "5.1.0",
@@ -76,12 +76,12 @@
76
76
  "react-native": "0.75.3",
77
77
  "react-native-builder-bob": "0.30.2",
78
78
  "react-test-renderer": "18.3.1",
79
- "semantic-release": "24.1.1",
79
+ "semantic-release": "24.1.2",
80
80
  "turbo": "2.1.2",
81
81
  "typescript": "5.6.2"
82
82
  },
83
83
  "resolutions": {
84
- "@types/react": "18.3.9"
84
+ "@types/react": "18.3.10"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "react": "*",