13217e243SBen Roth 23217e243SBen Roth #import <UIKit/UIKit.h> 33217e243SBen Roth 43217e243SBen Roth @class EXKernelAppRecord; 53217e243SBen Roth 63217e243SBen Roth @interface EXAppViewController : UIViewController 73217e243SBen Roth 83217e243SBen Roth - (instancetype)initWithAppRecord:(EXKernelAppRecord *)record; 93217e243SBen Roth - (void)refresh; 103217e243SBen Roth 113217e243SBen Roth /** 123217e243SBen Roth * Maybe displays an error to the user. Ignores it if RCTRedBox is already showing it. 133217e243SBen Roth */ 143217e243SBen Roth - (void)maybeShowError:(NSError *)error; 153217e243SBen Roth 163217e243SBen Roth /** 173217e243SBen Roth * Settable by the app's screen orientation API via the orientation kernel service. 183217e243SBen Roth */ 193217e243SBen Roth - (void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)supportedInterfaceOrientations; 203217e243SBen Roth 21e7ac6e4fSBen Roth - (void)appStateDidBecomeActive; 22e7ac6e4fSBen Roth - (void)appStateDidBecomeInactive; 233217e243SBen Roth 24*edc8619eSBen Roth /** 25*edc8619eSBen Roth * The underlying react view or loading view. We need to expose this for animation/transitions 26*edc8619eSBen Roth * because react does weird stuff with layout that prevents us from operating on the superview. 27*edc8619eSBen Roth */ 28*edc8619eSBen Roth @property (nonatomic, strong) UIView *contentView; 29*edc8619eSBen Roth 303217e243SBen Roth @end 31