react-native-tvos 0.66.3-0 → 0.66.3-1

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 (50) hide show
  1. package/Libraries/Components/AppleTV/TVFocusEventHandler.js +51 -0
  2. package/Libraries/Components/Pressable/Pressable.js +26 -8
  3. package/Libraries/Components/Touchable/Touchable.js +14 -18
  4. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -0
  5. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +6 -0
  6. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +6 -0
  7. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
  8. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +3 -1
  9. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -1
  10. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +2 -0
  11. package/React/React-RCTFabric.podspec +3 -0
  12. package/ReactAndroid/gradle.properties +1 -1
  13. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +5 -0
  14. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +10 -4
  15. package/android/com/facebook/react/react-native/{0.66.3-0/react-native-0.66.3-0.aar → 0.66.3-1/react-native-0.66.3-1.aar} +0 -0
  16. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.md5 +1 -0
  17. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha1 +1 -0
  18. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha256 +1 -0
  19. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.aar.sha512 +1 -0
  20. package/android/com/facebook/react/react-native/{0.66.3-0/react-native-0.66.3-0.module → 0.66.3-1/react-native-0.66.3-1.module} +16 -16
  21. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.md5 +1 -0
  22. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha1 +1 -0
  23. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha256 +1 -0
  24. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.module.sha512 +1 -0
  25. package/android/com/facebook/react/react-native/{0.66.3-0/react-native-0.66.3-0.pom → 0.66.3-1/react-native-0.66.3-1.pom} +1 -1
  26. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.md5 +1 -0
  27. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha1 +1 -0
  28. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha256 +1 -0
  29. package/android/com/facebook/react/react-native/0.66.3-1/react-native-0.66.3-1.pom.sha512 +1 -0
  30. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  31. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  32. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  33. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  34. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  35. package/package.json +1 -1
  36. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +5 -0
  37. package/template/package.json +1 -1
  38. package/third-party-podspecs/RCT-Folly.podspec +2 -1
  39. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.md5 +0 -1
  40. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha1 +0 -1
  41. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha256 +0 -1
  42. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha512 +0 -1
  43. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.md5 +0 -1
  44. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha1 +0 -1
  45. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha256 +0 -1
  46. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha512 +0 -1
  47. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.md5 +0 -1
  48. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha1 +0 -1
  49. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha256 +0 -1
  50. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha512 +0 -1
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ import NativeEventEmitter from '../../EventEmitter/NativeEventEmitter';
14
+ import Platform from '../../Utilities/Platform';
15
+ import {type EventSubscription} from '../../vendor/emitter/EventEmitter';
16
+ import NativeTVNavigationEventEmitter from './NativeTVNavigationEventEmitter';
17
+
18
+ class TVFocusEventHandler {
19
+ __nativeTVNavigationEventListener: ?EventSubscription = null;
20
+ __nativeTVNavigationEventEmitter: ?NativeEventEmitter = null;
21
+ __callbackMap: Map<any, Function> = new Map();
22
+
23
+ constructor() {
24
+ if (Platform.OS === 'ios' && !NativeTVNavigationEventEmitter) {
25
+ return;
26
+ }
27
+
28
+ this.__nativeTVNavigationEventEmitter = new NativeEventEmitter(
29
+ NativeTVNavigationEventEmitter,
30
+ );
31
+ this.__nativeTVNavigationEventListener = this.__nativeTVNavigationEventEmitter.addListener(
32
+ 'onHWKeyEvent',
33
+ data => {
34
+ const callback = this.__callbackMap.get(data.tag);
35
+ if (callback) {
36
+ callback(data);
37
+ }
38
+ },
39
+ );
40
+ }
41
+
42
+ register(componentTag: ?any, callback: Function): void {
43
+ this.__callbackMap.set(componentTag, callback);
44
+ }
45
+
46
+ unregister(componentTag: ?any): void {
47
+ this.__callbackMap.delete(componentTag);
48
+ }
49
+ }
50
+
51
+ export const tvFocusEventHandler: TVFocusEventHandler | null = Platform.isTV ? new TVFocusEventHandler() : null;
@@ -9,7 +9,14 @@
9
9
  */
10
10
 
11
11
  import * as React from 'react';
12
- import {useMemo, useState, useRef, useImperativeHandle} from 'react';
12
+ import {
13
+ useMemo,
14
+ useState,
15
+ useRef,
16
+ useImperativeHandle,
17
+ useCallback,
18
+ useEffect,
19
+ } from 'react';
13
20
  import useAndroidRippleForView, {
14
21
  type RippleConfig,
15
22
  } from './useAndroidRippleForView';
@@ -26,8 +33,8 @@ import {normalizeRect, type RectOrSize} from '../../StyleSheet/Rect';
26
33
  import type {LayoutEvent, PressEvent} from '../../Types/CoreEventTypes';
27
34
  import View from '../View/View';
28
35
  import typeof TVParallaxPropertiesType from '../AppleTV/TVViewPropTypes';
29
- import useTVEventHandler from '../AppleTV/useTVEventHandler';
30
36
  import Platform from '../../Utilities/Platform';
37
+ import {tvFocusEventHandler} from '../AppleTV/TVFocusEventHandler';
31
38
 
32
39
  type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
33
40
 
@@ -269,9 +276,9 @@ function Pressable(props: Props, forwardedRef): React.Node {
269
276
  );
270
277
  const eventHandlers = usePressability(config);
271
278
 
272
- const pressableTVEventHandler = (evt: Event) => {
273
- if (props.isTVSelectable !== false || props.focusable !== false) {
274
- if (viewRef?.current?._nativeTag === evt.target) {
279
+ const pressableTVFocusEventHandler = useCallback(
280
+ (evt: Event) => {
281
+ if (isTVSelectable !== false || focusable !== false) {
275
282
  if (evt?.eventType === 'focus') {
276
283
  setFocused(true);
277
284
  onFocus && onFocus(evt);
@@ -280,7 +287,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
280
287
  setFocused(false);
281
288
  }
282
289
  }
283
- // Use these on tvOS only. Android press events go to onClick() so we don't
290
+ // Use these on tvOS only. Android press events go to onClick() so we don't
284
291
  // need to call onPress() again here
285
292
  if (Platform.isTVOS) {
286
293
  if (focused && evt.eventType === 'select') {
@@ -290,9 +297,20 @@ function Pressable(props: Props, forwardedRef): React.Node {
290
297
  onLongPress && onLongPress(evt);
291
298
  }
292
299
  }
300
+ },
301
+ [focused, onBlur, onFocus, onLongPress, onPress, focusable, isTVSelectable],
302
+ );
303
+
304
+ useEffect(() => {
305
+ if (!tvFocusEventHandler) {
306
+ return;
293
307
  }
294
- };
295
- useTVEventHandler(pressableTVEventHandler);
308
+ const viewTag = viewRef?.current?._nativeTag;
309
+ tvFocusEventHandler.register(viewTag, pressableTVFocusEventHandler);
310
+ return () => {
311
+ tvFocusEventHandler.unregister(viewTag);
312
+ };
313
+ }, [pressableTVFocusEventHandler]);
296
314
 
297
315
  return (
298
316
  <View
@@ -15,7 +15,7 @@ import Platform from '../../Utilities/Platform';
15
15
  import Position from './Position';
16
16
  import UIManager from '../../ReactNative/UIManager';
17
17
  import SoundManager from '../Sound/SoundManager';
18
- import TVEventHandler from '../AppleTV/TVEventHandler';
18
+ import {tvFocusEventHandler} from '../AppleTV/TVFocusEventHandler';
19
19
 
20
20
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
21
21
 
@@ -364,24 +364,21 @@ const LONG_PRESS_ALLOWED_MOVEMENT = 10;
364
364
  */
365
365
  const TouchableMixin = {
366
366
  componentDidMount: function() {
367
- if (!Platform.isTV) {
367
+ if (!tvFocusEventHandler) {
368
368
  return;
369
369
  }
370
370
 
371
- this._tvEventHandler = new TVEventHandler();
372
- this._tvEventHandler.enable(this, function(cmp, evt) {
373
- const myTag = ReactNative.findNodeHandle(cmp);
371
+ this._componentTag = ReactNative.findNodeHandle(this);
372
+ tvFocusEventHandler.register(this._componentTag, evt => {
374
373
  evt.dispatchConfig = {};
375
- if (myTag === evt.tag) {
376
- if (evt.eventType === 'focus') {
377
- cmp.touchableHandleFocus(evt);
378
- } else if (evt.eventType === 'blur') {
379
- cmp.touchableHandleBlur(evt);
380
- } else if (evt.eventType === 'select' && Platform.OS !== 'android') {
381
- cmp.touchableHandlePress &&
382
- !cmp.props.disabled &&
383
- cmp.touchableHandlePress(evt);
384
- }
374
+ if (evt.eventType === 'focus') {
375
+ this.touchableHandleFocus(evt);
376
+ } else if (evt.eventType === 'blur') {
377
+ this.touchableHandleBlur(evt);
378
+ } else if (evt.eventType === 'select' && Platform.OS !== 'android') {
379
+ this.touchableHandlePress &&
380
+ !this.props.disabled &&
381
+ this.touchableHandlePress(evt);
385
382
  }
386
383
  });
387
384
  },
@@ -390,9 +387,8 @@ const TouchableMixin = {
390
387
  * Clear all timeouts on unmount
391
388
  */
392
389
  componentWillUnmount: function() {
393
- if (this._tvEventHandler) {
394
- this._tvEventHandler.disable();
395
- delete this._tvEventHandler;
390
+ if (tvFocusEventHandler) {
391
+ tvFocusEventHandler.unregister(this._componentTag);
396
392
  }
397
393
  this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);
398
394
  this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);
@@ -79,9 +79,17 @@ static UIModalPresentationStyle presentationConfiguration(ModalHostViewProps con
79
79
  case ModalHostViewPresentationStyle::FullScreen:
80
80
  return UIModalPresentationFullScreen;
81
81
  case ModalHostViewPresentationStyle::PageSheet:
82
+ #if TARGET_OS_TV
83
+ return UIModalPresentationOverFullScreen;
84
+ #else
82
85
  return UIModalPresentationPageSheet;
86
+ #endif
83
87
  case ModalHostViewPresentationStyle::FormSheet:
88
+ #if TARGET_OS_TV
89
+ return UIModalPresentationOverFullScreen;
90
+ #else
84
91
  return UIModalPresentationFormSheet;
92
+ #endif
85
93
  case ModalHostViewPresentationStyle::OverFullScreen:
86
94
  return UIModalPresentationOverFullScreen;
87
95
  }
@@ -31,14 +31,20 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name);
31
31
  // Lookup functions
32
32
  Class<RCTComponentViewProtocol> RCTSafeAreaViewCls(void) __attribute__((used));
33
33
  Class<RCTComponentViewProtocol> RCTScrollViewCls(void) __attribute__((used));
34
+ #if !TARGET_OS_TV
34
35
  Class<RCTComponentViewProtocol> RCTPullToRefreshViewCls(void) __attribute__((used));
36
+ #endif
35
37
  Class<RCTComponentViewProtocol> RCTActivityIndicatorViewCls(void) __attribute__((used));
38
+ #if !TARGET_OS_TV
36
39
  Class<RCTComponentViewProtocol> RCTSliderCls(void) __attribute__((used));
37
40
  Class<RCTComponentViewProtocol> RCTSwitchCls(void) __attribute__((used));
41
+ #endif
38
42
  Class<RCTComponentViewProtocol> RCTUnimplementedNativeViewCls(void) __attribute__((used));
39
43
  Class<RCTComponentViewProtocol> RCTParagraphCls(void) __attribute__((used));
40
44
  Class<RCTComponentViewProtocol> RCTTextInputCls(void) __attribute__((used));
45
+ #if !TARGET_OS_TV
41
46
  Class<RCTComponentViewProtocol> RCTInputAccessoryCls(void) __attribute__((used));
47
+ #endif
42
48
  Class<RCTComponentViewProtocol> RCTViewCls(void) __attribute__((used));
43
49
  Class<RCTComponentViewProtocol> RCTImageCls(void) __attribute__((used));
44
50
 
@@ -20,14 +20,20 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name) {
20
20
  static std::unordered_map<std::string, Class (*)(void)> sFabricComponentsClassMap = {
21
21
  {"SafeAreaView", RCTSafeAreaViewCls},
22
22
  {"ScrollView", RCTScrollViewCls},
23
+ #if !TARGET_OS_TV
23
24
  {"PullToRefreshView", RCTPullToRefreshViewCls},
25
+ #endif
24
26
  {"ActivityIndicatorView", RCTActivityIndicatorViewCls},
27
+ #if !TARGET_OS_TV
25
28
  {"Slider", RCTSliderCls},
26
29
  {"Switch", RCTSwitchCls},
30
+ #endif
27
31
  {"UnimplementedNativeView", RCTUnimplementedNativeViewCls},
28
32
  {"Paragraph", RCTParagraphCls},
29
33
  {"TextInput", RCTTextInputCls},
34
+ #if !TARGET_OS_TV
30
35
  {"InputAccessoryView", RCTInputAccessoryCls},
36
+ #endif
31
37
  {"View", RCTViewCls},
32
38
  {"Image", RCTImageCls},
33
39
  };
@@ -195,9 +195,11 @@ static void RCTSendPaperScrollEvent_DEPRECATED(UIScrollView *scrollView, NSInteg
195
195
  MAP_SCROLL_VIEW_PROP(maximumZoomScale);
196
196
  MAP_SCROLL_VIEW_PROP(minimumZoomScale);
197
197
  MAP_SCROLL_VIEW_PROP(scrollEnabled);
198
+ #if !TARGET_OS_TV
198
199
  MAP_SCROLL_VIEW_PROP(pagingEnabled);
199
200
  MAP_SCROLL_VIEW_PROP(pinchGestureEnabled);
200
201
  MAP_SCROLL_VIEW_PROP(scrollsToTop);
202
+ #endif
201
203
  MAP_SCROLL_VIEW_PROP(showsHorizontalScrollIndicator);
202
204
  MAP_SCROLL_VIEW_PROP(showsVerticalScrollIndicator);
203
205
 
@@ -233,7 +233,7 @@ using namespace facebook::react;
233
233
  - (void)handleLongPress:(UILongPressGestureRecognizer *)gesture
234
234
  {
235
235
  // TODO: Adopt showMenuFromRect (necessary for UIKitForMac)
236
- #if !TARGET_OS_UIKITFORMAC
236
+ #if !TARGET_OS_UIKITFORMAC && !TARGET_OS_TV
237
237
  UIMenuController *menuController = [UIMenuController sharedMenuController];
238
238
 
239
239
  if (menuController.isMenuVisible) {
@@ -268,6 +268,7 @@ using namespace facebook::react;
268
268
 
269
269
  - (void)copy:(id)sender
270
270
  {
271
+ #if !TARGET_OS_TV
271
272
  NSAttributedString *attributedText = self.attributedText;
272
273
 
273
274
  NSMutableDictionary *item = [NSMutableDictionary new];
@@ -284,6 +285,7 @@ using namespace facebook::react;
284
285
 
285
286
  UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
286
287
  pasteboard.items = @[ item ];
288
+ #endif
287
289
  }
288
290
 
289
291
  @end
@@ -464,6 +464,7 @@ using namespace facebook::react;
464
464
  return;
465
465
  }
466
466
 
467
+ #if !TARGET_OS_TV
467
468
  if (shouldHaveInputAccesoryView) {
468
469
  UIToolbar *toolbarView = [[UIToolbar alloc] init];
469
470
  [toolbarView sizeToFit];
@@ -475,7 +476,9 @@ using namespace facebook::react;
475
476
  action:@selector(handleInputAccessoryDoneButton)];
476
477
  toolbarView.items = @[ flexibleSpace, doneButton ];
477
478
  _backedTextInputView.inputAccessoryView = toolbarView;
478
- } else {
479
+ } else
480
+ #endif
481
+ {
479
482
  _backedTextInputView.inputAccessoryView = nil;
480
483
  }
481
484
 
@@ -35,7 +35,9 @@ using namespace facebook::react;
35
35
  static auto const defaultProps = std::make_shared<ViewProps const>();
36
36
  _props = defaultProps;
37
37
  _reactSubviews = [NSMutableArray new];
38
+ #if !TARGET_OS_TV
38
39
  self.multipleTouchEnabled = YES;
40
+ #endif
39
41
  }
40
42
  return self;
41
43
  }
@@ -33,6 +33,9 @@ Pod::Spec.new do |s|
33
33
  s.source_files = "Fabric/**/*.{c,h,m,mm,S,cpp}"
34
34
  s.exclude_files = "**/tests/*",
35
35
  "**/android/*",
36
+ s.tvos.exclude_files = "Fabric/**/RCTPullToRefreshViewComponentView*",
37
+ "Fabric/**/RCTSwitchComponentView*",
38
+ "Fabric/**/RCTSliderComponentView*"
36
39
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
37
40
  s.header_dir = "React"
38
41
  s.framework = "JavaScriptCore"
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.66.3-0
1
+ VERSION_NAME=0.66.3-1
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  POM_NAME=ReactNative
@@ -89,4 +89,9 @@ public class ReactFeatureFlags {
89
89
  public static boolean enableLockFreeEventDispatcher = false;
90
90
 
91
91
  public static boolean enableAggressiveEventEmitterCleanup = false;
92
+
93
+ /**
94
+ * Send key down events as well as key up events
95
+ */
96
+ public static boolean enableKeyDownEvents = false;
92
97
  }
@@ -15,6 +15,7 @@ import com.facebook.react.bridge.WritableMap;
15
15
  import com.facebook.react.bridge.WritableNativeMap;
16
16
  import com.facebook.react.common.MapBuilder;
17
17
  import com.facebook.react.common.SystemClock;
18
+ import com.facebook.react.config.ReactFeatureFlags;
18
19
 
19
20
  import java.util.Map;
20
21
 
@@ -79,10 +80,7 @@ public class ReactAndroidHWInputDeviceHelper {
79
80
  && isSelectEvent(eventKeyCode) && mLastKeyDownTime == 0) {
80
81
  mLastKeyDownTime = time;
81
82
  }
82
- // We only need the up event for Android TV
83
- // if ((eventKeyAction == KeyEvent.ACTION_UP || eventKeyAction == KeyEvent.ACTION_DOWN)
84
- if ((eventKeyAction == KeyEvent.ACTION_UP)
85
- && KEY_EVENTS_ACTIONS.containsKey(eventKeyCode)) {
83
+ if (shouldDispatchEvent(eventKeyCode, eventKeyAction)) {
86
84
  long delta = time - mLastKeyDownTime;
87
85
  if (isSelectEvent(eventKeyCode) && (delta > mPressedDelta)) {
88
86
  dispatchEvent("longSelect", mLastFocusedViewId, eventKeyAction, context);
@@ -93,6 +91,14 @@ public class ReactAndroidHWInputDeviceHelper {
93
91
  }
94
92
  }
95
93
 
94
+ // Android TV: Only send key up actions, unless key down events are enabled
95
+ private boolean shouldDispatchEvent(int eventKeyCode, int eventKeyAction) {
96
+ return KEY_EVENTS_ACTIONS.containsKey(eventKeyCode) && (
97
+ (eventKeyAction == KeyEvent.ACTION_UP) ||
98
+ (eventKeyAction == KeyEvent.ACTION_DOWN && ReactFeatureFlags.enableKeyDownEvents)
99
+ );
100
+ }
101
+
96
102
  /** Called from {@link com.facebook.react.ReactRootView} when focused view changes. */
97
103
  public void onFocusChanged(View newFocusedView, ReactContext context) {
98
104
  if (mLastFocusedViewId == newFocusedView.getId()) {
@@ -0,0 +1 @@
1
+ 46cf104eee6c41eca9cb466e8455307a
@@ -0,0 +1 @@
1
+ efb83c1ec79d703c3df555b76b83172ee2331562
@@ -0,0 +1 @@
1
+ a3dbee139f1c56948fa1a4f3860d03437eff302766b86cb2ea4b223990c91d00
@@ -0,0 +1 @@
1
+ 89acf10cea8de9aeaef9ba71a5c94cebab83459eabe03dc7e44a4ede027199289898690f2052675586bb44c04e6f86c316ca0df594f1b3a47d6e872af9dd0723
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "com.facebook.react",
5
5
  "module": "react-native",
6
- "version": "0.66.3-0",
6
+ "version": "0.66.3-1",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -11,7 +11,7 @@
11
11
  "createdBy": {
12
12
  "gradle": {
13
13
  "version": "6.9",
14
- "buildId": "xmw3hekgmfe57gc5q27rvp3fja"
14
+ "buildId": "56p567vwizeihou4ojzp5vvcj4"
15
15
  }
16
16
  },
17
17
  "variants": [
@@ -132,13 +132,13 @@
132
132
  ],
133
133
  "files": [
134
134
  {
135
- "name": "react-native-0.66.3-0.aar",
136
- "url": "react-native-0.66.3-0.aar",
137
- "size": 17696319,
138
- "sha512": "db39a4b5018cc373751e7bd3c580f7286e5895b218f7a3f96f98cd4b6cff30f27291277eb98d4e056255b8615fca3bd7bbddeb10dec6bd979c331f8c7d48de89",
139
- "sha256": "635394db2f89ce75aef9a15d13b66b4a73704fef1703516b38675a128f2763dd",
140
- "sha1": "17615f561c980aa5cef4dda3e9283c0aa547f50f",
141
- "md5": "1b47b6b0a0d5167234f3af9707eb3748"
135
+ "name": "react-native-0.66.3-1.aar",
136
+ "url": "react-native-0.66.3-1.aar",
137
+ "size": 17696445,
138
+ "sha512": "89acf10cea8de9aeaef9ba71a5c94cebab83459eabe03dc7e44a4ede027199289898690f2052675586bb44c04e6f86c316ca0df594f1b3a47d6e872af9dd0723",
139
+ "sha256": "a3dbee139f1c56948fa1a4f3860d03437eff302766b86cb2ea4b223990c91d00",
140
+ "sha1": "efb83c1ec79d703c3df555b76b83172ee2331562",
141
+ "md5": "46cf104eee6c41eca9cb466e8455307a"
142
142
  }
143
143
  ]
144
144
  },
@@ -259,13 +259,13 @@
259
259
  ],
260
260
  "files": [
261
261
  {
262
- "name": "react-native-0.66.3-0.aar",
263
- "url": "react-native-0.66.3-0.aar",
264
- "size": 17696319,
265
- "sha512": "db39a4b5018cc373751e7bd3c580f7286e5895b218f7a3f96f98cd4b6cff30f27291277eb98d4e056255b8615fca3bd7bbddeb10dec6bd979c331f8c7d48de89",
266
- "sha256": "635394db2f89ce75aef9a15d13b66b4a73704fef1703516b38675a128f2763dd",
267
- "sha1": "17615f561c980aa5cef4dda3e9283c0aa547f50f",
268
- "md5": "1b47b6b0a0d5167234f3af9707eb3748"
262
+ "name": "react-native-0.66.3-1.aar",
263
+ "url": "react-native-0.66.3-1.aar",
264
+ "size": 17696445,
265
+ "sha512": "89acf10cea8de9aeaef9ba71a5c94cebab83459eabe03dc7e44a4ede027199289898690f2052675586bb44c04e6f86c316ca0df594f1b3a47d6e872af9dd0723",
266
+ "sha256": "a3dbee139f1c56948fa1a4f3860d03437eff302766b86cb2ea4b223990c91d00",
267
+ "sha1": "efb83c1ec79d703c3df555b76b83172ee2331562",
268
+ "md5": "46cf104eee6c41eca9cb466e8455307a"
269
269
  }
270
270
  ]
271
271
  }
@@ -0,0 +1 @@
1
+ 0b1f9e7c12865292d70772a18b29fbd9
@@ -0,0 +1 @@
1
+ 070f3ed9a405342361b206967dbe931f1baea1ee
@@ -0,0 +1 @@
1
+ c09f3bbcc7d0ece03f71f077f12e080e9a145bf21e5b19356aae61beadf928a3
@@ -0,0 +1 @@
1
+ 2ce6ac522ab00a1237405a63a0a98a3a38682e2cf334e37d344c8b3eeebc7ec7e0eaa11a165d686d80d40c8d5d5f6526846da030a433df07229897b5b12c2eaf
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>com.facebook.react</groupId>
11
11
  <artifactId>react-native</artifactId>
12
- <version>0.66.3-0</version>
12
+ <version>0.66.3-1</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>ReactNative</name>
15
15
  <description>A framework for building native apps with React</description>
@@ -0,0 +1 @@
1
+ d1db56cd56564d2c6e8904544c296b5b
@@ -0,0 +1 @@
1
+ 73068e7288bc699e905c212ba55bfd3da00bed94
@@ -0,0 +1 @@
1
+ 7e6e3c83108d5dea31500940b461443ff98bda5fa2df16c4736cc19268e99ff0
@@ -0,0 +1 @@
1
+ 2be19348c787728b536eb6dd90ba390b0370df423e5140d86198c6ad6152a6dbf35307d1bd5cf1e1ba3a089f9301f04503ad3004beac32ddf555817d3534687d
@@ -3,11 +3,11 @@
3
3
  <groupId>com.facebook.react</groupId>
4
4
  <artifactId>react-native</artifactId>
5
5
  <versioning>
6
- <latest>0.66.3-0</latest>
7
- <release>0.66.3-0</release>
6
+ <latest>0.66.3-1</latest>
7
+ <release>0.66.3-1</release>
8
8
  <versions>
9
- <version>0.66.3-0</version>
9
+ <version>0.66.3-1</version>
10
10
  </versions>
11
- <lastUpdated>20220102205905</lastUpdated>
11
+ <lastUpdated>20220127193953</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- e39a6c1b1e2e55166a96e17a1ae239f1
1
+ 6bb08bc0081892c6ebd2e43ffa0ed7c9
@@ -1 +1 @@
1
- 836478dd4b69fd4fa3d0cb927281fced097ec567
1
+ 37e8136e80c5c693ab8817b785db4aaf255b2d3d
@@ -1 +1 @@
1
- 778bf47aee43e819d2c8a4022c79cc6157cf96ce65fc2d043132ea58b08c5108
1
+ a21d20fc3c83b47564b900f537265bbaedaaeb30518a41487e4aa3ef1132db96
@@ -1 +1 @@
1
- 73fd253f27ed1d9ea71c53a9c34fca5458f7021ecbba135c8eb5ce574813bb4264efcffb5516f35ffc8d8a0b5c9c699b70308aa110f4dddf947ae12f90cefb6b
1
+ ecd6426fc2ace2f752448d98b31656524dd9c86601b7c3f2047758a5d3b9799af05c58b884e75aa502ba2da099dabdcd324f2cd0bc3b0f47a518b48e80ae74d5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.66.3-0",
3
+ "version": "0.66.3-1",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -7,6 +7,7 @@ import com.facebook.react.ReactApplication;
7
7
  import com.facebook.react.ReactInstanceManager;
8
8
  import com.facebook.react.ReactNativeHost;
9
9
  import com.facebook.react.ReactPackage;
10
+ import com.facebook.react.config.ReactFeatureFlags;
10
11
  import com.facebook.soloader.SoLoader;
11
12
  import java.lang.reflect.InvocationTargetException;
12
13
  import java.util.List;
@@ -44,6 +45,10 @@ public class MainApplication extends Application implements ReactApplication {
44
45
  public void onCreate() {
45
46
  super.onCreate();
46
47
  SoLoader.init(this, /* native exopackage */ false);
48
+ // Normally we only send key up events in ReactAndroidHWInputDeviceHelper
49
+ // Change enableKeyDownEvents to true to send both key down and key up events
50
+ ReactFeatureFlags.enableKeyDownEvents = false;
51
+
47
52
  initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
48
53
  }
49
54
 
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "17.0.2",
14
- "react-native": "npm:react-native-tvos@0.66.3-0"
14
+ "react-native": "npm:react-native-tvos@0.66.3-1"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.12.9",
@@ -20,6 +20,7 @@ Pod::Spec.new do |spec|
20
20
  spec.dependency 'boost'
21
21
  spec.dependency 'DoubleConversion'
22
22
  spec.dependency 'glog'
23
+ spec.dependency 'fmt'
23
24
  spec.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation -faligned-new'
24
25
  spec.source_files = 'folly/String.cpp',
25
26
  'folly/Conv.cpp',
@@ -74,7 +75,7 @@ Pod::Spec.new do |spec|
74
75
  spec.libraries = "stdc++", "c++abi" # NOTE Apple-only: Keep c++abi here due to https://github.com/react-native-community/releases/issues/251
75
76
  spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
76
77
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
77
- "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include/\"" }
78
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/libevent/include/\" \"$(PODS_ROOT)/fmt/include\"" }
78
79
 
79
80
  # TODO: The boost spec should really be selecting these files so that dependents of Folly can also access the required headers.
80
81
  spec.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"" }
@@ -1 +0,0 @@
1
- 1b47b6b0a0d5167234f3af9707eb3748
@@ -1 +0,0 @@
1
- 17615f561c980aa5cef4dda3e9283c0aa547f50f
@@ -1 +0,0 @@
1
- 635394db2f89ce75aef9a15d13b66b4a73704fef1703516b38675a128f2763dd
@@ -1 +0,0 @@
1
- db39a4b5018cc373751e7bd3c580f7286e5895b218f7a3f96f98cd4b6cff30f27291277eb98d4e056255b8615fca3bd7bbddeb10dec6bd979c331f8c7d48de89
@@ -1 +0,0 @@
1
- 6093fe782839bdb074ebfe6cacb23ee1
@@ -1 +0,0 @@
1
- cc596b67ea6dc97f0c7b999ed5e2482bc3baa74d
@@ -1 +0,0 @@
1
- 6401af7bcf022bb298ba8f505026e8e9eb58490a4186f7b27dc7081ef3fe439b
@@ -1 +0,0 @@
1
- 97596adccaecefcb1d664c0290a1faf7e4ac90662ebc70434ba9980567fc2eaab2f459849f5d074b8484759a2aad413cbd3548b605e42540998d0d508fe001f6
@@ -1 +0,0 @@
1
- fb2141b014d0691ed775de9998d75811
@@ -1 +0,0 @@
1
- cebed70f1c852634479bb6a2ab1b5d8bfc4c5f68
@@ -1 +0,0 @@
1
- 0b6a1fde99ab0604611e214fc464cc266e856705ffc0be120e3c01a39b64845e
@@ -1 +0,0 @@
1
- 621103d6b1f6218b29f53f4d9fb6e2ac91689c278428dcfe4c74985f04a428ed40e5618b084565e79cc1ecb4468e3407c2e86d94e3c93a0ad17289446afca7c0