//
//  AppDelegate.h
//  aiim
//
//  Created by gan on 2025/2/27.
//

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import "Controller/login/GLoginController.h"

@class AppDelegate;
static AppDelegate * _Nullable app = nil;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (readonly, strong) NSPersistentContainer * _Nullable persistentContainer;
@property (nonatomic, strong) UIWindow * _Nullable window;
@property (nonatomic) BOOL isLogin;
@property (nonatomic, assign) BOOL shouldShowLock; // 是否需要显示锁屏
@property (nonatomic, assign) BOOL isLock; // 标记是否为应用启动
@property (nonatomic, assign, readonly) BOOL isReachable;

@property (nonatomic) BOOL isJitsiMeet;

+ (id _Nullable )sharedInstance;

-(void)startJSCall:(NSString *_Nonnull)chatId room:(NSString *_Nonnull)roomId isCaller:(BOOL)isCaller audioOnly:(BOOL)audioOnly;

-(void)floadinSmWindow:(NSInteger )type;

- (void)saveContext;

+(void)closeVoip;

+(void)JitsiMeetState:(BOOL)state;

+(void)unlockAPP;

+(void)changeFloadViewState:(BOOL)state;

- (void)resetAddFriendBadgeCount;
- (void)updateBadgeCount:(NSInteger)badgeCount;

@end

