198d556a3SŁukasz Kosmaty// Copyright 2015-present 650 Industries. All rights reserved. 298d556a3SŁukasz Kosmaty 398d556a3SŁukasz Kosmaty#import <EXDevMenu/DevMenuRootView.h> 498d556a3SŁukasz Kosmaty 598d556a3SŁukasz Kosmaty#import <React/RCTAssert.h> 698d556a3SŁukasz Kosmaty#import <React/RCTRootContentView.h> 70318ad3eSŁukasz Kosmaty#import <React/UIView+React.h> 898d556a3SŁukasz Kosmaty 998d556a3SŁukasz Kosmaty@implementation DevMenuRootView 1098d556a3SŁukasz Kosmaty 1198d556a3SŁukasz Kosmaty- (void)javaScriptDidLoad:(NSNotification *)notification 1298d556a3SŁukasz Kosmaty{ 1398d556a3SŁukasz Kosmaty RCTAssertMainQueue(); 1498d556a3SŁukasz Kosmaty 1598d556a3SŁukasz Kosmaty // Use the (batched) bridge that's sent in the notification payload, so the 1698d556a3SŁukasz Kosmaty // RCTRootContentView is scoped to the right bridge 1798d556a3SŁukasz Kosmaty RCTBridge *bridge = notification.userInfo[@"bridge"]; 183cb6cb1aSŁukasz Kosmaty RCTRootContentView *rootView = (RCTRootContentView *)self.contentView; 190318ad3eSŁukasz Kosmaty if (bridge != rootView.bridge) { 200318ad3eSŁukasz Kosmaty if (self.reactTag == rootView.reactTag) { 210318ad3eSŁukasz Kosmaty // Clear the reactTag so it can be re-assigned 220318ad3eSŁukasz Kosmaty self.reactTag = nil; 230318ad3eSŁukasz Kosmaty } 2498d556a3SŁukasz Kosmaty [super bundleFinishedLoading:bridge]; 2598d556a3SŁukasz Kosmaty } 2698d556a3SŁukasz Kosmaty} 2798d556a3SŁukasz Kosmaty 2898d556a3SŁukasz Kosmaty- (void)bundleFinishedLoading:(RCTBridge *)bridge {} 2998d556a3SŁukasz Kosmaty 30*aedb79bcSVille Immonen- (bool)becomeFirstResponder 31*aedb79bcSVille Immonen{ 32*aedb79bcSVille Immonen // Avoid first responder status so that it won't hijack React Native keyboard commands. 33*aedb79bcSVille Immonen return NO; 34*aedb79bcSVille Immonen} 35*aedb79bcSVille Immonen 3698d556a3SŁukasz Kosmaty@end 37