diff --git a/packages/create/ios/TvRemoteHandler.swift b/packages/create/ios/TvRemoteHandler.swift index b62988d0..e9a73ae7 100644 --- a/packages/create/ios/TvRemoteHandler.swift +++ b/packages/create/ios/TvRemoteHandler.swift @@ -135,7 +135,8 @@ class TvRemoteHandler: RCTEventEmitter, UIGestureRecognizerDelegate { timer.invalidate() return } - self.sendAppleTVEvent(eventType: direction!, eventKeyAction: "down", velocity: 0.0) + self.sendAppleTVEvent(eventType: direction!, eventKeyAction: "longPress", velocity: 0.0) + timer.invalidate() } } else if gesture.state == .ended || gesture.state == .cancelled { diff --git a/packages/create/src/focusManager/service/core.ts b/packages/create/src/focusManager/service/core.ts index d5b4b018..6333ead6 100644 --- a/packages/create/src/focusManager/service/core.ts +++ b/packages/create/src/focusManager/service/core.ts @@ -220,7 +220,7 @@ class CoreManager { const nextForcedFocusKey = this.getNextForcedFocusKey(parent, direction); if (nextForcedFocusKey) { - if (findFocusInParent) { + if (findFocusInParent && closestView.getParent()?.getType() !== MODEL_TYPES.SCREEN) { currentFocus.getParent()?.onBlur(); closestView.getParent()?.onFocus(); } @@ -232,7 +232,7 @@ class CoreManager { return currentFocus; } - if (findFocusInParent) { + if (findFocusInParent && closestView.getParent()?.getType() !== MODEL_TYPES.SCREEN) { currentFocus.getParent()?.onBlur(); closestView.getParent()?.onFocus(); }