import NotificationCenter
class TodayViewController: UIViewController, NCWidgetProviding {
var nexxPLAYTodayView:NexxPLAYTodayView = NexxPLAYTodayView()
override func viewDidLoad() {
// Do any additional setup after loading the view.
let config = NexxPLAYWidgetConfiguration(app: 0, language: "de", slideUpdateInterval: nil, feedUpdateInterval: nil,widgetPreviewImage: "", widgetPreviewTitle: "", widgetPreviewInfo: "")
let widgetData = NexxPLAYWidgetData(domain: "", launchURL: "", feedHash: "", feedSecret: "", userHash:"", config: config)
nexxPLAYTodayView.initializeView(withData: widgetData) { media in
let urlString = "demoURL://..."
if let url = URL(string: urlString) {
self.extensionContext?.open(url, completionHandler: nil)
nexxPLAYTodayView.add(toView: self.view)
func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
nexxPLAYTodayView.widgetPerformUpdate() { (height) in
self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded
self.preferredContentSize = CGSize(width: self.view.frame.size.width, height: height)
completionHandler(.newData)
completionHandler(.failed)
func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) {
self.preferredContentSize = nexxPLAYTodayView.widgetActiveDisplayModeDidChange(activeDisplayMode, withMaximumSize: maxSize)