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 - (void)appStateDidBecomeActive; 24 - (void)appStateDidBecomeInactive; 25 26 /** 27 * Backgrounds all descendant controllers (modals) presented by this controller. 28 */ 29 - (void)backgroundControllers; 30 31 /** 32 * Restores backgrounded controllers. 33 */ 34 - (void)foregroundControllers; 35 36 /** 37 * The underlying react view or loading view. We need to expose this for animation/transitions 38 * because react does weird stuff with layout that prevents us from operating on the superview. 39 */ 40 @property (nonatomic, strong) UIView *contentView; 41 42 @end 43