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 * TODO: temporary solution, see https://github.com/expo/expo/pull/10450 19 * Hides the LoadingProgressWindow. 20 */ 21 - (void)hideLoadingProgressWindow; 22 23 /** 24 * Settable by the app's screen orientation API via the orientation kernel service. 25 */ 26 - (void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)supportedInterfaceOrientations; 27 28 - (void)appStateDidBecomeActive; 29 - (void)appStateDidBecomeInactive; 30 31 /** 32 * Backgrounds all descendant controllers (modals) presented by this controller. 33 */ 34 - (void)backgroundControllers; 35 36 /** 37 * Restores backgrounded controllers. 38 */ 39 - (void)foregroundControllers; 40 41 /** 42 * The underlying react view or loading view. We need to expose this for animation/transitions 43 * because react does weird stuff with layout that prevents us from operating on the superview. 44 */ 45 @property (nonatomic, strong) UIView *contentView; 46 47 @end 48