// // 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: LocString("温馨提示"), message: LocString("您的设置尚未保存,是否退出")) { 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) } func updateScreenEdgePanEnable() { let navController = navigationController as? ZCNavigationController if dis.isEqual(device.disturb) { navController?.enableScreenEdgePanGestureRecognizer(true) } else { navController?.enableScreenEdgePanGestureRecognizer(false) } } @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 updateScreenEdgePanEnable() } @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 self?.updateScreenEdgePanEnable() } } @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 self?.updateScreenEdgePanEnable() } } deinit { print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!") } }