Cog/Transformers/PlaybackStatusToHiddenTransformer.swift

41 lines
1.1 KiB
Swift
Raw Normal View History

//
// 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)
}
2021-02-06 18:20:03 -03:00
guard let intValue = value as? Int,
let status = CogStatus(rawValue: intValue) else {
return NSNumber(booleanLiteral: true)
2021-02-06 18:20:03 -03:00
}
switch status {
case .stopped:
return NSNumber(booleanLiteral: true)
2021-02-06 18:20:03 -03:00
case .paused,
.playing,
.stopping:
return NSNumber(booleanLiteral: false)
2021-02-06 18:20:03 -03:00
@unknown default:
return NSNumber(booleanLiteral: false)
}
}
}