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 /** 18*95dd8db8SBartłomiej Bukowski * TODO: temporary solution, see https://github.com/expo/expo/pull/10450 19*95dd8db8SBartłomiej Bukowski * Hides the LoadingProgressWindow. 20*95dd8db8SBartłomiej Bukowski */ 21*95dd8db8SBartłomiej Bukowski - (void)hideLoadingProgressWindow; 22*95dd8db8SBartłomiej Bukowski 23e7ac6e4fSBen Roth - (void)appStateDidBecomeActive; 24e7ac6e4fSBen Roth - (void)appStateDidBecomeInactive; 253217e243SBen Roth 26edc8619eSBen Roth /** 27ce63205bSTomasz Sapeta * Backgrounds all descendant controllers (modals) presented by this controller. 28ce63205bSTomasz Sapeta */ 29ce63205bSTomasz Sapeta - (void)backgroundControllers; 30ce63205bSTomasz Sapeta 31ce63205bSTomasz Sapeta /** 32ce63205bSTomasz Sapeta * Restores backgrounded controllers. 33ce63205bSTomasz Sapeta */ 34ce63205bSTomasz Sapeta - (void)foregroundControllers; 35ce63205bSTomasz Sapeta 36ce63205bSTomasz Sapeta /** 37edc8619eSBen Roth * The underlying react view or loading view. We need to expose this for animation/transitions 38edc8619eSBen Roth * because react does weird stuff with layout that prevents us from operating on the superview. 39edc8619eSBen Roth */ 40edc8619eSBen Roth @property (nonatomic, strong) UIView *contentView; 41edc8619eSBen Roth 423217e243SBen Roth @end 43