expo-screen-capture 7.3.0-canary-20250729-d8899ae → 8.0.0

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/android/build.gradle +2 -2
  3. package/expo-module.config.json +1 -1
  4. package/ios/ScreenCaptureModule.swift +15 -20
  5. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.aar +0 -0
  6. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.aar.md5 +1 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.aar.sha1 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.aar.sha256 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.aar.sha512 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.module → 8.0.0/expo.modules.screencapture-8.0.0.module} +18 -18
  11. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.module.md5 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.module.sha1 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.module.sha256 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.module.sha512 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.pom → 8.0.0/expo.modules.screencapture-8.0.0.pom} +1 -1
  16. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.pom.md5 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.pom.sha1 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.pom.sha256 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/8.0.0/expo.modules.screencapture-8.0.0.pom.sha512 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/maven-metadata.xml +4 -4
  21. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/maven-metadata.xml.md5 +1 -1
  22. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/maven-metadata.xml.sha1 +1 -1
  23. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/maven-metadata.xml.sha256 +1 -1
  24. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/maven-metadata.xml.sha512 +1 -1
  25. package/package.json +5 -4
  26. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar +0 -0
  27. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar.md5 +0 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar.sha1 +0 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar.sha256 +0 -1
  30. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar.sha512 +0 -1
  31. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.module.md5 +0 -1
  32. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.module.sha1 +0 -1
  33. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.module.sha256 +0 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.module.sha512 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.pom.md5 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.pom.sha1 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.pom.sha256 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.pom.sha512 +0 -1
  39. /package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar → 8.0.0/expo.modules.screencapture-8.0.0-sources.jar} +0 -0
  40. /package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar.md5 → 8.0.0/expo.modules.screencapture-8.0.0-sources.jar.md5} +0 -0
  41. /package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar.sha1 → 8.0.0/expo.modules.screencapture-8.0.0-sources.jar.sha1} +0 -0
  42. /package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar.sha256 → 8.0.0/expo.modules.screencapture-8.0.0-sources.jar.sha256} +0 -0
  43. /package/local-maven-repo/host/exp/exponent/expo.modules.screencapture/{7.3.0-canary-20250729-d8899ae/expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar.sha512 → 8.0.0/expo.modules.screencapture-8.0.0-sources.jar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@
6
6
 
7
7
  ### 🎉 New features
8
8
 
9
+ ### 🐛 Bug fixes
10
+
11
+ ### 💡 Others
12
+
13
+ ## 8.0.0 — 2025-08-13
14
+
15
+ ### 🎉 New features
16
+
9
17
  - Implemented `useScreenshotListener` hook. ([#37411](https://github.com/expo/expo/pull/37411) by [@hryhoriiK97](https://github.com/hryhoriiK97))
10
18
  - Implemented screenshot prevention on iOS. ([#37874](https://github.com/expo/expo/pull/37874) by [@hryhoriiK97](https://github.com/hryhoriiK97))
11
19
  - Implement App Switcher protection on iOS. ([#38192](https://github.com/expo/expo/pull/38192) by [@hryhoriiK97](https://github.com/hryhoriiK97))
@@ -13,6 +21,7 @@
13
21
  ### 🐛 Bug fixes
14
22
 
15
23
  - [Android] Fix permissions on Android 13.
24
+ - [iOS] Fix issue with header flickering on screenshot prevention. ([#38384](https://github.com/expo/expo/pull/38384) by [@hryhoriiK97](https://github.com/hryhoriiK97))
16
25
 
17
26
  ### 💡 Others
18
27
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '7.3.0-canary-20250729-d8899ae'
7
+ version = '8.0.0'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.screencapture"
11
11
  defaultConfig {
12
12
  versionCode 7
13
- versionName '7.3.0-canary-20250729-d8899ae'
13
+ versionName '8.0.0'
14
14
  }
15
15
  }
16
16
 
@@ -8,7 +8,7 @@
8
8
  "publication": {
9
9
  "groupId": "host.exp.exponent",
10
10
  "artifactId": "expo.modules.screencapture",
11
- "version": "7.3.0-canary-20250729-d8899ae",
11
+ "version": "8.0.0",
12
12
  "repository": "local-maven-repo"
13
13
  }
14
14
  }
@@ -115,43 +115,38 @@ public final class ScreenCaptureModule: Module {
115
115
  }
116
116
 
117
117
  private func preventScreenshots() {
118
- guard let keyWindow = keyWindow,
119
- let visibleView = keyWindow.subviews.first else { return }
118
+ guard let keyWindow = keyWindow else {
119
+ return
120
+ }
120
121
 
121
122
  let textField = UITextField()
122
123
  textField.isSecureTextEntry = true
123
124
  textField.isUserInteractionEnabled = false
124
- textField.backgroundColor = UIColor.black
125
+ textField.backgroundColor = UIColor.clear
126
+ textField.frame = UIScreen.main.bounds
125
127
 
126
- originalParent = visibleView.layer.superlayer
128
+ originalParent = keyWindow.layer.superlayer
127
129
 
128
- if let viewSuperlayer = visibleView.layer.superlayer {
129
- viewSuperlayer.addSublayer(textField.layer)
130
+ keyWindow.layer.superlayer?.addSublayer(textField.layer)
130
131
 
131
- if let firstTextFieldSublayer = textField.layer.sublayers?.first {
132
- visibleView.layer.removeFromSuperlayer()
133
- visibleView.layer.position = CGPoint(x: visibleView.bounds.width / 2, y: visibleView.bounds.height / 2)
134
- firstTextFieldSublayer.addSublayer(visibleView.layer)
135
- }
132
+ if let firstTextFieldSublayer = textField.layer.sublayers?.first {
133
+ keyWindow.layer.removeFromSuperlayer()
134
+ firstTextFieldSublayer.addSublayer(keyWindow.layer)
136
135
  }
137
136
 
138
137
  protectionTextField = textField
139
138
  }
140
139
 
141
140
  private func allowScreenshots() {
142
- guard let textField = protectionTextField else {
141
+ guard let textField = protectionTextField,
142
+ let window = keyWindow,
143
+ let originalParentLayer = originalParent else {
143
144
  return
144
145
  }
145
146
 
146
- if let protectedLayer = textField.layer.sublayers?.first?.sublayers?.first {
147
- protectedLayer.removeFromSuperlayer()
148
- if let parent = originalParent {
149
- parent.addSublayer(protectedLayer)
150
- }
151
- }
152
-
147
+ window.layer.removeFromSuperlayer()
148
+ originalParentLayer.addSublayer(window.layer)
153
149
  textField.layer.removeFromSuperlayer()
154
-
155
150
  protectionTextField = nil
156
151
  originalParent = nil
157
152
  }
@@ -0,0 +1 @@
1
+ 8b70c21316b9cf7b337974181781ac03f7285f53add0711078974eda529e59a6
@@ -0,0 +1 @@
1
+ 5b42b361fdac82b74caf4913ef943b27e6cf80fcb3b76e98bf2f17f06220c2c90307a96941699ffbaf092f229096e1203558a2492dcd39a3b01f605e5d81b176
@@ -3,14 +3,14 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.screencapture",
6
- "version": "7.3.0-canary-20250729-d8899ae",
6
+ "version": "8.0.0",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
10
10
  },
11
11
  "createdBy": {
12
12
  "gradle": {
13
- "version": "8.14"
13
+ "version": "8.14.3"
14
14
  }
15
15
  },
16
16
  "variants": [
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar",
28
- "url": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar",
29
- "size": 28245,
30
- "sha512": "5d693f6a83cc09074f42ae55d49f7cccfc0c2e1f024e43d866c285e18f0e37648ff966eb7507567538355f6d9f1b6c7d51f6eb45456dbe191ad41f3ae896f930",
31
- "sha256": "8a9e3dca21a096209a62e8ce26c3733e57135f9d59a41eb237636ae81c744345",
32
- "sha1": "bff3c51739c45f8a9d1b2184ddfb30538a689344",
33
- "md5": "3a53f7e2c485ed09380013fe5be379c8"
27
+ "name": "expo.modules.screencapture-8.0.0.aar",
28
+ "url": "expo.modules.screencapture-8.0.0.aar",
29
+ "size": 28284,
30
+ "sha512": "5b42b361fdac82b74caf4913ef943b27e6cf80fcb3b76e98bf2f17f06220c2c90307a96941699ffbaf092f229096e1203558a2492dcd39a3b01f605e5d81b176",
31
+ "sha256": "8b70c21316b9cf7b337974181781ac03f7285f53add0711078974eda529e59a6",
32
+ "sha1": "55f00eecdd28bc77f455faa53156abe90e432964",
33
+ "md5": "8bde4f732059452fbb63ddb046c61b25"
34
34
  }
35
35
  ]
36
36
  },
@@ -60,13 +60,13 @@
60
60
  ],
61
61
  "files": [
62
62
  {
63
- "name": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar",
64
- "url": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae.aar",
65
- "size": 28245,
66
- "sha512": "5d693f6a83cc09074f42ae55d49f7cccfc0c2e1f024e43d866c285e18f0e37648ff966eb7507567538355f6d9f1b6c7d51f6eb45456dbe191ad41f3ae896f930",
67
- "sha256": "8a9e3dca21a096209a62e8ce26c3733e57135f9d59a41eb237636ae81c744345",
68
- "sha1": "bff3c51739c45f8a9d1b2184ddfb30538a689344",
69
- "md5": "3a53f7e2c485ed09380013fe5be379c8"
63
+ "name": "expo.modules.screencapture-8.0.0.aar",
64
+ "url": "expo.modules.screencapture-8.0.0.aar",
65
+ "size": 28284,
66
+ "sha512": "5b42b361fdac82b74caf4913ef943b27e6cf80fcb3b76e98bf2f17f06220c2c90307a96941699ffbaf092f229096e1203558a2492dcd39a3b01f605e5d81b176",
67
+ "sha256": "8b70c21316b9cf7b337974181781ac03f7285f53add0711078974eda529e59a6",
68
+ "sha1": "55f00eecdd28bc77f455faa53156abe90e432964",
69
+ "md5": "8bde4f732059452fbb63ddb046c61b25"
70
70
  }
71
71
  ]
72
72
  },
@@ -80,8 +80,8 @@
80
80
  },
81
81
  "files": [
82
82
  {
83
- "name": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar",
84
- "url": "expo.modules.screencapture-7.3.0-canary-20250729-d8899ae-sources.jar",
83
+ "name": "expo.modules.screencapture-8.0.0-sources.jar",
84
+ "url": "expo.modules.screencapture-8.0.0-sources.jar",
85
85
  "size": 3601,
86
86
  "sha512": "080676e6818f1d063d27b7b460c49e34d7ebeae5e6a6e4c071840008b10a6beaafe0022467b6f556a1a190b22ae6b04ef87de7e7c2a74364b5af845efa1a6b05",
87
87
  "sha256": "d2c5b19e0bb1ad883b35525cdce5c665213505bea5b758f0c0c44b735fc960eb",
@@ -0,0 +1 @@
1
+ c74362771dde4accce3ebaa1dc50f040878344a92629b0499ef8c501a8119089
@@ -0,0 +1 @@
1
+ b132d12f3e076933f00a3bf5e5edbbda443782b7734cf1e538386834e12feb77c60d33c745a05725a7303f073b72913074b1b9b1d9479346894144b738f4a0e7
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.screencapture</artifactId>
12
- <version>7.3.0-canary-20250729-d8899ae</version>
12
+ <version>8.0.0</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.screencapture</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ e502084ca27a8e91d0e435abba0dd9063dedbd2c72828d7d7d95c3285dad2ba9
@@ -0,0 +1 @@
1
+ a1b1de3b087e1221ae83d878226a389c3f705bb3883f82d820601e662cdf0aa0c98bf379eb11d1070221508342d6a0bf2659c856cb31063f70e421e616bba980
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.screencapture</artifactId>
5
5
  <versioning>
6
- <latest>7.3.0-canary-20250729-d8899ae</latest>
7
- <release>7.3.0-canary-20250729-d8899ae</release>
6
+ <latest>8.0.0</latest>
7
+ <release>8.0.0</release>
8
8
  <versions>
9
- <version>7.3.0-canary-20250729-d8899ae</version>
9
+ <version>8.0.0</version>
10
10
  </versions>
11
- <lastUpdated>20250729125132</lastUpdated>
11
+ <lastUpdated>20250813165922</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- d78637e8c9b36b475f02f8e0d63e274f
1
+ fe9a7bf5e0c4417371ffb9e9d6dd068c
@@ -1 +1 @@
1
- 7f295d4d133484c46f2cacd3face20c8a61c9ed1
1
+ 77e5ddd3b9b035fa8cda1f845f058c1042fdf10b
@@ -1 +1 @@
1
- 21c0e5acb23b5d987ff4cdd602f74b6237190dcf96e1b59e2feda3c845f46f76
1
+ 2d35cde0271ae1d58f5a018d753de4f76626ef75cd0c46e5adf18cd795703f54
@@ -1 +1 @@
1
- 379d3c19edf230ab9bc5848a88d2fe4879043f2fdae27171a7aee1633119ae5a2533e225a0a44a9bc8e8e278b8f423b52fd2feabbcad672a1c3eb03eff6d4f6a
1
+ 32d3c36a50a7af7a889746708c0e0eef2787f9d55ad212878114a49c6f95407156dfb44a13fc964b71d131d416ef18d35478461db675990bb182c0ff06f15659
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-screen-capture",
3
- "version": "7.3.0-canary-20250729-d8899ae",
3
+ "version": "8.0.0",
4
4
  "description": "Protects screens in your app from being captured or recorded, and notifies if a screenshot is taken.",
5
5
  "main": "build/ScreenCapture.js",
6
6
  "types": "build/ScreenCapture.d.ts",
@@ -35,10 +35,11 @@
35
35
  "dependencies": {},
36
36
  "devDependencies": {
37
37
  "@testing-library/react-native": "^13.1.0",
38
- "expo-module-scripts": "4.1.10-canary-20250729-d8899ae"
38
+ "expo-module-scripts": "^5.0.0"
39
39
  },
40
40
  "peerDependencies": {
41
- "expo": "54.0.0-canary-20250729-d8899ae",
41
+ "expo": "*",
42
42
  "react": "*"
43
- }
43
+ },
44
+ "gitHead": "cb7062e2c17d1fb09522834aaaac0e19b766df62"
44
45
  }
@@ -1 +0,0 @@
1
- 5d693f6a83cc09074f42ae55d49f7cccfc0c2e1f024e43d866c285e18f0e37648ff966eb7507567538355f6d9f1b6c7d51f6eb45456dbe191ad41f3ae896f930
@@ -1 +0,0 @@
1
- a17312b2ba94b332f4d6e396a4a8409f3b184c974b6cef56af7400bd64953ae4cad2a1f6eeb84bd1be28db5aac6fa03995cda83412991aa52c0573bdce26107d
@@ -1 +0,0 @@
1
- 86da8292f4799256e7dff3bda835597411a1291a169c4be52c936f7afcd9429dc70d822e5fe742d29ead38b41ea60a3d40a8faae4e6ae98ca833c7985ba4a424