react-native-tvos 0.69.6-2 → 0.69.8-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 (201) hide show
  1. package/Libraries/Components/Pressable/Pressable.js +11 -2
  2. package/Libraries/Components/ScrollView/ScrollView.js +1 -0
  3. package/Libraries/Components/TV/TVEventHandler.js +4 -2
  4. package/Libraries/Components/TV/TVFocusEventHandler.js +4 -2
  5. package/Libraries/Components/TV/TVFocusGuideView.js +77 -47
  6. package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
  7. package/Libraries/Components/TV/useTVEventHandler.js +2 -1
  8. package/Libraries/Components/TextInput/TextInput.js +1 -1
  9. package/Libraries/Components/Touchable/TouchableBounce.js +5 -0
  10. package/Libraries/Components/Touchable/TouchableHighlight.js +7 -2
  11. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -2
  12. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +7 -0
  13. package/Libraries/Components/View/View.js +36 -2
  14. package/Libraries/Components/View/ViewNativeComponent.js +9 -3
  15. package/Libraries/Core/ReactNativeVersion.js +2 -2
  16. package/Libraries/Lists/VirtualizedList.js +25 -10
  17. package/Libraries/LogBox/UI/LogBoxButton.js +16 -12
  18. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  19. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -20
  20. package/Libraries/StyleSheet/StyleSheetTypes.js +1 -0
  21. package/Libraries/Types/CoreEventTypes.js +9 -0
  22. package/README.md +3 -1
  23. package/React/Base/RCTRootView.m +6 -0
  24. package/React/Base/RCTRootViewInternal.h +1 -0
  25. package/React/Base/RCTVersion.m +2 -2
  26. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.h +1 -0
  27. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +6 -0
  28. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +111 -8
  29. package/React/Views/RCTTVView.h +13 -1
  30. package/React/Views/RCTTVView.m +91 -0
  31. package/React/Views/RCTViewManager.m +14 -1
  32. package/ReactAndroid/gradle.properties +1 -1
  33. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +6 -1
  34. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +4 -5
  35. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +57 -62
  36. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +7 -1
  37. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +44 -14
  38. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  39. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +18 -0
  40. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +25 -0
  41. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +247 -7
  42. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +50 -4
  43. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  44. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +87 -11
  45. package/ReactCommon/react/renderer/components/view/ViewProps.h +10 -1
  46. package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar → 0.69.8-0/hermes-engine-0.69.8-0-debug-javadoc.jar} +0 -0
  47. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug-javadoc.jar.md5 +1 -0
  48. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug-javadoc.jar.sha1 +1 -0
  49. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug-javadoc.jar.sha256 +1 -0
  50. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug-javadoc.jar.sha512 +1 -0
  51. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug.aar +0 -0
  52. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug.aar.md5 +1 -0
  53. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug.aar.sha1 +1 -0
  54. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug.aar.sha256 +1 -0
  55. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-debug.aar.sha512 +1 -0
  56. package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar → 0.69.8-0/hermes-engine-0.69.8-0-release-javadoc.jar} +0 -0
  57. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release-javadoc.jar.md5 +1 -0
  58. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release-javadoc.jar.sha1 +1 -0
  59. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release-javadoc.jar.sha256 +1 -0
  60. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release-javadoc.jar.sha512 +1 -0
  61. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release.aar +0 -0
  62. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release.aar.md5 +1 -0
  63. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release.aar.sha1 +1 -0
  64. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release.aar.sha256 +1 -0
  65. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0-release.aar.sha512 +1 -0
  66. package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2.module → 0.69.8-0/hermes-engine-0.69.8-0.module} +47 -47
  67. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.module.md5 +1 -0
  68. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.module.sha1 +1 -0
  69. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.module.sha256 +1 -0
  70. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.module.sha512 +1 -0
  71. package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2.pom → 0.69.8-0/hermes-engine-0.69.8-0.pom} +1 -1
  72. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.pom.md5 +1 -0
  73. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.pom.sha1 +1 -0
  74. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.pom.sha256 +1 -0
  75. package/android/com/facebook/react/hermes-engine/0.69.8-0/hermes-engine-0.69.8-0.pom.sha512 +1 -0
  76. package/android/com/facebook/react/hermes-engine/maven-metadata.xml +4 -4
  77. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -1
  78. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -1
  79. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -1
  80. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -1
  81. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release-javadoc.jar → 0.69.8-0/react-native-0.69.8-0-debug-javadoc.jar} +0 -0
  82. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-javadoc.jar.md5 +1 -0
  83. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-javadoc.jar.sha1 +1 -0
  84. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-javadoc.jar.sha256 +1 -0
  85. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-javadoc.jar.sha512 +1 -0
  86. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug-sources.jar → 0.69.8-0/react-native-0.69.8-0-debug-sources.jar} +0 -0
  87. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-sources.jar.md5 +1 -0
  88. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-sources.jar.sha1 +1 -0
  89. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-sources.jar.sha256 +1 -0
  90. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug-sources.jar.sha512 +1 -0
  91. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug.aar → 0.69.8-0/react-native-0.69.8-0-debug.aar} +0 -0
  92. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug.aar.md5 +1 -0
  93. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug.aar.sha1 +1 -0
  94. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug.aar.sha256 +1 -0
  95. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-debug.aar.sha512 +1 -0
  96. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar → 0.69.8-0/react-native-0.69.8-0-release-javadoc.jar} +0 -0
  97. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-javadoc.jar.md5 +1 -0
  98. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-javadoc.jar.sha1 +1 -0
  99. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-javadoc.jar.sha256 +1 -0
  100. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-javadoc.jar.sha512 +1 -0
  101. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release-sources.jar → 0.69.8-0/react-native-0.69.8-0-release-sources.jar} +0 -0
  102. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-sources.jar.md5 +1 -0
  103. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-sources.jar.sha1 +1 -0
  104. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-sources.jar.sha256 +1 -0
  105. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release-sources.jar.sha512 +1 -0
  106. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2-release.aar → 0.69.8-0/react-native-0.69.8-0-release.aar} +0 -0
  107. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release.aar.md5 +1 -0
  108. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release.aar.sha1 +1 -0
  109. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release.aar.sha256 +1 -0
  110. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0-release.aar.sha512 +1 -0
  111. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2.module → 0.69.8-0/react-native-0.69.8-0.module} +57 -57
  112. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.module.md5 +1 -0
  113. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.module.sha1 +1 -0
  114. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.module.sha256 +1 -0
  115. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.module.sha512 +1 -0
  116. package/android/com/facebook/react/react-native/{0.69.6-2/react-native-0.69.6-2.pom → 0.69.8-0/react-native-0.69.8-0.pom} +1 -1
  117. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.pom.md5 +1 -0
  118. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.pom.sha1 +1 -0
  119. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.pom.sha256 +1 -0
  120. package/android/com/facebook/react/react-native/0.69.8-0/react-native-0.69.8-0.pom.sha512 +1 -0
  121. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  122. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  123. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  124. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  125. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  126. package/index.js +1 -7
  127. package/package.json +2 -2
  128. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  129. package/sdks/hermesc/osx-bin/hermesc +0 -0
  130. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  131. package/template/package.json +1 -1
  132. package/tvos-types.d.ts +41 -5
  133. package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
  134. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.md5 +0 -1
  135. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha1 +0 -1
  136. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha256 +0 -1
  137. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug-javadoc.jar.sha512 +0 -1
  138. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar +0 -0
  139. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.md5 +0 -1
  140. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha1 +0 -1
  141. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha256 +0 -1
  142. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-debug.aar.sha512 +0 -1
  143. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.md5 +0 -1
  144. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha1 +0 -1
  145. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha256 +0 -1
  146. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release-javadoc.jar.sha512 +0 -1
  147. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar +0 -0
  148. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.md5 +0 -1
  149. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha1 +0 -1
  150. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha256 +0 -1
  151. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2-release.aar.sha512 +0 -1
  152. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.md5 +0 -1
  153. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha1 +0 -1
  154. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha256 +0 -1
  155. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.module.sha512 +0 -1
  156. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.md5 +0 -1
  157. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha1 +0 -1
  158. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha256 +0 -1
  159. package/android/com/facebook/react/hermes-engine/0.69.6-2/hermes-engine-0.69.6-2.pom.sha512 +0 -1
  160. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.md5 +0 -1
  161. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha1 +0 -1
  162. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha256 +0 -1
  163. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-javadoc.jar.sha512 +0 -1
  164. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.md5 +0 -1
  165. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha1 +0 -1
  166. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha256 +0 -1
  167. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug-sources.jar.sha512 +0 -1
  168. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.md5 +0 -1
  169. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha1 +0 -1
  170. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha256 +0 -1
  171. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-debug.aar.sha512 +0 -1
  172. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.md5 +0 -1
  173. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha1 +0 -1
  174. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha256 +0 -1
  175. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-javadoc.jar.sha512 +0 -1
  176. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.md5 +0 -1
  177. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha1 +0 -1
  178. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha256 +0 -1
  179. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release-sources.jar.sha512 +0 -1
  180. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.md5 +0 -1
  181. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha1 +0 -1
  182. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha256 +0 -1
  183. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2-release.aar.sha512 +0 -1
  184. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.md5 +0 -1
  185. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha1 +0 -1
  186. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha256 +0 -1
  187. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.module.sha512 +0 -1
  188. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.md5 +0 -1
  189. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha1 +0 -1
  190. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha256 +0 -1
  191. package/android/com/facebook/react/react-native/0.69.6-2/react-native-0.69.6-2.pom.sha512 +0 -1
  192. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar → 0.69.8-0/hermes-engine-0.69.8-0-debug-sources.jar} +0 -0
  193. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.md5 → 0.69.8-0/hermes-engine-0.69.8-0-debug-sources.jar.md5} +0 -0
  194. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha1 → 0.69.8-0/hermes-engine-0.69.8-0-debug-sources.jar.sha1} +0 -0
  195. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha256 → 0.69.8-0/hermes-engine-0.69.8-0-debug-sources.jar.sha256} +0 -0
  196. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-debug-sources.jar.sha512 → 0.69.8-0/hermes-engine-0.69.8-0-debug-sources.jar.sha512} +0 -0
  197. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar → 0.69.8-0/hermes-engine-0.69.8-0-release-sources.jar} +0 -0
  198. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.md5 → 0.69.8-0/hermes-engine-0.69.8-0-release-sources.jar.md5} +0 -0
  199. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha1 → 0.69.8-0/hermes-engine-0.69.8-0-release-sources.jar.sha1} +0 -0
  200. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha256 → 0.69.8-0/hermes-engine-0.69.8-0-release-sources.jar.sha256} +0 -0
  201. /package/android/com/facebook/react/hermes-engine/{0.69.6-2/hermes-engine-0.69.6-2-release-sources.jar.sha512 → 0.69.8-0/hermes-engine-0.69.8-0-release-sources.jar.sha512} +0 -0
@@ -30,11 +30,9 @@ import com.facebook.react.uimanager.events.EventDispatcher;
30
30
  import com.facebook.react.uimanager.events.EventDispatcherListener;
31
31
  import java.util.ArrayDeque;
32
32
  import java.util.ArrayList;
33
- import java.util.HashMap;
34
33
  import java.util.LinkedList;
35
34
  import java.util.List;
36
35
  import java.util.ListIterator;
37
- import java.util.Map;
38
36
  import java.util.Queue;
39
37
 
40
38
  /**
@@ -57,9 +55,9 @@ import java.util.Queue;
57
55
  private final SparseArray<AnimatedNode> mAnimatedNodes = new SparseArray<>();
58
56
  private final SparseArray<AnimationDriver> mActiveAnimations = new SparseArray<>();
59
57
  private final SparseArray<AnimatedNode> mUpdatedNodes = new SparseArray<>();
60
- // Mapping of a view tag and an event name to a list of event animation drivers. 99% of the time
61
- // there will be only one driver per mapping so all code code should be optimized around that.
62
- private final Map<String, List<EventAnimationDriver>> mEventDrivers = new HashMap<>();
58
+ // List of event animation drivers for an event on view.
59
+ // There may be multiple drivers for the same event and view.
60
+ private final List<EventAnimationDriver> mEventDrivers = new ArrayList<>();
63
61
  private final ReactApplicationContext mReactApplicationContext;
64
62
  private int mAnimatedGraphBFSColor = 0;
65
63
  // Used to avoid allocating a new array on every frame in `runUpdates` and `onEventDispatch`.
@@ -76,36 +74,27 @@ import java.util.Queue;
76
74
 
77
75
  /**
78
76
  * Initialize event listeners for Fabric UIManager or non-Fabric UIManager, exactly once. Once
79
- * Fabric is the only UIManager, this logic can be simplified. This is only called on the JS
80
- * thread.
77
+ * Fabric is the only UIManager, this logic can be simplified. This is expected to only be called
78
+ * from the native module thread.
81
79
  *
82
80
  * @param uiManagerType
83
81
  */
84
- @UiThread
85
82
  public void initializeEventListenerForUIManagerType(@UIManagerType final int uiManagerType) {
86
- if ((uiManagerType == UIManagerType.FABRIC && mEventListenerInitializedForFabric)
87
- || (uiManagerType == UIManagerType.DEFAULT && mEventListenerInitializedForNonFabric)) {
83
+ if (uiManagerType == UIManagerType.FABRIC
84
+ ? mEventListenerInitializedForFabric
85
+ : mEventListenerInitializedForNonFabric) {
88
86
  return;
89
87
  }
90
88
 
91
- final NativeAnimatedNodesManager self = this;
92
- mReactApplicationContext.runOnUiQueueThread(
93
- new Runnable() {
94
- @Override
95
- public void run() {
96
- UIManager uiManager =
97
- UIManagerHelper.getUIManager(mReactApplicationContext, uiManagerType);
98
- if (uiManager != null) {
99
- uiManager.<EventDispatcher>getEventDispatcher().addListener(self);
100
-
101
- if (uiManagerType == UIManagerType.FABRIC) {
102
- mEventListenerInitializedForFabric = true;
103
- } else {
104
- mEventListenerInitializedForNonFabric = true;
105
- }
106
- }
107
- }
108
- });
89
+ UIManager uiManager = UIManagerHelper.getUIManager(mReactApplicationContext, uiManagerType);
90
+ if (uiManager != null) {
91
+ uiManager.<EventDispatcher>getEventDispatcher().addListener(this);
92
+ if (uiManagerType == UIManagerType.FABRIC) {
93
+ mEventListenerInitializedForFabric = true;
94
+ } else {
95
+ mEventListenerInitializedForNonFabric = true;
96
+ }
97
+ }
109
98
  }
110
99
 
111
100
  /*package*/ @Nullable
@@ -471,7 +460,8 @@ import java.util.Queue;
471
460
  }
472
461
 
473
462
  @UiThread
474
- public void addAnimatedEventToView(int viewTag, String eventName, ReadableMap eventMapping) {
463
+ public void addAnimatedEventToView(
464
+ int viewTag, String eventHandlerName, ReadableMap eventMapping) {
475
465
  int nodeTag = eventMapping.getInt("animatedValueTag");
476
466
  AnimatedNode node = mAnimatedNodes.get(nodeTag);
477
467
  if (node == null) {
@@ -482,8 +472,8 @@ import java.util.Queue;
482
472
  throw new JSApplicationIllegalArgumentException(
483
473
  "addAnimatedEventToView: Animated node on view ["
484
474
  + viewTag
485
- + "] connected to event ("
486
- + eventName
475
+ + "] connected to event handler ("
476
+ + eventHandlerName
487
477
  + ") should be of type "
488
478
  + ValueAnimatedNode.class.getName());
489
479
  }
@@ -494,37 +484,31 @@ import java.util.Queue;
494
484
  pathList.add(path.getString(i));
495
485
  }
496
486
 
497
- EventAnimationDriver event = new EventAnimationDriver(pathList, (ValueAnimatedNode) node);
498
- String key = viewTag + eventName;
499
- if (mEventDrivers.containsKey(key)) {
500
- mEventDrivers.get(key).add(event);
501
- } else {
502
- List<EventAnimationDriver> drivers = new ArrayList<>(1);
503
- drivers.add(event);
504
- mEventDrivers.put(key, drivers);
505
- }
487
+ String eventName = normalizeEventName(eventHandlerName);
488
+
489
+ EventAnimationDriver eventDriver =
490
+ new EventAnimationDriver(eventName, viewTag, pathList, (ValueAnimatedNode) node);
491
+ mEventDrivers.add(eventDriver);
506
492
  }
507
493
 
508
494
  @UiThread
509
- public void removeAnimatedEventFromView(int viewTag, String eventName, int animatedValueTag) {
510
- String key = viewTag + eventName;
511
- if (mEventDrivers.containsKey(key)) {
512
- List<EventAnimationDriver> driversForKey = mEventDrivers.get(key);
513
- if (driversForKey.size() == 1) {
514
- mEventDrivers.remove(viewTag + eventName);
515
- } else {
516
- ListIterator<EventAnimationDriver> it = driversForKey.listIterator();
517
- while (it.hasNext()) {
518
- if (it.next().mValueNode.mTag == animatedValueTag) {
519
- it.remove();
520
- break;
521
- }
522
- }
495
+ public void removeAnimatedEventFromView(
496
+ int viewTag, String eventHandlerName, int animatedValueTag) {
497
+
498
+ String eventName = normalizeEventName(eventHandlerName);
499
+
500
+ ListIterator<EventAnimationDriver> it = mEventDrivers.listIterator();
501
+ while (it.hasNext()) {
502
+ EventAnimationDriver driver = it.next();
503
+ if (eventName.equals(driver.mEventName)
504
+ && viewTag == driver.mViewTag
505
+ && animatedValueTag == driver.mValueNode.mTag) {
506
+ it.remove();
507
+ break;
523
508
  }
524
509
  }
525
510
  }
526
511
 
527
- @UiThread
528
512
  @Override
529
513
  public void onEventDispatch(final Event event) {
530
514
  // Events can be dispatched from any thread so we have to make sure handleEvent is run from the
@@ -556,18 +540,19 @@ import java.util.Queue;
556
540
  if (uiManager == null) {
557
541
  return;
558
542
  }
559
- String eventName = uiManager.resolveCustomDirectEventName(event.getEventName());
560
- if (eventName == null) {
561
- eventName = "";
562
- }
563
543
 
564
- List<EventAnimationDriver> driversForKey = mEventDrivers.get(event.getViewTag() + eventName);
565
- if (driversForKey != null) {
566
- for (EventAnimationDriver driver : driversForKey) {
544
+ boolean foundAtLeastOneDriver = false;
545
+ Event.EventAnimationDriverMatchSpec matchSpec = event.getEventAnimationDriverMatchSpec();
546
+ for (EventAnimationDriver driver : mEventDrivers) {
547
+ if (matchSpec.match(driver.mViewTag, driver.mEventName)) {
548
+ foundAtLeastOneDriver = true;
567
549
  stopAnimationsForNode(driver.mValueNode);
568
550
  event.dispatch(driver);
569
551
  mRunUpdateNodeList.add(driver.mValueNode);
570
552
  }
553
+ }
554
+
555
+ if (foundAtLeastOneDriver) {
571
556
  updateNodes(mRunUpdateNodeList);
572
557
  mRunUpdateNodeList.clear();
573
558
  }
@@ -782,4 +767,14 @@ import java.util.Queue;
782
767
  mWarnedAboutGraphTraversal = false;
783
768
  }
784
769
  }
770
+
771
+ private String normalizeEventName(String eventHandlerName) {
772
+ // Fabric UIManager also makes this assumption
773
+ String eventName = eventHandlerName;
774
+ if (eventHandlerName.startsWith("on")) {
775
+ eventName = "top" + eventHandlerName.substring(2);
776
+ }
777
+
778
+ return eventName;
779
+ }
785
780
  }
@@ -105,7 +105,13 @@ public class ReactFeatureFlags {
105
105
  public static boolean enableDelayedViewStateDeletion = false;
106
106
 
107
107
  /**
108
- * Send key down events as well as key up events
108
+ * Android TV: Send key down events as well as key up events.
109
+ * Enabling this flag will result in two 'select' TVRemoteEventHandler events
110
+ * (one with key action 0 and one with key action 1) for each press of the center
111
+ * DPad button. (Similarly for arrow keys.)
112
+ * Note: If you enable this flag, long presses of the select or center button will
113
+ * result in an initial 'select' with eventKeyAction = 0 (ACTION_DOWN), before
114
+ * the expected 'longSelect' events are fired. (Similarly for arrow keys.)
109
115
  */
110
116
  public static boolean enableKeyDownEvents = false;
111
117
 
@@ -81,8 +81,14 @@ public class ReactAndroidHWInputDeviceHelper {
81
81
  */
82
82
  private int mLastFocusedViewId = View.NO_ID;
83
83
 
84
+ // Presses longer than this number of milliseconds are treated as long presses
85
+ // This seems to be roughly the time the emulator waits after the first key down event
86
+ // before sending a continuous stream of rapid key downs on a long press.
87
+ private long mLongPressedDelta = 300;
88
+
89
+ // These are used for long press detection
84
90
  private long mLastKeyDownTime = 0;
85
- private long mPressedDelta = 1000;
91
+ private boolean longPressEventActive = false;
86
92
 
87
93
  public ReactAndroidHWInputDeviceHelper() {}
88
94
 
@@ -101,6 +107,12 @@ public class ReactAndroidHWInputDeviceHelper {
101
107
  eventKeyCode == KeyEvent.KEYCODE_DPAD_LEFT;
102
108
  }
103
109
 
110
+ // True if we are in the long press state and we are more than
111
+ // mLongPressedDelta milliseconds since the last long press event was fired
112
+ private boolean isLongPressEventTime(long time) {
113
+ return mLastKeyDownTime != 0 && time - mLastKeyDownTime > mLongPressedDelta;
114
+ }
115
+
104
116
  /** Called from {@link com.facebook.react.ReactRootView}. This is the main place the key events are handled. */
105
117
  public void handleKeyEvent(KeyEvent ev, ReactContext context) {
106
118
  int eventKeyCode = ev.getKeyCode();
@@ -108,30 +120,48 @@ public class ReactAndroidHWInputDeviceHelper {
108
120
  long time = SystemClock.uptimeMillis();
109
121
  boolean isSelectOrDPadEvent = isDPadEvent(eventKeyCode) || isSelectEvent(eventKeyCode);
110
122
 
111
- // Simple implementation of long press detection
112
- if ((eventKeyAction == KeyEvent.ACTION_DOWN)
113
- && isSelectOrDPadEvent && mLastKeyDownTime == 0) {
114
- mLastKeyDownTime = time;
123
+ // Simple implementation of long press detection for key down events
124
+ if ((eventKeyAction == KeyEvent.ACTION_DOWN) && isSelectOrDPadEvent) {
125
+ if (mLastKeyDownTime == 0) {
126
+ mLastKeyDownTime = time;
127
+ } else {
128
+ if (isLongPressEventTime(time)) {
129
+ // Activate long press state and don't reset until key up event arrives
130
+ longPressEventActive = true;
131
+ }
132
+ }
115
133
  }
116
134
 
117
- if (shouldDispatchEvent(eventKeyCode, eventKeyAction)) {
118
- long delta = time - mLastKeyDownTime;
119
- boolean isLongPress = delta > mPressedDelta;
120
-
121
- if(isLongPress && isSelectOrDPadEvent){
122
- dispatchEvent(KEY_EVENTS_LONG_PRESS_ACTIONS.get(eventKeyCode), mLastFocusedViewId, eventKeyAction, context);
135
+ if (shouldDispatchEvent(eventKeyCode, eventKeyAction, time)) {
136
+ if(longPressEventActive) {
137
+ // If we are not sending key down events to JS, send the long press event as a key up to make sure it is received
138
+ dispatchEvent(
139
+ KEY_EVENTS_LONG_PRESS_ACTIONS.get(eventKeyCode),
140
+ mLastFocusedViewId,
141
+ ReactFeatureFlags.enableKeyDownEvents ? eventKeyAction : KeyEvent.ACTION_UP,
142
+ context
143
+ );
144
+ // Update the start time for detecting the next long press event
145
+ mLastKeyDownTime = time;
123
146
  } else {
124
147
  dispatchEvent(KEY_EVENTS_ACTIONS.get(eventKeyCode), mLastFocusedViewId, eventKeyAction, context);
125
148
  }
149
+ }
150
+
151
+ // If this is key up event, reset long press detector
152
+ if ((eventKeyAction == KeyEvent.ACTION_UP) && isSelectOrDPadEvent) {
126
153
  mLastKeyDownTime = 0;
154
+ longPressEventActive = false;
127
155
  }
156
+
128
157
  }
129
158
 
130
- // Android TV: Only send key up actions, unless key down events are enabled
131
- private boolean shouldDispatchEvent(int eventKeyCode, int eventKeyAction) {
159
+ // Android TV: Only send key up actions, unless key down events are enabled or we need to send a long press event
160
+ private boolean shouldDispatchEvent(int eventKeyCode, int eventKeyAction, long time) {
132
161
  return KEY_EVENTS_ACTIONS.containsKey(eventKeyCode) && (
133
162
  (eventKeyAction == KeyEvent.ACTION_UP) ||
134
- (eventKeyAction == KeyEvent.ACTION_DOWN && ReactFeatureFlags.enableKeyDownEvents)
163
+ (eventKeyAction == KeyEvent.ACTION_DOWN && !longPressEventActive && ReactFeatureFlags.enableKeyDownEvents) ||
164
+ (eventKeyAction == KeyEvent.ACTION_DOWN && longPressEventActive && isLongPressEventTime(time))
135
165
  );
136
166
  }
137
167
 
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 69,
20
- "patch", 6,
21
- "prerelease", "2");
20
+ "patch", 8,
21
+ "prerelease", "0");
22
22
  }
@@ -39,6 +39,7 @@ public abstract class Event<T extends Event> {
39
39
  private int mViewTag;
40
40
  private long mTimestampMs;
41
41
  private int mUniqueID = sUniqueID++;
42
+ private @Nullable EventAnimationDriverMatchSpec mEventAnimationDriverMatchSpec;
42
43
 
43
44
  protected Event() {}
44
45
 
@@ -156,6 +157,19 @@ public abstract class Event<T extends Event> {
156
157
  /** @return the name of this event as registered in JS */
157
158
  public abstract String getEventName();
158
159
 
160
+ public EventAnimationDriverMatchSpec getEventAnimationDriverMatchSpec() {
161
+ if (mEventAnimationDriverMatchSpec == null) {
162
+ mEventAnimationDriverMatchSpec =
163
+ new EventAnimationDriverMatchSpec() {
164
+ @Override
165
+ public boolean match(int viewTag, String eventName) {
166
+ return viewTag == getViewTag() && eventName.equals(getEventName());
167
+ };
168
+ };
169
+ }
170
+ return mEventAnimationDriverMatchSpec;
171
+ }
172
+
159
173
  /**
160
174
  * Dispatch this event to JS using the given event emitter. Compatible with old and new renderer.
161
175
  * Instead of using this or dispatchModern, it is recommended that you simply override
@@ -216,4 +230,8 @@ public abstract class Event<T extends Event> {
216
230
  }
217
231
  dispatch(rctEventEmitter);
218
232
  }
233
+
234
+ public interface EventAnimationDriverMatchSpec {
235
+ boolean match(int viewTag, String eventName);
236
+ }
219
237
  }
@@ -586,6 +586,10 @@ public class ReactEditText extends AppCompatEditText
586
586
  new SpannableStringBuilder(reactTextUpdate.getText());
587
587
 
588
588
  manageSpans(spannableStringBuilder, reactTextUpdate.mContainsMultipleFragments);
589
+
590
+ // Mitigation for https://github.com/facebook/react-native/issues/35936 (S318090)
591
+ stripAbsoluteSizeSpans(spannableStringBuilder);
592
+
589
593
  mContainsImages = reactTextUpdate.containsImages();
590
594
 
591
595
  // When we update text, we trigger onChangeText code that will
@@ -659,6 +663,27 @@ public class ReactEditText extends AppCompatEditText
659
663
  }
660
664
  }
661
665
 
666
+ private void stripAbsoluteSizeSpans(SpannableStringBuilder sb) {
667
+ // We have already set a font size on the EditText itself. We can safely remove sizing spans
668
+ // which are the same as the set font size, and not otherwise overlapped.
669
+ final int effectiveFontSize = mTextAttributes.getEffectiveFontSize();
670
+ ReactAbsoluteSizeSpan[] spans = sb.getSpans(0, sb.length(), ReactAbsoluteSizeSpan.class);
671
+
672
+ outerLoop:
673
+ for (ReactAbsoluteSizeSpan span : spans) {
674
+ ReactAbsoluteSizeSpan[] overlappingSpans =
675
+ sb.getSpans(sb.getSpanStart(span), sb.getSpanEnd(span), ReactAbsoluteSizeSpan.class);
676
+
677
+ for (ReactAbsoluteSizeSpan overlappingSpan : overlappingSpans) {
678
+ if (span.getSize() != effectiveFontSize) {
679
+ continue outerLoop;
680
+ }
681
+ }
682
+
683
+ sb.removeSpan(span);
684
+ }
685
+ }
686
+
662
687
  private static boolean sameTextForSpan(
663
688
  final Editable oldText,
664
689
  final SpannableStringBuilder newText,