[F] Add null cases for family updates checking

This commit is contained in:
Hykilpikonna
2021-01-26 19:27:42 -05:00
parent 3bb39b0027
commit 5529e5422c
3 changed files with 20 additions and 2 deletions
+13 -1
View File
@@ -83,18 +83,30 @@ class AlarmActivator: UITabBarController
*/
@objc func checkFamily()
{
guard localStorage.string(forKey: "family") != nil else { return }
send(APIs.familyAlarmUpdates)
{
guard $0 != "" else { return }
var changed = false
let alarms = Alarms.fromLocal()
$0.components(separatedBy: ",").forEach
$0.csv.forEach
{
guard let alarm = JSON.parse(Alarm.self, $0) else { return }
if (!alarms.list.contains { $0.timeText == alarm.timeText })
{
alarms.list.append(alarm)
changed = true
}
}
alarms.localSave()
guard changed else { return }
self.msg("New alarm!", "A family member added an alarm for you!")
{
AlarmViewController.staticTable?.reloadData()
}
}
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ struct Family: Codable
var members: String
// And a hidden field: admin pin
var membersList: [String] { members.components(separatedBy: ",") }
var membersList: [String] { members.csv }
/// Save family to local storage
func localSave()
+6
View File
@@ -253,3 +253,9 @@ extension UserDefaults
set { self[key] = newValue?.rawValue }
}
}
/// String CSV
extension String
{
var csv: [String] { components(separatedBy: ";") }
}