AlarmClockVC.swift 3.36 KB
//
//  AlarmClockVC.swift
//  Twear
//
//  Created by yangbin on 2021/12/24.
//

import UIKit
import MBProgressHUD

class AlarmClockVC: UIViewController {
    
    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var noClockView: UIView!
    
    var alarmClockArray = CurDevice.alarmClocks
    
    override func viewWillAppear(_ animated: Bool) {
        alarmClockArray = CurDevice.alarmClocks
        noClockView.isHidden = alarmClockArray.count > 0
        tableView.isHidden = alarmClockArray.count == 0
        tableView.reloadData()
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = LocString("闹钟提醒")
        
        let addButton = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 28))
        addButton.setImage(UIImage(named: "device_add"), for: .normal)
        addButton.addTarget(self, action: #selector(add), for: .touchUpInside)
        navigationItem.rightBarButtonItem =  UIBarButtonItem(customView: addButton)
        
        
        tableView.register(UINib.init(nibName: "AlarmClockCell", bundle: Bundle.main), forCellReuseIdentifier: "AlarmClockCell")
        tableView.contentInset = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)
        tableView.tableFooterView = UIView(frame: CGRect.zero)
    }
    
    
    @objc private func add() {
        if alarmClockArray.count >= 5 {
            MBProgressHUD.showh(LocString("您最多可设置5个闹钟"))
            return
        }
        let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "EditAlarmClockVC")
        navigationController?.pushViewController(vc, animated: true)
    }

    private func switchValueChanged(_ isOn: Bool, index: Int) {
        alarmClockArray[index].isOn = isOn
        let device = CurDevice
        device.alarmClocks = alarmClockArray
        BluetoothManager.shared.setAlarmClock(alarmClockArray) { error in
            if error == nil {
                AdminHelper.shared.updateDevice(device)
            }
        }
    }
    
    deinit {
        print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!")
    }
}


extension AlarmClockVC: UITableViewDelegate, UITableViewDataSource {

    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 85
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return alarmClockArray.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "AlarmClockCell", for: indexPath) as! AlarmClockCell
        cell.alarmClock = alarmClockArray[indexPath.row]
        cell.switchClosure = {[weak self] isOn in
            self?.switchValueChanged(isOn, index: indexPath.row)
        }
        return cell
    }
    

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//        let cell = tableView.cellForRow(at: indexPath) as! SettingCell3
//        cell.isSelected = false
        let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "EditAlarmClockVC") as! EditAlarmClockVC
        vc.alarmClock = CurDevice.alarmClocks[indexPath.row]
        vc.index = indexPath.row
        vc.isEdit = true
        navigationController?.pushViewController(vc, animated: true)
    }
}