/**
 /Users/apple/Desktop/draft/jiaPei/jiaPei/AppDelegate.h
 */

#import <UIKit/UIKit.h>
#import "RQNavigationControllerStack.h"
#import "RQViewModelServicesImpl.h"
#import "RQAppDelegate.h"


//为了保留计时页面不被内存清掉
#import "PeriodVC.h"
#import "ShiCaoPeriodVC.h"
//进入后台相关
#import "LocationTracker.h"

//语音
#import <AVFoundation/AVFoundation.h>z

#import "MNQtTrainVC.h"

/// 百度地图
#define BaiDuMapAK         @"RYL8cEtkNVavzRymDA06avNyaAmhNArO"

#define RQ_APPDELEGATE [AppDelegate sharedDelegate]

@interface AppDelegate : RQAppDelegate
/// 窗口
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UIWindow *splashWindow;
/// APP管理的导航栏的堆栈
@property (nonatomic, readonly, strong) RQNavigationControllerStack *navigationControllerStack;
/// APP的服务层
@property (nonatomic, readonly, strong) RQViewModelServicesImpl *services;
/// 获取AppDelegate
+ (AppDelegate *)sharedDelegate;
/// 是否已经弹出键盘 主要用于微信朋友圈的判断
@property (nonatomic, readwrite, assign , getter = isShowKeyboard) BOOL showKeyboard;


/**1顺序，2随机，3章节，4错题，5强化，6排除，7收藏，8背题,9考试 10未做题 11 新规题
 */
@property (strong, nonatomic) NSString *type; //区别不同练习
/**@"1"表示科目一。4表示科目4。没有科23.
 2,3用的是urlType(倒2)
 */
@property (strong, nonatomic) NSString *subject; //科目
@property (strong, nonatomic) NSString *where; //获取题目条件

@property (strong, nonatomic) NSString *identifyNum;//学员身份证号
@property (strong, nonatomic) NSString *stuId; //学员ID
@property BOOL isLogin; //判断是否登录
@property BOOL isTrain; //判断计时器是否计时
@property BOOL isUseriPhone;//判断启用计时练习

@property (nonatomic,assign)BOOL isNightMode; //是否设置夜间模式

@property (nonatomic,assign)BOOL isNotSoundMode; //是否无声模式

@property (strong, nonatomic) NSString *begin_Time;//训练开始时间

@property (nonatomic, assign) NSInteger optionFont;//题目、选项、及解释的字体大小

//等题库刷新后 查询出错题数
@property (nonatomic, strong) NSMutableArray *faultArray;
//是否是同步过来然后进入主页的
@property (nonatomic, assign) BOOL isSyn;
// 本地广告是否已经展示
@property (nonatomic, assign) BOOL adIsShow;

//更新数据库的时候 存放原有库表grade数据。 考试成绩
@property (nonatomic, strong) NSMutableArray *gradeTableData;
//更新数据库的时候 存放原有库表markQuestion数据  错题排除收藏
@property (nonatomic, strong) NSMutableArray *markQuestionTableData;


/**
 就是为了。从chooseVC传值给leftVC用的题库名。
 */
//@property (strong, nonatomic) NSString *libName;

@property (strong, nonatomic) NSString *url; //学车参考
@property (strong, nonatomic) NSString *urlType;//学车参考类型

/**学员计时用的。进入后台后，会终止计时。 所有的计时都用这个定时器吧 因为都是离开的时候暂停 回来打开
 */
@property (strong, nonatomic) NSTimer* timer;

//将理论计时页面放在这里 然后定时器也在这里面
@property (strong, nonatomic) PeriodVC *tPeriodVC;

//将实操计时页面放在这里 然后定时器也在这里面
@property (strong, nonatomic) ShiCaoPeriodVC *scPeriodVC;



/**APNS的TOKEN
 */
@property (strong, nonatomic) NSString* token;

/**保存从picker里面选取的img
 */
@property (strong,nonatomic) NSMutableArray* pickImgs;

/**保存RGCardViewLayout的offset
 */
@property (nonatomic, assign) NSInteger layoutIndex;

/**用户当前经纬
 */
@property (nonatomic, retain) NSArray *locationArray;

//将广告存入内存 如果有拿来用 没有就去本地找 都没有 就加载默认图片吧、、
@property (nonatomic, retain) NSArray *adArray;

//嵌入后台相关
@property (nonatomic, assign) BOOL isBackgroundTask;
@property (nonatomic, copy)   NSString *backGoundTaskString;

@property (nonatomic, retain) LocationTracker *locationTracker;
@property (nonatomic, retain) NSTimer *locationUpdateTimer;
@property (nonatomic, retain) NSTimer *uploadGPSTimer;


//模拟
/**
 Type 定义 0 成功获取学员信息
 1 学员还未在模拟器签到
 2.已在模拟设备登录 未进行人脸比对
 3 无法获取到当前训练科目
 4 隔日签到记录
 5 分钟学时科目异常
 */
@property (strong, nonatomic) MNQtTrainVC *mnPeriodVC;
@property (copy, nonatomic) NSString *mnTrainType;
@property(nonatomic, strong) UILabel *trainStateLabel;


//记录当前播放语音 好做关闭处理
@property (retain, nonatomic) AVSpeechSynthesizer *myAudioPlayer;

@property (nonatomic, copy) void (^ backgroundSessionCompletionHandler)(void);  // 后台所有下载任务完成回调

@property (nonatomic, assign) BOOL allowOrentitaionRotation;


@end


/**
 单例数据有2种。
 2.用户配置信息，需要长期保存的。
 3.不需要长期保存的。比如：是否计时，开始时间。学车参考,questionType。
 
 <xs:element name="getMyTopicFavs">
 */






