//
//  AppDelegate.swift
//  AIRingtone
//
//  Created by 100Years on 2025/2/27.
//

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    var backgroundTaskIdentifier: UIBackgroundTaskIdentifier = .invalid
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.backgroundColor = UIColor.white
        window?.makeKeyAndVisible()
        initPlatform()
        goToLoadVC()
        return true
    }

    func goToLoadVC() {
        let launchVC = TSLaunchVC()
        launchVC.dismissHandler = { [weak self]  in
            guard let self = self else { return }
            JudgmentSkipPage()
        }
        window?.rootViewController = launchVC
    }

    func goToTab(){
        window?.rootViewController = TSTabBarController()
    }
    

    func JudgmentSkipPage() {
        //去掉引导页
//        if UserDefaults.standard.string(forKey: "isFirstInstallApp") == nil {
//            window?.rootViewController = TSBootPageVC { [weak self]  in
//                guard let self = self else { return }
//                UserDefaults.standard.set("1", forKey: "isFirstInstallApp")
//                UserDefaults.standard.synchronize()
//                goToTab()
//            }
//        }else{
            goToTab()
//        }
    }
    

    func initPlatform() {
        TSColorConfigShared.naviMianTextColor = .white
    }

}

extension AppDelegate {

    func applicationDidEnterBackground(_ application: UIApplication) {
        beginBackgroundTask()
    }
    
    func beginBackgroundTask() {
        backgroundTaskIdentifier = UIApplication.shared.beginBackgroundTask { [weak self] in
            self?.endBackgroundTask()
        }
    }
    
    func endBackgroundTask() {
        if backgroundTaskIdentifier != .invalid {
            UIApplication.shared.endBackgroundTask(backgroundTaskIdentifier)
            backgroundTaskIdentifier = .invalid
        }
    }
    
    func applicationWillTerminate(_ application: UIApplication) {
        
    }
    
}
