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; 109777fddbSEric Samelson - (void)reloadFromCache; 113217e243SBen Roth 123217e243SBen Roth /** 133217e243SBen Roth * Maybe displays an error to the user. Ignores it if RCTRedBox is already showing it. 143217e243SBen Roth */ 153217e243SBen Roth - (void)maybeShowError:(NSError *)error; 163217e243SBen Roth 173217e243SBen Roth /** 183217e243SBen Roth * Settable by the app's screen orientation API via the orientation kernel service. 193217e243SBen Roth */ 203217e243SBen Roth - (void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)supportedInterfaceOrientations; 213217e243SBen Roth 22e7ac6e4fSBen Roth - (void)appStateDidBecomeActive; 23e7ac6e4fSBen Roth - (void)appStateDidBecomeInactive; 243217e243SBen Roth 25edc8619eSBen Roth /** 26*ce63205bSTomasz Sapeta * Backgrounds all descendant controllers (modals) presented by this controller. 27*ce63205bSTomasz Sapeta */ 28*ce63205bSTomasz Sapeta - (void)backgroundControllers; 29*ce63205bSTomasz Sapeta 30*ce63205bSTomasz Sapeta /** 31*ce63205bSTomasz Sapeta * Restores backgrounded controllers. 32*ce63205bSTomasz Sapeta */ 33*ce63205bSTomasz Sapeta - (void)foregroundControllers; 34*ce63205bSTomasz Sapeta 35*ce63205bSTomasz Sapeta /** 36edc8619eSBen Roth * The underlying react view or loading view. We need to expose this for animation/transitions 37edc8619eSBen Roth * because react does weird stuff with layout that prevents us from operating on the superview. 38edc8619eSBen Roth */ 39edc8619eSBen Roth @property (nonatomic, strong) UIView *contentView; 40edc8619eSBen Roth 413217e243SBen Roth @end 42