public static FlutterWindowControllerHandle FlutterCreateWindow( ref FlutterWindowProperties window_properties, ref FlutterEngineProperties engine_properties) { if (IsTizen40) { return(Tizen40Embedder.FlutterCreateWindow(ref window_properties, ref engine_properties)); } else { return(DefaultEmbedder.FlutterCreateWindow(ref window_properties, ref engine_properties)); } }
protected override void OnCreate() { base.OnCreate(); // Read engine arguments passed from the tool. ParseEngineArgs(); InternalLog.Info(LogTag, $"switches: {string.Join(" ", EngineArgs)}"); // Get the screen size of the currently running device. if (!Information.TryGetValue("http://tizen.org/feature/screen.width", out int width) || !Information.TryGetValue("http://tizen.org/feature/screen.height", out int height)) { InternalLog.Error(LogTag, "Could not obtain the screen size."); return; } var windowProperties = new FlutterWindowProperties { width = width, height = height }; // Get paths to resources required for launch. string resPath = Current.DirectoryInfo.Resource; string assetsPath = $"{resPath}/flutter_assets"; string icuDataPath = $"{resPath}/icudtl.dat"; string arch = RuntimeInformation.ProcessArchitecture switch { Architecture.X86 => "x86", Architecture.X64 => "x64", Architecture.Arm => "arm", Architecture.Arm64 => "aarch64", _ => "", }; string aotLibPath = $"{resPath}/../lib/{arch}/libapp.so"; using var switches = new StringArray(EngineArgs); var engineProperties = new FlutterEngineProperties { assets_path = assetsPath, icu_data_path = icuDataPath, aot_library_path = aotLibPath, switches = switches.Handle, switches_count = (uint)switches.Length, }; Handle = FlutterCreateWindow(ref windowProperties, ref engineProperties); if (Handle.IsInvalid) { throw new Exception("Could not launch a Flutter application."); } }
public static extern FlutterWindowControllerHandle FlutterCreateWindow( ref FlutterWindowProperties window_properties, ref FlutterEngineProperties engine_properties);
protected override void OnCreate() { base.OnCreate(); // Read the current platform version and choose a Tizen 4.0 embedder if applicable. Information.TryGetValue("http://tizen.org/feature/platform.version", out PlatformVersion); // Read engine arguments passed from the tool. ParseEngineArgs(); InternalLog.Info(LogTag, $"switches: {string.Join(" ", EngineArgs)}"); // Get the screen size of the currently running device. if (!Information.TryGetValue("http://tizen.org/feature/screen.width", out int width) || !Information.TryGetValue("http://tizen.org/feature/screen.height", out int height)) { InternalLog.Error(LogTag, "Could not obtain the screen size."); return; } var windowProperties = new FlutterWindowProperties { width = width, height = height }; // Get paths to resources required for launch. string resPath = Current.DirectoryInfo.Resource; string assetsPath = $"{resPath}/flutter_assets"; string icuDataPath = $"{resPath}/icudtl.dat"; string arch = RuntimeInformation.ProcessArchitecture switch { Architecture.X86 => "x86", Architecture.X64 => "x64", Architecture.Arm => "arm", Architecture.Arm64 => "aarch64", _ => "", }; string aotLibPath = $"{resPath}/../lib/{arch}/libapp.so"; using var switches = new StringArray(EngineArgs); var engineProperties = new FlutterEngineProperties { assets_path = assetsPath, icu_data_path = icuDataPath, aot_library_path = aotLibPath, switches = switches.Handle, switches_count = (uint)switches.Length, }; // This check is not actually required, but we want to make sure that libflutter_engine.so is loaded // before a call to FlutterCreateWindow() is made to avoid library loading issues on TV emulator. if (FlutterEngineRunsAOTCompiledDartCode()) { InternalLog.Debug(LogTag, "Running in AOT mode."); } Handle = FlutterCreateWindow(ref windowProperties, ref engineProperties); if (Handle.IsInvalid) { throw new Exception("Could not launch a Flutter application."); } }