mirror of
https://github.com/home-assistant/iOS.git
synced 2026-06-28 06:13:30 -05:00
Adds new fastlane lanes: - `fastlane lint` which checks the linters - `fastlane autocorrect` which applies the linters which can autocorrect (Rubocop, SwiftFormat) Adds a build step to the Codegen abstract target which runs SwiftFormat in lint mode, pointing out what it's going to change when run. Applies SwiftFormat to nearly all code -- exempts a few externally-sourced files and generated code.
51 lines
1.5 KiB
Swift
51 lines
1.5 KiB
Swift
import Foundation
|
|
import PromiseKit
|
|
import UIKit
|
|
import UserNotificationsUI
|
|
|
|
class NotificationErrorViewController: UIViewController, NotificationCategory {
|
|
let label = UILabel()
|
|
|
|
init(error: Error) {
|
|
super.init(nibName: nil, bundle: nil)
|
|
label.text = error.localizedDescription
|
|
}
|
|
|
|
@available(*, unavailable)
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
label.numberOfLines = 0
|
|
label.textAlignment = .center
|
|
|
|
if #available(iOS 13, *) {
|
|
label.textColor = .systemRed
|
|
} else {
|
|
label.textColor = .red
|
|
}
|
|
|
|
view.addSubview(label)
|
|
label.translatesAutoresizingMaskIntoConstraints = false
|
|
NSLayoutConstraint.activate([
|
|
label.topAnchor.constraint(equalTo: view.topAnchor),
|
|
label.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
|
label.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
|
label.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
|
])
|
|
}
|
|
|
|
func didReceive(notification: UNNotification, extensionContext: NSExtensionContext?) -> Promise<Void> {
|
|
.value(())
|
|
}
|
|
|
|
var mediaPlayPauseButtonType: UNNotificationContentExtensionMediaPlayPauseButtonType { .none }
|
|
var mediaPlayPauseButtonFrame: CGRect?
|
|
var mediaPlayPauseButtonTintColor: UIColor?
|
|
func mediaPlay() {}
|
|
func mediaPause() {}
|
|
}
|