expo-gl 11.3.0 → 11.4.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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 11.4.0 — 2022-07-07
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - Stop rendering when app is backgrounded on iOS. ([#17463](https://github.com/expo/expo/pull/17463) by [@wkozyra95](https://github.com/wkozyra95))
18
+ - Added support for React Native 0.69.x. ([#18006](https://github.com/expo/expo/pull/18006) by [@kudo](https://github.com/kudo))
19
+
13
20
  ## 11.3.0 — 2022-04-27
14
21
 
15
22
  ### 🐛 Bug fixes
@@ -3,7 +3,7 @@ apply plugin: 'kotlin-android'
3
3
  apply plugin: 'maven-publish'
4
4
 
5
5
  group = 'host.exp.exponent'
6
- version = '11.3.0'
6
+ version = '11.4.0'
7
7
 
8
8
  buildscript {
9
9
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
@@ -74,7 +74,7 @@ android {
74
74
  minSdkVersion safeExtGet("minSdkVersion", 21)
75
75
  targetSdkVersion safeExtGet("targetSdkVersion", 31)
76
76
  versionCode 31
77
- versionName "11.3.0"
77
+ versionName "11.4.0"
78
78
  }
79
79
 
80
80
  sourceSets.main {
@@ -20,6 +20,7 @@
20
20
  @property (nonatomic, weak) EXGLObjectManager *objectManager;
21
21
  @property (nonatomic, assign) BOOL isContextReady;
22
22
  @property (nonatomic, assign) BOOL wasPrepareCalled;
23
+ @property (nonatomic) BOOL appIsBackgrounded;
23
24
 
24
25
  @end
25
26
 
@@ -36,6 +37,7 @@
36
37
  _eaglCtx = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3] ?: [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
37
38
  _isContextReady = NO;
38
39
  _wasPrepareCalled = NO;
40
+ _appIsBackgrounded = NO;
39
41
  }
40
42
  return self;
41
43
  }
@@ -71,6 +73,29 @@
71
73
  {
72
74
  self->_contextId = UEXGLContextCreate();
73
75
  [self->_objectManager saveContext:self];
76
+
77
+ // listen for foreground/background transitions
78
+ [[NSNotificationCenter defaultCenter] addObserver:self
79
+ selector:@selector(onApplicationDidBecomeActive:)
80
+ name:UIApplicationDidBecomeActiveNotification
81
+ object:nil];
82
+ [[NSNotificationCenter defaultCenter] addObserver:self
83
+ selector:@selector(onApplicationWillResignActive:)
84
+ name:UIApplicationWillResignActiveNotification
85
+ object:nil];
86
+ }
87
+
88
+ - (void)onApplicationWillResignActive:(NSNotification *)notification
89
+ {
90
+ _appIsBackgrounded = YES;
91
+ dispatch_sync(_glQueue, ^{
92
+ glFinish();
93
+ });
94
+ }
95
+
96
+ - (void)onApplicationDidBecomeActive:(NSNotification *)notification {
97
+ _appIsBackgrounded = NO;
98
+ [self flush];
74
99
  }
75
100
 
76
101
  - (void)prepare:(void(^)(BOOL))callback
@@ -117,6 +142,9 @@
117
142
 
118
143
  - (void)flush
119
144
  {
145
+ if (_appIsBackgrounded) {
146
+ return;
147
+ }
120
148
  [self runAsync:^{
121
149
  UEXGLContextFlush(self->_contextId);
122
150
 
@@ -128,6 +156,9 @@
128
156
 
129
157
  - (void)destroy
130
158
  {
159
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
160
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil];
161
+
131
162
  [self runAsync:^{
132
163
  if ([self.delegate respondsToSelector:@selector(glContextWillDestroy:)]) {
133
164
  [self.delegate glContextWillDestroy:self];
@@ -6,30 +6,30 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64_x86_64-simulator</string>
9
+ <string>ios-arm64</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>EXGL.framework</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
- <string>x86_64</string>
16
15
  </array>
17
16
  <key>SupportedPlatform</key>
18
17
  <string>ios</string>
19
- <key>SupportedPlatformVariant</key>
20
- <string>simulator</string>
21
18
  </dict>
22
19
  <dict>
23
20
  <key>LibraryIdentifier</key>
24
- <string>ios-arm64</string>
21
+ <string>ios-arm64_x86_64-simulator</string>
25
22
  <key>LibraryPath</key>
26
23
  <string>EXGL.framework</string>
27
24
  <key>SupportedArchitectures</key>
28
25
  <array>
29
26
  <string>arm64</string>
27
+ <string>x86_64</string>
30
28
  </array>
31
29
  <key>SupportedPlatform</key>
32
30
  <string>ios</string>
31
+ <key>SupportedPlatformVariant</key>
32
+ <string>simulator</string>
33
33
  </dict>
34
34
  </array>
35
35
  <key>CFBundlePackageType</key>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-gl",
3
- "version": "11.3.0",
3
+ "version": "11.4.0",
4
4
  "description": "Provides GLView that acts as OpenGL ES render target and gives GL context object implementing WebGL 2.0 specification.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -37,7 +37,7 @@
37
37
  "preset": "expo-module-scripts"
38
38
  },
39
39
  "dependencies": {
40
- "expo-gl-cpp": "~11.3.0",
40
+ "expo-gl-cpp": "~11.4.0",
41
41
  "invariant": "^2.2.4"
42
42
  },
43
43
  "devDependencies": {
@@ -45,10 +45,10 @@
45
45
  "@types/offscreencanvas": "2019.6.4",
46
46
  "@types/webgl2": "^0.0.6",
47
47
  "expo-module-scripts": "^2.0.0",
48
- "react-test-renderer": "~17.0.2"
48
+ "react-test-renderer": "~18.0.0"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "expo": "*"
52
52
  },
53
- "gitHead": "be6e0e7ea3f7fd1ab8368137260a7ad1b1bf12a8"
53
+ "gitHead": "e893ff2b01e108cf246cec02318c0df9d6bc603c"
54
54
  }