// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import Flutter import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelegate, FlutterSceneLifeCycleProvider { let sceneLifeCycleDelegate = FlutterPluginSceneLifeCycleDelegate() var window: UIWindow? func scene( _ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions ) { guard (scene as? UIWindowScene) != nil else { return } sceneLifeCycleDelegate.scene( scene, willConnectTo: session, options: connectionOptions ) } func sceneDidDisconnect(_ scene: UIScene) { sceneLifeCycleDelegate.sceneDidDisconnect(scene) } func sceneWillEnterForeground(_ scene: UIScene) { sceneLifeCycleDelegate.sceneWillEnterForeground(scene) } func sceneDidBecomeActive(_ scene: UIScene) { sceneLifeCycleDelegate.sceneDidBecomeActive(scene) } func sceneWillResignActive(_ scene: UIScene) { sceneLifeCycleDelegate.sceneWillResignActive(scene) } func sceneDidEnterBackground(_ scene: UIScene) { sceneLifeCycleDelegate.sceneDidEnterBackground(scene) } func scene( _ scene: UIScene, openURLContexts URLContexts: Set ) { sceneLifeCycleDelegate.scene(scene, openURLContexts: URLContexts) } func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { sceneLifeCycleDelegate.scene(scene, continue: userActivity) } func windowScene( _ windowScene: UIWindowScene, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void ) { sceneLifeCycleDelegate.windowScene( windowScene, performActionFor: shortcutItem, completionHandler: completionHandler ) } }