NotDisturbViewController.swift 3.79 KB
//
//  NotDisturbViewController.swift
//  Twear
//
//  Created by yangbin on 2021/12/24.
//

import UIKit
import MBProgressHUD
import HandyJSON

class NotDisturbViewController: UIViewController {

    @IBOutlet weak var disturbSwitch: UISwitch!
    @IBOutlet weak var startTimeLabel: UILabel!
    @IBOutlet weak var endTimeLabel: UILabel!
    
    private let device = CurDevice
    lazy private var dis: RemindModel = CurDevice.disturb
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        MBProgressHUD.hide()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        let navController = navigationController as? ZCNavigationController
        navController?.enableScreenEdgePanGestureRecognizer(false)
    }
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        let navController = navigationController as? ZCNavigationController
        navController?.enableScreenEdgePanGestureRecognizer(true)
    }
    
    override func navigationShouldPop() -> Bool {
        if dis.isEqual(device.disturb) {
            return true
        } else {
            self.showAlert(title: "温馨提示", message: "您的设置尚未保存,是否退出") { action in
                self.navigationController?.popViewController(animated: true)
            }
            return false
            
        }
    }
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = LocString("勿扰模式")
//        dis = device.disturb
        disturbSwitch.isOn = device.disturb.isOn
        
        startTimeLabel.text = "\(String(format:"%02d",device.disturb.startDate.hour)):\(String(format:"%02d",device.disturb.startDate.minute))"
        endTimeLabel.text = "\(String(format:"%02d",device.disturb.endDate.hour)):\(String(format:"%02d",device.disturb.endDate.minute))"
        
        let saveButton = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 28))
        saveButton.setTitle(LocString("保存"), for: .normal)
        saveButton.titleLabel?.font = RegularFont(14)
        saveButton.setTitleColor(UIColor.rgbColorFromHex(0x00993E), for: .normal)
        saveButton.addTarget(self, action: #selector(save), for: .touchUpInside)
        navigationItem.rightBarButtonItem =  UIBarButtonItem(customView: saveButton)
    }
    
    @objc func save() {
        _ = MBProgressHUD.showMessage("")
        BluetoothManager.shared.setNotDisturb(remind: device.disturb) {[weak self] error in
            AdminHelper.shared.updateDevice((self?.device)!)
            self?.navigationController?.popViewController(animated: true)
            MBProgressHUD.hide()
        }
    }
    
    @IBAction func swtichValueChanged(_ sender: UISwitch) {
        device.disturb.isOn = sender.isOn
        print(dis.isOn)
    }
    
    @IBAction func clickStartTime(_ sender: UIButton) {
        let pickerView = DatePickerView(title: LocString("开始时间"))
        pickerView.datePicker.date = device.disturb.startDate
        pickerView.show()
        pickerView.clickClosure = {[weak self] date in
            self?.startTimeLabel.text = "\(String(format:"%02d",date.hour)):\(String(format:"%02d",date.minute))"
            self?.device.disturb.startDate = date
        }
    }
    @IBAction func clickEndTime(_ sender: UIButton) {
        let pickerView = DatePickerView(title: LocString("结束时间"))
        pickerView.datePicker.date = device.disturb.endDate
        pickerView.show()
        pickerView.clickClosure = {[weak self] date in
            self?.endTimeLabel.text = "\(String(format:"%02d",date.hour)):\(String(format:"%02d",date.minute))"
            self?.device.disturb.endDate = date
        }
    }

    deinit {
        print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!")
    }



}