| // 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<UIOpenURLContext> | |
| ) { | |
| 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 | |
| ) | |
| } | |
| } |