#import #import #import #import #import #import "../modules/JGProgressHUD/JGProgressHUD.h" #import "InstagramHeaders.h" #import "QuickLook.h" #import "Settings/SCISettingsViewController.h" #define SCILog(fmt, ...) \ do { \ NSString *tmpStr = [NSString stringWithFormat:(fmt), ##__VA_ARGS__]; \ os_log(OS_LOG_DEFAULT, "[SCInsta Test] %{public}s", tmpStr.UTF8String); \ } while(0) #define SCILogId(prefix, obj) os_log(OS_LOG_DEFAULT, "[SCInsta Test] %{public}@: %{public}@", prefix, obj); @interface SCIUtils : NSObject + (BOOL)getBoolPref:(NSString *)key; + (double)getDoublePref:(NSString *)key; + (NSString *)getStringPref:(NSString *)key; + (_Bool)liquidGlassEnabledBool:(_Bool)fallback; + (void)cleanCache; // Displaying View Controllers + (void)showQuickLookVC:(NSArray *)items; + (void)showShareVC:(id)item; + (void)showSettingsVC:(UIWindow *)window; // Colours + (UIColor *)SCIColor_Primary; // Errors + (NSError *)errorWithDescription:(NSString *)errorDesc; + (NSError *)errorWithDescription:(NSString *)errorDesc code:(NSInteger)errorCode; + (JGProgressHUD *)showErrorHUDWithDescription:(NSString *)errorDesc; + (JGProgressHUD *)showErrorHUDWithDescription:(NSString *)errorDesc dismissAfterDelay:(CGFloat)dismissDelay; // Media + (NSURL *)getPhotoUrl:(IGPhoto *)photo; + (NSURL *)getPhotoUrlForMedia:(IGMedia *)media; + (NSURL *)getVideoUrl:(IGVideo *)video; + (NSURL *)getVideoUrlForMedia:(IGMedia *)media; // View Controllers + (UIViewController *)viewControllerForView:(UIView *)view; + (UIViewController *)viewControllerForAncestralView:(UIView *)view; + (UIViewController *)nearestViewControllerForView:(UIView *)view; // Functions + (NSString *)IGVersionString; + (BOOL)isNotch; + (BOOL)existingLongPressGestureRecognizerForView:(UIView *)view; // Alerts + (BOOL)showConfirmation:(void(^)(void))okHandler title:(NSString *)title; + (BOOL)showConfirmation:(void(^)(void))okHandler cancelHandler:(void(^)(void))cancelHandler title:(NSString *)title; + (BOOL)showConfirmation:(void(^)(void))okHandler; + (BOOL)showConfirmation:(void(^)(void))okHandler cancelHandler:(void(^)(void))cancelHandler; + (void)showRestartConfirmation; // Toasts + (void)showToastForDuration:(double)duration title:(NSString *)title; + (void)showToastForDuration:(double)duration title:(NSString *)title subtitle:(NSString *)subtitle; // Math + (NSUInteger)decimalPlacesInDouble:(double)value; // Ivars + (id)getIvarForObj:(id)obj name:(const char *)name; + (void)setIvarForObj:(id)obj name:(const char *)name value:(id)value; @end