1 2 #import <UIKit/UIKit.h> 3 4 @class EXKernelAppRecord; 5 6 @interface EXAppViewController : UIViewController 7 8 - (instancetype)initWithAppRecord:(EXKernelAppRecord *)record; 9 - (void)refresh; 10 - (void)reloadFromCache; 11 12 /** 13 * Maybe displays an error to the user. Ignores it if RCTRedBox is already showing it. 14 */ 15 - (void)maybeShowError:(NSError *)error; 16 17 /** 18 * Settable by the app's screen orientation API via the orientation kernel service. 19 */ 20 - (void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)supportedInterfaceOrientations; 21 22 - (void)appStateDidBecomeActive; 23 - (void)appStateDidBecomeInactive; 24 25 /** 26 * Backgrounds all descendant controllers (modals) presented by this controller. 27 */ 28 - (void)backgroundControllers; 29 30 /** 31 * Restores backgrounded controllers. 32 */ 33 - (void)foregroundControllers; 34 35 /** 36 * The underlying react view or loading view. We need to expose this for animation/transitions 37 * because react does weird stuff with layout that prevents us from operating on the superview. 38 */ 39 @property (nonatomic, strong) UIView *contentView; 40 41 @end 42