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