react-native-tvos 0.76.0-0rc4 → 0.76.0-0rc5

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.
@@ -17,7 +17,7 @@ const version: $ReadOnly<{
17
17
  major: 0,
18
18
  minor: 76,
19
19
  patch: 0,
20
- prerelease: '0rc4',
20
+ prerelease: '0rc5',
21
21
  };
22
22
 
23
23
  module.exports = {version};
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(76),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"0rc4",
27
+ RCTVersionPrerelease: @"0rc5",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -3798,13 +3798,13 @@ public abstract class com/facebook/react/packagerconnection/NotificationOnlyHand
3798
3798
  public final fun onRequest (Ljava/lang/Object;Lcom/facebook/react/packagerconnection/Responder;)V
3799
3799
  }
3800
3800
 
3801
- public final class com/facebook/react/packagerconnection/PackagerConnectionSettings {
3801
+ public class com/facebook/react/packagerconnection/PackagerConnectionSettings {
3802
3802
  public fun <init> (Landroid/content/Context;)V
3803
3803
  public final fun getAdditionalOptionsForPackager ()Ljava/util/Map;
3804
- public final fun getDebugServerHost ()Ljava/lang/String;
3804
+ public fun getDebugServerHost ()Ljava/lang/String;
3805
3805
  public final fun getPackageName ()Ljava/lang/String;
3806
3806
  public final fun setAdditionalOptionForPackager (Ljava/lang/String;Ljava/lang/String;)V
3807
- public final fun setDebugServerHost (Ljava/lang/String;)V
3807
+ public fun setDebugServerHost (Ljava/lang/String;)V
3808
3808
  }
3809
3809
 
3810
3810
  public final class com/facebook/react/packagerconnection/ReconnectingWebSocket : okhttp3/WebSocketListener {
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.76.0-0rc4
1
+ VERSION_NAME=0.76.0-0rc5
2
2
  react.internal.publishingGroup=io.github.react-native-tvos
3
3
 
4
4
  android.useAndroidX=true
@@ -18,5 +18,5 @@ public class ReactNativeVersion {
18
18
  "major", 0,
19
19
  "minor", 76,
20
20
  "patch", 0,
21
- "prerelease", "0rc4");
21
+ "prerelease", "0rc5");
22
22
  }
@@ -15,13 +15,13 @@ import android.preference.PreferenceManager
15
15
  import com.facebook.common.logging.FLog
16
16
  import com.facebook.react.modules.systeminfo.AndroidInfoHelpers
17
17
 
18
- public class PackagerConnectionSettings(private val appContext: Context) {
18
+ public open class PackagerConnectionSettings(private val appContext: Context) {
19
19
  private val preferences: SharedPreferences =
20
20
  PreferenceManager.getDefaultSharedPreferences(appContext)
21
21
  public val packageName: String = appContext.packageName
22
22
  private val _additionalOptionsForPackager: MutableMap<String, String> = mutableMapOf()
23
23
 
24
- public var debugServerHost: String
24
+ public open var debugServerHost: String
25
25
  get() {
26
26
  // Check host setting first. If empty try to detect emulator type and use default
27
27
  // hostname for those
@@ -27,6 +27,7 @@ import android.view.WindowManager
27
27
  import android.view.accessibility.AccessibilityEvent
28
28
  import android.widget.FrameLayout
29
29
  import androidx.annotation.UiThread
30
+ import com.facebook.common.logging.FLog
30
31
  import com.facebook.react.R
31
32
  import com.facebook.react.bridge.GuardedRunnable
32
33
  import com.facebook.react.bridge.LifecycleEventListener
@@ -34,6 +35,7 @@ import com.facebook.react.bridge.ReactContext
34
35
  import com.facebook.react.bridge.UiThreadUtil
35
36
  import com.facebook.react.bridge.WritableMap
36
37
  import com.facebook.react.bridge.WritableNativeMap
38
+ import com.facebook.react.common.ReactConstants
37
39
  import com.facebook.react.common.annotations.VisibleForTesting
38
40
  import com.facebook.react.config.ReactFeatureFlags
39
41
  import com.facebook.react.modules.core.ReactAndroidHWInputDeviceHelper
@@ -313,29 +315,37 @@ public class ReactModalHostView(context: ThemedReactContext) :
313
315
  val dialogWindow =
314
316
  checkNotNull(dialog.window) { "dialog must have window when we call updateProperties" }
315
317
  val currentActivity = getCurrentActivity()
316
- if (currentActivity == null || currentActivity.isFinishing) {
318
+ if (currentActivity == null || currentActivity.isFinishing || currentActivity.isDestroyed) {
317
319
  // If the activity has disappeared, then we shouldn't update the window associated to the
318
320
  // Dialog.
319
321
  return
320
322
  }
321
- val activityWindow = currentActivity.window
322
- if (activityWindow != null) {
323
- val activityWindowFlags = activityWindow.attributes.flags
324
- if ((activityWindowFlags and WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0) {
325
- dialogWindow.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
326
- } else {
327
- dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
323
+ try {
324
+ val activityWindow = currentActivity.window
325
+ if (activityWindow != null) {
326
+ val activityWindowFlags = activityWindow.attributes.flags
327
+ if ((activityWindowFlags and WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0) {
328
+ dialogWindow.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
329
+ } else {
330
+ dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
331
+ }
328
332
  }
329
- }
330
333
 
331
- dialogWindow.setStatusBarTranslucency(statusBarTranslucent)
334
+ dialogWindow.setStatusBarTranslucency(statusBarTranslucent)
332
335
 
333
- if (transparent) {
334
- dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
335
- } else {
336
- dialogWindow.setDimAmount(0.5f)
337
- dialogWindow.setFlags(
338
- WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND)
336
+ if (transparent) {
337
+ dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
338
+ } else {
339
+ dialogWindow.setDimAmount(0.5f)
340
+ dialogWindow.setFlags(
341
+ WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND)
342
+ }
343
+ } catch (e: IllegalArgumentException) {
344
+ // This is to prevent a crash from the following error, without a clear repro steps:
345
+ // java.lang.IllegalArgumentException: View=DecorView@c94931b[XxxActivity] not attached to
346
+ // window manager
347
+ FLog.e(
348
+ ReactConstants.TAG, "ReactModalHostView: error while setting window flags: ", e.message)
339
349
  }
340
350
  }
341
351
 
@@ -18,7 +18,7 @@ constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 76;
20
20
  int32_t Patch = 0;
21
- std::string_view Prerelease = "0rc4";
21
+ std::string_view Prerelease = "0rc5";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.76.0-0rc4",
3
+ "version": "0.76.0-0rc5",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -110,13 +110,13 @@
110
110
  },
111
111
  "dependencies": {
112
112
  "@jest/create-cache-key-function": "^29.6.3",
113
- "@react-native/assets-registry": "0.76.0-rc.4",
114
- "@react-native/codegen": "0.76.0-rc.4",
115
- "@react-native/community-cli-plugin": "0.76.0-rc.4",
116
- "@react-native/gradle-plugin": "0.76.0-rc.4",
117
- "@react-native/js-polyfills": "0.76.0-rc.4",
118
- "@react-native/normalize-colors": "0.76.0-rc.4",
119
- "@react-native-tvos/virtualized-lists": "0.76.0-0rc4",
113
+ "@react-native/assets-registry": "0.76.0-rc.5",
114
+ "@react-native/codegen": "0.76.0-rc.5",
115
+ "@react-native/community-cli-plugin": "0.76.0-rc.5",
116
+ "@react-native/gradle-plugin": "0.76.0-rc.5",
117
+ "@react-native/js-polyfills": "0.76.0-rc.5",
118
+ "@react-native/normalize-colors": "0.76.0-rc.5",
119
+ "@react-native-tvos/virtualized-lists": "0.76.0-0rc5",
120
120
  "abort-controller": "^3.0.0",
121
121
  "anser": "^1.4.9",
122
122
  "ansi-regex": "^5.0.0",
@@ -132,8 +132,8 @@
132
132
  "jest-environment-node": "^29.6.3",
133
133
  "jsc-android": "^250231.0.0",
134
134
  "memoize-one": "^5.0.0",
135
- "metro-runtime": "^0.81.0-alpha.2",
136
- "metro-source-map": "^0.81.0-alpha.2",
135
+ "metro-runtime": "^0.81.0",
136
+ "metro-source-map": "^0.81.0",
137
137
  "mkdirp": "^0.5.1",
138
138
  "nullthrows": "^1.1.1",
139
139
  "pretty-format": "^29.7.0",
@@ -12,19 +12,33 @@ class NewArchitectureHelper
12
12
  @@NewArchWarningEmitted = false # Used not to spam warnings to the user.
13
13
 
14
14
  def self.set_clang_cxx_language_standard_if_needed(installer)
15
+ cxxBuildsettingsName = "CLANG_CXX_LANGUAGE_STANDARD"
15
16
  projects = installer.aggregate_targets
16
17
  .map{ |t| t.user_project }
17
18
  .uniq{ |p| p.path }
18
19
 
19
20
  projects.each do |project|
20
- Pod::UI.puts("Setting CLANG_CXX_LANGUAGE_STANDARD to #{ Helpers::Constants::cxx_language_standard } on #{ project.path }")
21
+ Pod::UI.puts("Setting #{cxxBuildsettingsName} to #{ Helpers::Constants::cxx_language_standard } on #{ project.path }")
21
22
 
22
23
  project.build_configurations.each do |config|
23
- config.build_settings["CLANG_CXX_LANGUAGE_STANDARD"] = Helpers::Constants::cxx_language_standard
24
+ config.build_settings[cxxBuildsettingsName] = Helpers::Constants::cxx_language_standard
24
25
  end
25
26
 
26
27
  project.save()
27
28
  end
29
+
30
+ installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
31
+ target_installation_result.native_target.build_configurations.each do |config|
32
+ config.build_settings[cxxBuildsettingsName] = Helpers::Constants::cxx_language_standard
33
+ end
34
+ end
35
+
36
+ # Override targets that would set spec.xcconfig to define c++ version
37
+ installer.aggregate_targets.each do |aggregate_target|
38
+ aggregate_target.xcconfigs.each do |config_name, config_file|
39
+ config_file.attributes[cxxBuildsettingsName] = Helpers::Constants::cxx_language_standard
40
+ end
41
+ end
28
42
  end
29
43
 
30
44
  def self.computeFlags(is_new_arch_enabled)
Binary file
Binary file
Binary file