cog/Transformers/PlaybackStatusToHiddenTrans...

41 lines
1.1 KiB
Swift

//
// PlaybackStatusToHiddenTransformer.swift
// Cog
//
// Created by Christopher Snowhill on 11/20/20.
//
import Foundation
class PlaybackStatusToHiddenTransformer : ValueTransformer {
override class func transformedValueClass() -> AnyClass {
return NSNumber.self
}
override class func allowsReverseTransformation() -> Bool {
return false
}
override func transformedValue(_ value: Any?) -> Any? {
let titleShown = UserDefaults.standard.bool(forKey: "toolbarStyleFull");
if titleShown {
return NSNumber(booleanLiteral: true)
}
guard let intValue = value as? Int,
let status = CogStatus(rawValue: intValue) else {
return NSNumber(booleanLiteral: true)
}
switch status {
case .stopped:
return NSNumber(booleanLiteral: true)
case .paused,
.playing,
.stopping:
return NSNumber(booleanLiteral: false)
@unknown default:
return NSNumber(booleanLiteral: false)
}
}
}