From c6c91a954949c108f0dbee7c2e5fba8ac1400ffd Mon Sep 17 00:00:00 2001 From: Kai Winnemann <1824943@stud.hs-mannheim.de> Date: Thu, 30 Mar 2023 00:29:38 +0200 Subject: [PATCH] fp --- test_project/.gitignore | 46 ++ test_project/.metadata | 10 + test_project/README.md | 16 + test_project/analysis_options.yaml | 29 ++ test_project/android/.gitignore | 13 + test_project/android/app/build.gradle | 68 +++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 32 ++ .../com/example/test_project/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + test_project/android/build.gradle | 29 ++ test_project/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 6 + test_project/android/settings.gradle | 11 + test_project/ios/.gitignore | 34 ++ .../ios/Flutter/AppFrameworkInfo.plist | 26 + test_project/ios/Flutter/Debug.xcconfig | 1 + test_project/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 481 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + test_project/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ .../ios/Runner/Base.lproj/Main.storyboard | 26 + test_project/ios/Runner/Info.plist | 45 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + test_project/lib/main.dart | 115 +++++ test_project/pubspec.lock | 167 ++++++ test_project/pubspec.yaml | 89 ++++ test_project/test/widget_test.dart | 30 ++ test_project/web/favicon.png | Bin 0 -> 917 bytes test_project/web/icons/Icon-192.png | Bin 0 -> 5292 bytes test_project/web/icons/Icon-512.png | Bin 0 -> 8252 bytes test_project/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes test_project/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes test_project/web/index.html | 104 ++++ test_project/web/manifest.json | 35 ++ test_project/windows/.gitignore | 17 + test_project/windows/CMakeLists.txt | 95 ++++ test_project/windows/flutter/CMakeLists.txt | 103 ++++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 15 + test_project/windows/runner/CMakeLists.txt | 17 + test_project/windows/runner/Runner.rc | 121 +++++ .../windows/runner/flutter_window.cpp | 61 +++ test_project/windows/runner/flutter_window.h | 33 ++ test_project/windows/runner/main.cpp | 43 ++ test_project/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + test_project/windows/runner/utils.cpp | 64 +++ test_project/windows/runner/utils.h | 19 + test_project/windows/runner/win32_window.cpp | 245 +++++++++ test_project/windows/runner/win32_window.h | 98 ++++ test_project/winuwp/.gitignore | 17 + test_project/winuwp/CMakeLists.txt | 57 +++ test_project/winuwp/flutter/CMakeLists.txt | 91 ++++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../winuwp/flutter/generated_plugins.cmake | 15 + test_project/winuwp/project_version | 1 + .../runner_uwp/Assets/LargeTile.scale-100.png | Bin 0 -> 6049 bytes .../runner_uwp/Assets/LargeTile.scale-125.png | Bin 0 -> 7419 bytes .../runner_uwp/Assets/LargeTile.scale-150.png | Bin 0 -> 9576 bytes .../runner_uwp/Assets/LargeTile.scale-200.png | Bin 0 -> 14559 bytes .../runner_uwp/Assets/LargeTile.scale-400.png | Bin 0 -> 42545 bytes .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../runner_uwp/Assets/SmallTile.scale-100.png | Bin 0 -> 1821 bytes .../runner_uwp/Assets/SmallTile.scale-125.png | Bin 0 -> 2519 bytes .../runner_uwp/Assets/SmallTile.scale-150.png | Bin 0 -> 2984 bytes .../runner_uwp/Assets/SmallTile.scale-200.png | Bin 0 -> 3721 bytes .../runner_uwp/Assets/SmallTile.scale-400.png | Bin 0 -> 8054 bytes .../Assets/SplashScreen.scale-100.png | Bin 0 -> 6866 bytes .../Assets/SplashScreen.scale-125.png | Bin 0 -> 7899 bytes .../Assets/SplashScreen.scale-150.png | Bin 0 -> 10137 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 15332 bytes .../Assets/SplashScreen.scale-400.png | Bin 0 -> 46573 bytes .../Assets/Square150x150Logo.scale-100.png | Bin 0 -> 2964 bytes .../Assets/Square150x150Logo.scale-125.png | Bin 0 -> 2984 bytes .../Assets/Square150x150Logo.scale-150.png | Bin 0 -> 4617 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 6223 bytes .../Assets/Square150x150Logo.scale-400.png | Bin 0 -> 13913 bytes ...x44Logo.altform-unplated_targetsize-16.png | Bin 0 -> 697 bytes ...44Logo.altform-unplated_targetsize-256.png | Bin 0 -> 15554 bytes ...x44Logo.altform-unplated_targetsize-32.png | Bin 0 -> 1541 bytes ...x44Logo.altform-unplated_targetsize-48.png | Bin 0 -> 2418 bytes .../Assets/Square44x44Logo.scale-100.png | Bin 0 -> 1603 bytes .../Assets/Square44x44Logo.scale-125.png | Bin 0 -> 1893 bytes .../Assets/Square44x44Logo.scale-150.png | Bin 0 -> 2515 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 3239 bytes .../Assets/Square44x44Logo.scale-400.png | Bin 0 -> 6781 bytes .../Assets/Square44x44Logo.targetsize-16.png | Bin 0 -> 479 bytes .../Assets/Square44x44Logo.targetsize-24.png | Bin 0 -> 788 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../Assets/Square44x44Logo.targetsize-256.png | Bin 0 -> 10408 bytes .../Assets/Square44x44Logo.targetsize-32.png | Bin 0 -> 1122 bytes .../Assets/Square44x44Logo.targetsize-48.png | Bin 0 -> 1612 bytes .../winuwp/runner_uwp/Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../runner_uwp/Assets/StoreLogo.scale-100.png | Bin 0 -> 2370 bytes .../runner_uwp/Assets/StoreLogo.scale-125.png | Bin 0 -> 3229 bytes .../runner_uwp/Assets/StoreLogo.scale-150.png | Bin 0 -> 3739 bytes .../runner_uwp/Assets/StoreLogo.scale-200.png | Bin 0 -> 4917 bytes .../runner_uwp/Assets/StoreLogo.scale-400.png | Bin 0 -> 10759 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../runner_uwp/Assets/WideTile.scale-100.png | Bin 0 -> 3158 bytes .../runner_uwp/Assets/WideTile.scale-125.png | Bin 0 -> 3211 bytes .../runner_uwp/Assets/WideTile.scale-150.png | Bin 0 -> 5001 bytes .../runner_uwp/Assets/WideTile.scale-200.png | Bin 0 -> 6866 bytes .../runner_uwp/Assets/WideTile.scale-400.png | Bin 0 -> 15332 bytes test_project/winuwp/runner_uwp/CMakeLists.txt | 127 +++++ .../winuwp/runner_uwp/CMakeSettings.json | 27 + .../runner_uwp/Windows_TemporaryKey.pfx | Bin 0 -> 2560 bytes .../winuwp/runner_uwp/appxmanifest.in | 42 ++ .../runner_uwp/flutter_frameworkview.cpp | 155 ++++++ test_project/winuwp/runner_uwp/main.cpp | 30 ++ test_project/winuwp/runner_uwp/resources.pri | Bin 0 -> 5952 bytes 152 files changed, 3412 insertions(+) create mode 100644 test_project/.gitignore create mode 100644 test_project/.metadata create mode 100644 test_project/README.md create mode 100644 test_project/analysis_options.yaml create mode 100644 test_project/android/.gitignore create mode 100644 test_project/android/app/build.gradle create mode 100644 test_project/android/app/src/debug/AndroidManifest.xml create mode 100644 test_project/android/app/src/main/AndroidManifest.xml create mode 100644 test_project/android/app/src/main/kotlin/com/example/test_project/MainActivity.kt create mode 100644 test_project/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 test_project/android/app/src/main/res/drawable/launch_background.xml create mode 100644 test_project/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 test_project/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 test_project/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 test_project/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 test_project/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 test_project/android/app/src/main/res/values-night/styles.xml create mode 100644 test_project/android/app/src/main/res/values/styles.xml create mode 100644 test_project/android/app/src/profile/AndroidManifest.xml create mode 100644 test_project/android/build.gradle create mode 100644 test_project/android/gradle.properties create mode 100644 test_project/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 test_project/android/settings.gradle create mode 100644 test_project/ios/.gitignore create mode 100644 test_project/ios/Flutter/AppFrameworkInfo.plist create mode 100644 test_project/ios/Flutter/Debug.xcconfig create mode 100644 test_project/ios/Flutter/Release.xcconfig create mode 100644 test_project/ios/Runner.xcodeproj/project.pbxproj create mode 100644 test_project/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 test_project/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 test_project/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 test_project/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 test_project/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 test_project/ios/Runner/AppDelegate.swift create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 test_project/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 test_project/ios/Runner/Base.lproj/Main.storyboard create mode 100644 test_project/ios/Runner/Info.plist create mode 100644 test_project/ios/Runner/Runner-Bridging-Header.h create mode 100644 test_project/lib/main.dart create mode 100644 test_project/pubspec.lock create mode 100644 test_project/pubspec.yaml create mode 100644 test_project/test/widget_test.dart create mode 100644 test_project/web/favicon.png create mode 100644 test_project/web/icons/Icon-192.png create mode 100644 test_project/web/icons/Icon-512.png create mode 100644 test_project/web/icons/Icon-maskable-192.png create mode 100644 test_project/web/icons/Icon-maskable-512.png create mode 100644 test_project/web/index.html create mode 100644 test_project/web/manifest.json create mode 100644 test_project/windows/.gitignore create mode 100644 test_project/windows/CMakeLists.txt create mode 100644 test_project/windows/flutter/CMakeLists.txt create mode 100644 test_project/windows/flutter/generated_plugin_registrant.cc create mode 100644 test_project/windows/flutter/generated_plugin_registrant.h create mode 100644 test_project/windows/flutter/generated_plugins.cmake create mode 100644 test_project/windows/runner/CMakeLists.txt create mode 100644 test_project/windows/runner/Runner.rc create mode 100644 test_project/windows/runner/flutter_window.cpp create mode 100644 test_project/windows/runner/flutter_window.h create mode 100644 test_project/windows/runner/main.cpp create mode 100644 test_project/windows/runner/resource.h create mode 100644 test_project/windows/runner/resources/app_icon.ico create mode 100644 test_project/windows/runner/runner.exe.manifest create mode 100644 test_project/windows/runner/utils.cpp create mode 100644 test_project/windows/runner/utils.h create mode 100644 test_project/windows/runner/win32_window.cpp create mode 100644 test_project/windows/runner/win32_window.h create mode 100644 test_project/winuwp/.gitignore create mode 100644 test_project/winuwp/CMakeLists.txt create mode 100644 test_project/winuwp/flutter/CMakeLists.txt create mode 100644 test_project/winuwp/flutter/generated_plugin_registrant.cc create mode 100644 test_project/winuwp/flutter/generated_plugin_registrant.h create mode 100644 test_project/winuwp/flutter/generated_plugins.cmake create mode 100644 test_project/winuwp/project_version create mode 100644 test_project/winuwp/runner_uwp/Assets/LargeTile.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/LargeTile.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/LargeTile.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/LargeTile.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/LargeTile.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/LockScreenLogo.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SmallTile.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SmallTile.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SmallTile.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SmallTile.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SmallTile.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-32.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-16.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-24.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-256.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-32.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-48.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/Assets/Wide310x150Logo.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/WideTile.scale-100.png create mode 100644 test_project/winuwp/runner_uwp/Assets/WideTile.scale-125.png create mode 100644 test_project/winuwp/runner_uwp/Assets/WideTile.scale-150.png create mode 100644 test_project/winuwp/runner_uwp/Assets/WideTile.scale-200.png create mode 100644 test_project/winuwp/runner_uwp/Assets/WideTile.scale-400.png create mode 100644 test_project/winuwp/runner_uwp/CMakeLists.txt create mode 100644 test_project/winuwp/runner_uwp/CMakeSettings.json create mode 100644 test_project/winuwp/runner_uwp/Windows_TemporaryKey.pfx create mode 100644 test_project/winuwp/runner_uwp/appxmanifest.in create mode 100644 test_project/winuwp/runner_uwp/flutter_frameworkview.cpp create mode 100644 test_project/winuwp/runner_uwp/main.cpp create mode 100644 test_project/winuwp/runner_uwp/resources.pri diff --git a/test_project/.gitignore b/test_project/.gitignore new file mode 100644 index 0000000..0fa6b67 --- /dev/null +++ b/test_project/.gitignore @@ -0,0 +1,46 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/test_project/.metadata b/test_project/.metadata new file mode 100644 index 0000000..f941867 --- /dev/null +++ b/test_project/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: 4b330ddbedab445481cc73d50a4695b9154b4e4f + channel: dev + +project_type: app diff --git a/test_project/README.md b/test_project/README.md new file mode 100644 index 0000000..12fae48 --- /dev/null +++ b/test_project/README.md @@ -0,0 +1,16 @@ +# test_project + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/test_project/analysis_options.yaml b/test_project/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/test_project/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/test_project/android/.gitignore b/test_project/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/test_project/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/test_project/android/app/build.gradle b/test_project/android/app/build.gradle new file mode 100644 index 0000000..b9c6b4c --- /dev/null +++ b/test_project/android/app/build.gradle @@ -0,0 +1,68 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 30 + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.test_project" + minSdkVersion 16 + targetSdkVersion 30 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/test_project/android/app/src/debug/AndroidManifest.xml b/test_project/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..1566b23 --- /dev/null +++ b/test_project/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/test_project/android/app/src/main/AndroidManifest.xml b/test_project/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..c27da57 --- /dev/null +++ b/test_project/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + diff --git a/test_project/android/app/src/main/kotlin/com/example/test_project/MainActivity.kt b/test_project/android/app/src/main/kotlin/com/example/test_project/MainActivity.kt new file mode 100644 index 0000000..49584ae --- /dev/null +++ b/test_project/android/app/src/main/kotlin/com/example/test_project/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.test_project + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/test_project/android/app/src/main/res/drawable-v21/launch_background.xml b/test_project/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/test_project/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/test_project/android/app/src/main/res/drawable/launch_background.xml b/test_project/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/test_project/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/test_project/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/test_project/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/test_project/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/test_project/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/test_project/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/test_project/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/test_project/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/test_project/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/test_project/android/app/src/main/res/values-night/styles.xml b/test_project/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..449a9f9 --- /dev/null +++ b/test_project/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/test_project/android/app/src/main/res/values/styles.xml b/test_project/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..d74aa35 --- /dev/null +++ b/test_project/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/test_project/android/app/src/profile/AndroidManifest.xml b/test_project/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..1566b23 --- /dev/null +++ b/test_project/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/test_project/android/build.gradle b/test_project/android/build.gradle new file mode 100644 index 0000000..ed45c65 --- /dev/null +++ b/test_project/android/build.gradle @@ -0,0 +1,29 @@ +buildscript { + ext.kotlin_version = '1.3.50' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:4.1.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/test_project/android/gradle.properties b/test_project/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/test_project/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/test_project/android/gradle/wrapper/gradle-wrapper.properties b/test_project/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..bc6a58a --- /dev/null +++ b/test_project/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/test_project/android/settings.gradle b/test_project/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/test_project/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/test_project/ios/.gitignore b/test_project/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/test_project/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/test_project/ios/Flutter/AppFrameworkInfo.plist b/test_project/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..8d4492f --- /dev/null +++ b/test_project/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 9.0 + + diff --git a/test_project/ios/Flutter/Debug.xcconfig b/test_project/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/test_project/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/test_project/ios/Flutter/Release.xcconfig b/test_project/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/test_project/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/test_project/ios/Runner.xcodeproj/project.pbxproj b/test_project/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b543d16 --- /dev/null +++ b/test_project/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,481 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testProject; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testProject; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.testProject; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/test_project/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/test_project/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/test_project/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/test_project/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/test_project/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/test_project/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..c87d15a --- /dev/null +++ b/test_project/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_project/ios/Runner.xcworkspace/contents.xcworkspacedata b/test_project/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/test_project/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/test_project/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/test_project/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/test_project/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/test_project/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/test_project/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/test_project/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/test_project/ios/Runner/AppDelegate.swift b/test_project/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/test_project/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/test_project/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/test_project/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/test_project/ios/Runner/Base.lproj/LaunchScreen.storyboard b/test_project/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/test_project/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_project/ios/Runner/Base.lproj/Main.storyboard b/test_project/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/test_project/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_project/ios/Runner/Info.plist b/test_project/ios/Runner/Info.plist new file mode 100644 index 0000000..19ff7dd --- /dev/null +++ b/test_project/ios/Runner/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + test_project + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/test_project/ios/Runner/Runner-Bridging-Header.h b/test_project/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/test_project/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/test_project/lib/main.dart b/test_project/lib/main.dart new file mode 100644 index 0000000..202509b --- /dev/null +++ b/test_project/lib/main.dart @@ -0,0 +1,115 @@ +import 'package:flutter/material.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({Key? key}) : super(key: key); + + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + // This is the theme of your application. + // + // Try running your application with "flutter run". You'll see the + // application has a blue toolbar. Then, without quitting the app, try + // changing the primarySwatch below to Colors.green and then invoke + // "hot reload" (press "r" in the console where you ran "flutter run", + // or simply save your changes to "hot reload" in a Flutter IDE). + // Notice that the counter didn't reset back to zero; the application + // is not restarted. + primarySwatch: Colors.blue, + ), + home: const MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({Key? key, required this.title}) : super(key: key); + + // This widget is the home page of your application. It is stateful, meaning + // that it has a State object (defined below) that contains fields that affect + // how it looks. + + // This class is the configuration for the state. It holds the values (in this + // case the title) provided by the parent (in this case the App widget) and + // used by the build method of the State. Fields in a Widget subclass are + // always marked "final". + + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + // This call to setState tells the Flutter framework that something has + // changed in this State, which causes it to rerun the build method below + // so that the display can reflect the updated values. If we changed + // _counter without calling setState(), then the build method would not be + // called again, and so nothing would appear to happen. + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + // This method is rerun every time setState is called, for instance as done + // by the _incrementCounter method above. + // + // The Flutter framework has been optimized to make rerunning build methods + // fast, so that you can just rebuild anything that needs updating rather + // than having to individually change instances of widgets. + return Scaffold( + appBar: AppBar( + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text(widget.title), + ), + body: Center( + // Center is a layout widget. It takes a single child and positions it + // in the middle of the parent. + child: Column( + // Column is also a layout widget. It takes a list of children and + // arranges them vertically. By default, it sizes itself to fit its + // children horizontally, and tries to be as tall as its parent. + // + // Invoke "debug painting" (press "p" in the console, choose the + // "Toggle Debug Paint" action from the Flutter Inspector in Android + // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) + // to see the wireframe for each widget. + // + // Column has various properties to control how it sizes itself and + // how it positions its children. Here we use mainAxisAlignment to + // center the children vertically; the main axis here is the vertical + // axis because Columns are vertical (the cross axis would be + // horizontal). + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headline4, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: const Icon(Icons.add), + ), // This trailing comma makes auto-formatting nicer for build methods. + ); + } +} diff --git a/test_project/pubspec.lock b/test_project/pubspec.lock new file mode 100644 index 0000000..a67c0e1 --- /dev/null +++ b/test_project/pubspec.lock @@ -0,0 +1,167 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.11" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.3" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" +sdks: + dart: ">=2.15.0-116.0.dev <3.0.0" diff --git a/test_project/pubspec.yaml b/test_project/pubspec.yaml new file mode 100644 index 0000000..c4482bf --- /dev/null +++ b/test_project/pubspec.yaml @@ -0,0 +1,89 @@ +name: test_project +description: A new Flutter project. + +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.15.0-116.0.dev <3.0.0" + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + + # The "flutter_lints" package below contains a set of recommended lints to + # encourage good coding practices. The lint set provided by the package is + # activated in the `analysis_options.yaml` file located at the root of your + # package. See that file for information about deactivating specific lint + # rules and activating additional ones. + flutter_lints: ^1.0.0 + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/test_project/test/widget_test.dart b/test_project/test/widget_test.dart new file mode 100644 index 0000000..e125ea3 --- /dev/null +++ b/test_project/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:test_project/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/test_project/web/favicon.png b/test_project/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/test_project/web/icons/Icon-192.png b/test_project/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/test_project/web/icons/Icon-512.png b/test_project/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/test_project/web/icons/Icon-maskable-192.png b/test_project/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/test_project/web/icons/Icon-maskable-512.png b/test_project/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/test_project/web/index.html b/test_project/web/index.html new file mode 100644 index 0000000..ca00851 --- /dev/null +++ b/test_project/web/index.html @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + test_project + + + + + + + diff --git a/test_project/web/manifest.json b/test_project/web/manifest.json new file mode 100644 index 0000000..3883f1b --- /dev/null +++ b/test_project/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "test_project", + "short_name": "test_project", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/test_project/windows/.gitignore b/test_project/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/test_project/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/test_project/windows/CMakeLists.txt b/test_project/windows/CMakeLists.txt new file mode 100644 index 0000000..5a13d0c --- /dev/null +++ b/test_project/windows/CMakeLists.txt @@ -0,0 +1,95 @@ +cmake_minimum_required(VERSION 3.14) +project(test_project LANGUAGES CXX) + +set(BINARY_NAME "test_project") + +cmake_policy(SET CMP0063 NEW) + +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Configure build options. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() + +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") + +# Flutter library and tool build rules. +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build +add_subdirectory("runner") + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/test_project/windows/flutter/CMakeLists.txt b/test_project/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..b2e4bd8 --- /dev/null +++ b/test_project/windows/flutter/CMakeLists.txt @@ -0,0 +1,103 @@ +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/test_project/windows/flutter/generated_plugin_registrant.cc b/test_project/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/test_project/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/test_project/windows/flutter/generated_plugin_registrant.h b/test_project/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/test_project/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/test_project/windows/flutter/generated_plugins.cmake b/test_project/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..4d10c25 --- /dev/null +++ b/test_project/windows/flutter/generated_plugins.cmake @@ -0,0 +1,15 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) diff --git a/test_project/windows/runner/CMakeLists.txt b/test_project/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..de2d891 --- /dev/null +++ b/test_project/windows/runner/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) +apply_standard_settings(${BINARY_NAME}) +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/test_project/windows/runner/Runner.rc b/test_project/windows/runner/Runner.rc new file mode 100644 index 0000000..11aac65 --- /dev/null +++ b/test_project/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#ifdef FLUTTER_BUILD_NUMBER +#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER +#else +#define VERSION_AS_NUMBER 1,0,0 +#endif + +#ifdef FLUTTER_BUILD_NAME +#define VERSION_AS_STRING #FLUTTER_BUILD_NAME +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "A new Flutter project." "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "test_project" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "test_project.exe" "\0" + VALUE "ProductName", "test_project" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/test_project/windows/runner/flutter_window.cpp b/test_project/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..b43b909 --- /dev/null +++ b/test_project/windows/runner/flutter_window.cpp @@ -0,0 +1,61 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/test_project/windows/runner/flutter_window.h b/test_project/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/test_project/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/test_project/windows/runner/main.cpp b/test_project/windows/runner/main.cpp new file mode 100644 index 0000000..e4d8c41 --- /dev/null +++ b/test_project/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.CreateAndShow(L"test_project", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/test_project/windows/runner/resource.h b/test_project/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/test_project/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/test_project/windows/runner/resources/app_icon.ico b/test_project/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/test_project/windows/runner/runner.exe.manifest b/test_project/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..c977c4a --- /dev/null +++ b/test_project/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/test_project/windows/runner/utils.cpp b/test_project/windows/runner/utils.cpp new file mode 100644 index 0000000..d19bdbb --- /dev/null +++ b/test_project/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + if (target_length == 0) { + return std::string(); + } + std::string utf8_string; + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), + target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/test_project/windows/runner/utils.h b/test_project/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/test_project/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/test_project/windows/runner/win32_window.cpp b/test_project/windows/runner/win32_window.cpp new file mode 100644 index 0000000..c10f08d --- /dev/null +++ b/test_project/windows/runner/win32_window.cpp @@ -0,0 +1,245 @@ +#include "win32_window.h" + +#include + +#include "resource.h" + +namespace { + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + FreeLibrary(user32_module); + } +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + return OnCreate(); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} diff --git a/test_project/windows/runner/win32_window.h b/test_project/windows/runner/win32_window.h new file mode 100644 index 0000000..17ba431 --- /dev/null +++ b/test_project/windows/runner/win32_window.h @@ -0,0 +1,98 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates and shows a win32 window with |title| and position and size using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size to will treat the width height passed in to this function + // as logical pixels and scale to appropriate for the default monitor. Returns + // true if the window was created successfully. + bool CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responsponds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/test_project/winuwp/.gitignore b/test_project/winuwp/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/test_project/winuwp/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/test_project/winuwp/CMakeLists.txt b/test_project/winuwp/CMakeLists.txt new file mode 100644 index 0000000..3ddd751 --- /dev/null +++ b/test_project/winuwp/CMakeLists.txt @@ -0,0 +1,57 @@ +cmake_minimum_required(VERSION 3.8) +set(CMAKE_SYSTEM_NAME WindowsStore) +set(CMAKE_SYSTEM_VERSION 10.0) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED YES) + +project(test_project LANGUAGES CXX) + +cmake_policy(SET CMP0079 NEW) + +set(BINARY_NAME "test_project") + +# Configure build options. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() + +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100" /await) + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") + target_compile_definitions(${TARGET} PRIVATE WINUWP) + set_target_properties(${TARGET} PROPERTIES VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION 10.0.18362.0) +endfunction() + +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") + +# Flutter library and tool build rules. +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build +add_subdirectory("runner_uwp") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) diff --git a/test_project/winuwp/flutter/CMakeLists.txt b/test_project/winuwp/flutter/CMakeLists.txt new file mode 100644 index 0000000..ddf4525 --- /dev/null +++ b/test_project/winuwp/flutter/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 3.8) +set(CMAKE_SYSTEM_NAME WindowsStore) +set(CMAKE_SYSTEM_VERSION 10.0) +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +include(CMakePrintHelpers) + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows_winuwp.dll") + +# === Assets === +set(CMAKE_INSTALL_MANIFEST "${EPHEMERAL_DIR}/install_manifest") +file(STRINGS ${CMAKE_INSTALL_MANIFEST} INSTALL_MANIFEST_CONTENT) + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(INSTALL_MANIFEST_CONTENT ${INSTALL_MANIFEST_CONTENT} PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/test_project/winuwp/flutter/generated_plugin_registrant.cc b/test_project/winuwp/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..8b6d468 --- /dev/null +++ b/test_project/winuwp/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/test_project/winuwp/flutter/generated_plugin_registrant.h b/test_project/winuwp/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/test_project/winuwp/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/test_project/winuwp/flutter/generated_plugins.cmake b/test_project/winuwp/flutter/generated_plugins.cmake new file mode 100644 index 0000000..4d10c25 --- /dev/null +++ b/test_project/winuwp/flutter/generated_plugins.cmake @@ -0,0 +1,15 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) diff --git a/test_project/winuwp/project_version b/test_project/winuwp/project_version new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/test_project/winuwp/project_version @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-100.png b/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..fa651eb71070bd8ada344ac3a4a23f346297a449 GIT binary patch literal 6049 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 AQ2+n{ literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-125.png b/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..649e07696ba75f5e525a72f60ee9bbe868e28f0b GIT binary patch literal 7419 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 J{=a$u{{XcY6^#G@ literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-400.png b/test_project/winuwp/runner_uwp/Assets/LargeTile.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..979878f735eb4275bf5246992734c14311f833d4 GIT binary patch literal 42545 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 W!tA=RzUH literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/LockScreenLogo.scale-200.png b/test_project/winuwp/runner_uwp/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-100.png b/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..35e7f6242f49b50ec3c688b0d9fe21ff6ca3bee2 GIT binary patch literal 1821 zcma)-S2!CA1BQbdv9(6xP$O+9Vx~m2YDAEd#z?IyqC|{Zb?ll|iO?!)9NRCVHF~Vj zqE^&w#5h!|t&&pIF-q$=>Nq$5)qn9{yx;dc-}BwSWE|E~L{L@`004+sTcPYv+VWon z_)Zf4%vIr}fFV{c;Q)YW|G#j(3Z~xz0QgweC{xF%;;%(+A!qQQMAl|$*ZH8BUjOQ9 znUQ*KCOG@L2d>r_fqae7=9*6?*mVd9AeUZrZuKFQ%cWIwrRmA(`F2Xc+zhH#o+(Zo zHO+mG6i%Aofc~}-qt8e)6I0uS+OTG6Zv&gAu6!uoEjzyACLqwyJtc1fHDC5r4AT}j z1f|OfqeS_X`FXNal7@Os{`dSaJ4`m~n=K(6_EwqV>(IZr91Xkc$WE#B6Qocrz_|Ad zd+qJx=?Gmcb|EyHdyF7gHzfImMY^qxf^DbpC9-(Rk1>AD-}0X=(4BQL*nYd{OTRG@ zU{Pu7t|mcxFT3*0Q3;J?{D9}kiL)1U@sliMX&7XXdBYR;d z7M;N!7BCdby6Rmag#?|=Vl#1nrL)sIfn98%N4%UPYCs zwuOkIJx6@B&||9S2G7jDvme(oFdA$bA|a$f<}S`EryVLXz(sLY2YgbxeX8+lyjSL3 zU>dfT#kA4iBTrEdH2whcBCwPP1r;3z&@}!>Ds!m=owt9b0&Vh|KOQEr>v{~!d#JC- z61&my1A!KVn-}%ED+-`Q_I46KDJk4cNY8G^6K!+%&H$X@D3s~T)R&_T)vm8<{YT?D z2=N6=xD^?~f4X^y+P;~(7$$voGXXFk#V_f_k+-BekxU6Ub&<3LN=4X)=Kk2Q4^y(eAu*Z0glF~K$WKHfSv@ifJnEw6C zut5vMhcEbAS6#QcTFRRV(<-RrnssflgQbZ7g{bL(gT^%DId@2>m(|~)!r9GBI@@9| zst!pK%SHz`yf7`1lzg-+pBeHE2=1mmAG{K)R@xZW}A9;V-ixXO#z zr)6r24AdxDQGiiq3Y)cy`CzF?wKPpmnQ>u+yi{WA>QYA_C(b9qX*Kb9a;3S~H8$+= z<)$k*8;;5S`vi66*>kOPvU*hu=b&#=?{?Opoe8(bYC$(owT+Lhp*xmcYAxL&hFSH7 zz6_Q8J@8=+Wm+y??f0erc&=81q986+Y47C9V7WjuM!DQ>5qq0Pz#L8>9XhF^PwiRw z_&0h;!uYSc+(xD{Rb}1}b4tsl zLx7kek6I#DPEHCpjOG}~CWZ`Rpv6c18nN8^p;sB&=dD*B8&UX zG_AJ`2yANY6)|vyc6MvJNs>bde7uvY=q?PQ^z80NPjEH>!a_p<7@)5pMA6diJzL z?jLS?#M05D_#L7Zu3?5L<&5c4VLh3B8Co$2Brk%*)t}<=Ie+<4Sni@L!TA0cH^JcV z^>3 zMab4zlFHU?yM4_AUU~mXc}w)ju;l-xhW{GlC!c0ao)Ad60eIp&fVBk{)nMkC{0|Ij BO8@`> literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-125.png b/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..2a74cc67e6d7ed7a5f219ea738e21d2a67806262 GIT binary patch literal 2519 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-150.png b/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..157124823d548ae2cb06ee30c2b6bcc898e5f1ab GIT binary patch literal 2984 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-200.png b/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..07ec2ddcb15f766f41f8ac49e8f85082ea931a9f GIT binary patch literal 3721 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-400.png b/test_project/winuwp/runner_uwp/Assets/SmallTile.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..c205729b7281ca6742a6b15f836e80adae2d78fb GIT binary patch literal 8054 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 VT1Mgv${?M}P}fwa>VXsde*jWjXtn?V literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-100.png b/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..6012579815fa4a18c7d12e900b629c6fde5c8d8b GIT binary patch literal 6866 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 UwD|=1lM1Bs$WW{7Puqz91ABlFQUCw| literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-125.png b/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..0c35be827fa2ccaf34c9ed18255011511678c342 GIT binary patch literal 7899 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-150.png b/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..f1e60f33c3b4ae5d0f7fcd893a89b7adae98adc4 GIT binary patch literal 10137 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-400.png b/test_project/winuwp/runner_uwp/Assets/SplashScreen.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b7ca9c4002a64ec810b0006ca34c330bb12550 GIT binary patch literal 46573 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 Ys(B0le%?Tzy4wM0sA^+NRV+jQ52u_yv;Y7A literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-200.png b/test_project/winuwp/runner_uwp/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..20814081dbf6b3a37a4671c68409af535fa5550c GIT binary patch literal 6223 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

4u6S^t?ou(>^5(^ zx9XUa6aiO}uzJrUGqFNdKzRH))l@w(t}7=pK*X3uEgA5z+PsInyI;MSx^k1?lK5xY z=`5Z}Vb3<`N+*3Bte7ff$9F)ejeXJY@7Y^>pru)w?PC?Lj}oRn%6&g#>ZToDu2-jBM8-76#EgkOU<2?XQQ<^8k2 zTj#ePfYSirmJYxv0dNywJIHk|uI{=QpseoG(^=NXf3wm*^}@*)+X6+E%3FrczZ^zu z@lEF`J?#~Y#w6M%+1Oa>j6Z)>rby^wO@vza`|wmt4m<%VQ$yZNjiUWt!Qh%%yY6@` zqa(Fj(!=_%Yy2=OH#GeCz*g?mpxNwwd?aQx{J1 z$Sq6t`r4|uIwQwl#o*OWIc&t>=*#o~;1z0+#*oZNGt?W}d#fb0yEE#~LJD(mR4?a; z(4OfR)!q)~r)qV=IT&klw{D`i|EKTmwDXn&k5w`fcIacT^!npD$4Qz|cn4nEW(=To z>BTKb_Qx7~e-~pCYPW5%G?SCj0(I0}iO1?t7&+{lrH_zKy83VMHIXxQ-RY{Q_(RN)nzq!R^-w6o(MhaY{?}@3{^rD4?~38I z^rcpj>vwBNNJ_b4DFW$~dq%`6;{psMJ&$3)kr;P##tz0i2F7E~mhFh!t~Gq^^0W^` zi&~ka1UMRB+KEj2~n>d_iq zV}XFUBt!D)URy2BWXwEM0a5ye*TI#E5cG8MIo!wbt@2vOm@Hg>GBaztxB_OzqE>{VPl(a;a-&YuRmN1qc21Rg19~gp65p-?GnWoq2W|SVOay zS`Lddvtp_#li{X z02#nugfPGfg|Y0bDaIjv8!MZxFGK9KsMQFAa6Cdj`l2|lH36GxJ+PsxxuPoXqgdtuK(Ocydc>S+L@WgZ^m2GQb z*skpsE=SEaop$IQ!Wvgf0qIvzO>__LM+=0+=1*wsPcDC)z`0znQJ=sO-`=-aJ9oN$ zOu_Rp97G@Qud8*t-3Lft0HjVTEeQdX!;ZMpJ?ed@Q%kXU7dSgmw^cKD)YJ1Xct%M7 zFLY@;yADB2#5s~KX=W@nS+r7CsHQ8txgu5RNgS*d{Pd5fAZPg)>$(x<4HyDkHu*{v z-g)L`DKU>;Scl#nRaIc2H}4eBPcJbrSTW`nrL($FY>hn}n|}BbPCE`yDCn?mXul>J zZd2mRm>pgn?OT0&`_*~Nl6zEtJ(dIv;}QyWxkl8elB<{7^2nv;(!Q3|v1}ovq&cwG z<(`NAI6w`RMWvGxl+~3x4K8`S96crk%cWw^_=I~`RX@LM2zI)1YH{+_=%T1SHO+)- zJpm1$dpSeG)C_psbVg4p*1lY=55!leF5JD9#!IVLw}{CU(zh@fUDvk#EzlRb-7z~i zW3STvfIH^k9_~H7I+>wZhhG2J2FAv?eq@C)Ns%a*q#1j&jJaxrU5;AkcE6C0#dohp zNrIjF!OuVtz5GELsk|Sz_;7zz79A%F`=g2ZePL0%Q+?&P1b#U}9LS8dWC#ao<&n+w zC58{ndSp$6A^|SqCF(;JZ}o4!i$7=emo&^I$r~_9dvc1$9`+Fnhm=HoK7T?@P0W4NhZ+~y`@#-56=lCoe z@EN|FU$b0Zt#YcyW|5Q|)DHDWaBLv9(mUL4zbn{M_Ac+h4 z%5y^+Hsh7H95l>7=trx2hC8C30$9`OcW8)D*XbEf$#uBachi$)75_Z0sDB}CRnzP# z2>9Mg&9%7YWF4PyKU~rY|K9<_IevBX4e3v%cNnjVbFlM%L<@~C27FenzuJE>-Q?9j za~e9j#Is_eYh|l;rX({s zmSzrW*Vw+-R1m}lCi}>1P0ACVS%I2?spe9j^`_bN+)?MG8P3xufZ0I2OE*d_2rPWJ z{a1{;-U!2y{R1!_s-}t~J_@%c!`Ma1`Ay+B`2NRvn!lJ&aP^Y!u1rs?)rl2Nfp?b>Dw|1}S8$jw5u zFM+z$EA37#&27IDBTCq=%1Fg$JNMWC_=i@TL27CfP)lE|bxz!ya;b*LP~y z+&n69+Aef2I5(cOD*`FAcK8fRqUD;zLe_>W?ax4~(c9iO%qxlbz^C{UgBx@vE?yPz z6F9(lK9VWK>Sdb~IIeX23F*>jDZn(}+zK?MNt+P;7F%t@sN+Lhp?MZ^m9|bs(gb2E zvV!3wVv<7>g!LBnnS(&cZ>8azT)$a2G-4n2Bs1xx-1P%XRJ8kw8o!TfO`s%Fllo?A z5xE<$@$-K}pRlG8?fLO%4?>ynuWuoIRQh@N`Pth#@&>N)Ae0u&Hg0n4SYA3KClYu>V?o7d zdJw{^y}wx7rodwMN+n?JK6Rwtx4cXYSslD53N!Hp*Yr!wXogIUUf9@!jC7}5-^1GC zAYRtf@6Pd8!FQHY2qKokz|dXeicB z=L4snYlk``e3ki43ug0=o)Lt;QcDb&E*Z05Q?oiOZS*cjY!E`Lxum3P0dv{bTLT>@_${J3tGD&mTb4lMf^e3A=R{6$&b*$*?s&y)lgrQf zCa_7=g6)l-n8}JKyGf&=+7l*6{e>fVdT@$_i(i9QsW}Dy_AH}D zLFsK0*gB@Uj3sImaB4lgJTq2e;aVcT=AJZ?T_K(AGZ|=Nj(eBmkJ>aB)io{46TXYv zlY*heBPzhfv~BkLALEh3Fca^Gp0}hIrV%8vCUJFpO(KEk!CTPq(c&n$L0gBQV)IJF zNSO12_x|ZHpi8H~V=+r2gH>8UmugWsPl@bDX1tV5t%o;Kqw#GbXVRUPFe3<-5Z>vn z@(cD-ZOgQzY#iQDyw8&~B@z3^CvL+c+#*?!avf@Y!2aIivTToO!ps@w%_#@pnb? zE(WmIbs~$~kpbNqgE}CEnV6nNlzx1~YfKRKDKPQowEn3)h()wO8CnI+li%OF>{~{W z67d{tQT{RkzD33k&cc>5w=yD(FO@t?ijr7p?kA&fPyqOkdlCyJr_LuE5kcz?xooNL zlZD)J8ay|(7K1h^V#O9(=gAhfV!V%h-8ZfH9b_nKozcE8`g`AbY?_af)}H^!ssHR+ z2|GLnnuDyFpP_rInf|VSV1;^U*UpIr*8=hil(n&XYeXd72~Lr!|DbjiZ!N`d6afYV$kjyFOINB|Qs2pq@DEA;X3p130mT}w8HF3q z84G&6YI<@7B9$W}V&so%<)~4E%I_3zeHgHQuN)bR%PWv3&+!^}e_24mM(aGB%jcCP z{A$k+c!QBu$o`LM?0zCzuIpq=0@kz8St+)YvRN5=Jr1{Wg}D?}_>JIpNsyB;kMKNX z9L_M}gH|}$*Po~FoQn^Rdg567G&t`aNc6EC&s%jJ4tdQyz-<#ak+p3@HTmo0;-4&9 zELo%-8l25XF|ibAhlZ>^{$T3+i8T2u2YFidOYe*Hid2HRQmJwOyX;zehqZjE!^&C9 z+v8j9lrR>j#>nJf@>+^wUDZHZY<6h>H0rQQj*R-x1+P1n{}fRE*w7mhnt!y{H`amAO;qyvfHiDD5sW5q2ncFzbw=1TA*eUrAPbjCujQVv$Gcz-z*0O zKaQ(9Y<(N_Onoff8bj&BsPCD~<(=*nJ&O)Un>AsWQES4Lt}~fwLccw@v~Veb=b&0I zmQ%Xo%!(%LK2**xO{Jr$U z3(yvnW3FPq)7PnFb=XJykyFKROCd7$n}XXaBs(kXV$im!5tS?a2~RheO~8 z409FR&A7$XX~U6*aVECuP(pat^th92uSTRm(d+5vcI@tcjD0IJG+Gmoi=Yz}GB0k9GoxD=|Ar>@_!g!Db$sysHf_TKy(Gl&wvIb^_f^j^n*>TYF^H6Lt6H#rKplVO(8wXqMh5@AuRMc3Do9 z&R#KR=0}9;-{>p9U6TbrD(^}wMw^YMPCx$lh0l90r^sWt&V`2L6YU&43Y zt8`q+`?{AP)(;L^DqHeAXqNS>ZPRL2m|Mdgh=l^m6xiU)NGGotiG}M4JVl`4O}Dsm z%h~5%@zz5btaxacxq6^eK+hNEQz?msp|N<)CC5QXm7M@JB)IypTSNJAIfwh7yonp} zO81>+j@qNXOUf#<=L*u@gWJd?w(bd9U3P4LhiOn(BnP*1(bd=^=WYV64CZh(osW@ z+$X(b&L)!-DrWCu(wJQvx)lbR);eVwcQ?58$%)ZJ-}bL4C-}66I9xrL$&BW|v^PbT z;r;&bzlQh!UI6^}B;x;>#~&Q=bE$JD2rBL};1v$neO+T6!X1a_T(=*CbN=DrVavmV x&AxK*y5YjX`{mXx1|0(4E2MgKbV5ie{o*#O_`Ttt!{{b1oNn`*3 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-16.png new file mode 100644 index 0000000000000000000000000000000000000000..1c78d96bf8b7a1144eb382cbe37abdbfee03212f GIT binary patch literal 697 zcmV;q0!ICbP)pHYe_^wRCt_)lU+y@Q547T-kq5{GwZgiZGIK`;J&plMc@ibg{6=d z^g$+}OIYAj6um4V^s=-sLA@2?lND+b?n`Ne28ElF5NVL9EC!OhHCx;6eBGJZdz&5< zKUO_&7ykd>Ih=F<4A`NryjAvdUT&BWP);lYoFe1GGLH1uiVs#b%y#C^c&3;jc9a#F zfFT3mDhEJL;wRNX;o*8+LBRECD&(p0iY;OTT3RE#Pk>6&c>c78@7S!}0;nG!cjkc^ z<2+nYl{6yk6`=mt7?qb|ZH1a`0r=f@1IWWRDz=%o%{Xhs6_Y(T+}cWZ1zerddwDN= zQIT}Qdj)99){LQR%`fVaUdX%w5SrBP^ChTLN$Ujd;h~|L2_^fdap*)@W;^p5AT)`i zf{(kcN|95!cOfr(&B&T(p4Au41m9>; z>OoyvQYTJ(s$9zaZmCw?;4yKz;0~%@q8p3H<(`3)?%5+Fa@cb7;rV5q_)9oI3Hd>E z(zMyU0T78eD2RaB!>^SVu2hT~zcA1s1PM8xFO^m<#m-lK+wlskMe@QVmhc!`j2dWK z17Anp!}#L-EzsQ^x4Y0?0iRDpDbTlamQv4HYT{Ecw=hT0zRC+E;p#U5xV$Uie|_nw zP{GlA&5XbF9rRTkqFA-lRMHCDdJR&&6k0#YwrK>@cYa$3dYTwUk5Nj>X-=}$d<$GS fc+>vVYjOSukcb*(FO@J{00000NkvXXu0mjfXTw1^ literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-256.png new file mode 100644 index 0000000000000000000000000000000000000000..d49d3d89908c2dfcbd1de42523ebe39418b95dd3 GIT binary patch literal 15554 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.altform-unplated_targetsize-48.png new file mode 100644 index 0000000000000000000000000000000000000000..6389ede5a62dbe77e287f93b9bff4c7235732ccc GIT binary patch literal 2418 zcmV-&361uNP)pOBuPX;RCt`ln*C24bsopRGdmC8S)jX1F_)ZoY0-bc>b0fjDzybs zTH7LRl~NuBrI%}r$@znqHka#h#`8SS8t?RMYq1m-4r)aZOG!wK=M}9fM!ic+Owr0i z+iO{1*`4Q^`+R2>SoVo!S?niaS=gERzTTgCf1f_H4Em9xzH3xae|E<^6zy26ODZxV zJ~yM@n}~vNU?xKeDlfL(?>rsry37jkE{MtjlUH3zkKkdqDl-Vt8TWyugs=yp z=@Gd}TP1koU3Zqn*q%DdRZJtE$; z;4QkiCqU-G^oYQVKKT^DKb1^7DN+M90UEvJ6JeMIGnH){c}ng5 z>hhP54K=KfoS2i2WeceJO#VC0X6r=@-mu`~^;P=~1>-zqepT=pAk+Oi=Pvuu|Hg`xO@P;wx`Iy-! z%LDj8$i_&X);{u$-Q3Z$D_2gn?eIuRK+UJ}O91~Yfj10doB44iR)pYb*{^*P@K0>- z*>$IwDsW^hSwQum`~ukKImxFHcrwe>mt5?D5MSS(3E z&7gb~R*BC`lLTI$TOuUNJoXTH^>br7@NjE!j(_>c3nOU(HG|R-u+0&15pCX{)^yD+T;wEu`csqk#Us+(ygj);T;sxJngFf7$lAsp>-kj{{I}wa zzo0#T^?14g>4VwZz8WTFkm`PWhw7*F19FCQX!e2w_~JrtQ{PUcv4dF$tM8*;9~G`1(0aY z!^aMQ2*J(2tiS@m42dA{Y$n)7)&D2W0Q>{|f1^$=X{XuqdLsDH-r3sZOsZ$Rd0b7h@QVr{(Yy)&sr+J)6+FTpOpOK4Ym=&|6t(1M z4#hhDzJ95lb>YV*Z-_`{kg+zCA|jA63mz&F%@ycE@S;y{^KQfyOMy>H0Ew1O&c*|S zvJ<-;4f0L3*t;d;^H|6IqF-!bTzH@A6A?|DMi5;0-3&sxAi@FEMmT(^$6~uG(FyQn zONCEb0Eshs{BQU62jA!@bp8&DoYYTB0hZZB*0fHJ`v4%B=pWfQ)q^W2pDMXtOx>cd0y#}zT-+!Bb8{@ zNuPjNv92%p55_IjsuR*&NhNZb&A^=?BEAnIw8lvx=W3pYjs5wI%Unro1C??~#kzK? zCvJvuKA=h`*=$^8!`oGfc&Q{J{Hlq@9Rm7!(0spTJ-3_Mkb36luDiU`=aaV>i8c8N z0vfw=4gIU94>h+`FR$rPq%7d$trY2x)nFl+%@&>t-3246if-CNy+gn#Ffxj+p6^Ev zM%c+zHuXxp^e8&saQg~dB!-HdPv6@YWLOXM1D{CGm(y)<6oL$DVh6Wo%~>V?a0zN`OsPMltvdZhp-{E1Ph?<3vgQJ-ECKN1*mX2|t``|HEGq!s zfNix2Ln|Ub(i9P~iy6MV1AMgSwhACIR3wz&a{)wngnfo+AZhHnG2YP)@Die(0@7d- zFbFs`SJpsCoPzbUtCZdUcAMH-`^0S(K;nys@Zq&rlSFdkx{7l0dw!Mx{h;7X67!_fVtS1Urd|v9vg_3oywX0 zCp4|Kt~%M)R^%aHBV|ocrQCt0E}GBUZi3gz+9%P|d29ZLj*YOZiYYs;Y2Ny}WZGKE z2i>|NT`6HvZa2ldib#iryJHQpQEP|r+d}Mw-A~d_oY0K6x`xFXS=p}|bRJdJqGLOm z9MlUPbsK>rW(uF{%m`1JcE=`mdYUdfp&H)0rETid9(~U!TItI>7({(Y37#!Tm1a?+ z`$Je=#nfRRoq5NvQQ2_;W$F#_X6zs3+bZbnZzQe!&)Xfc*$fNnwT2#1WQ+Ec{YxVo kBm7HaQXpK^+`lQRCt{2*lTPQMF0oz*|~kp-lNw$$}13}sQ3XB0Wsx}q9Em| zysWfPpcIMJ59k*qiWtR|Xu>CqUr-bj=u2v81racm1lrPyBt#O3pgg2Xk>2}uXW!1= z^-3R*-1Y8kNcvAMm)+T$`Q6;y?99^OAqzd&fMhcS&UA*rnNCK*t6Oz9!>H8;fMYdD z={|3emrh=gg1~}kn<~iV2d491BvNO_z-t?QP79+Q zlD-l>Xm_IZW&~W&*kQ9|S&y=Ida7_2>!#4?QEpHaM8h}`{#)8r;X!4|)SY(lE7doV z-I0BSb+8`Mi**Y0#sY%n30Cw;dk^F$hc%N{a6!#QCTsl22G+?wFLd4q3n&o9dZo(! zxu|p?ZKMsntlEH%N8~!r$>ztg(R7OmHiv`Quhj0#MXLtdPTIh(@yd5xHoHh9*uG_^ znT%P8ee&VZwL>dXX(uh<(pFrFT+DLeuGD7;#IXD@1aVM4E?mE|ysogY-xo?IDTCLy z;l0Ss6$zb^$?JtNh?aMoSoKuokB%j^g-|2 zX$S9OHwj)7t3Lp%UQm7Fyo32{FiqBIk_MNwO63Imw&;^hYripzvI#b#ToM&&ZgsxX zn?7nRNr6kw3Lg;c`=VdDFP1a0f^t;}2J@?D<=jaxHI{_IYg>fP$jyI@0|cvS{jp92 z6;Zt|2DLc^+a51l*%*8h4R_?=kl4Rc6#zDerzO82R(Wh~X#2o|gDQcxp3%irk6o(V7D?5LJZ89amdt`FRMvpC5zQ;8ldOT>{d*f5tYUCO># z#*UySs~t*M%ddO^U5%F&H;J=p8}mJ3Avq$MHQd9J4_Y`5s94qIh_<9A&vrPi;BRxS z+t)S=8XCrbA_V|6heWhzO{}VR$^mI!#Vq@!`1R|~2r~>D(?AidB6i)Xjo2E~G((Ps zfYJc@k_9z+C}C{E;3#^!_0u&iB1i6AA7Q@%8N>ojQv-@1&nMUm@$0742XZBzJz|9x zn;0gGp!iP`$FdBBGz4;3Tv?rGtxE=*6xhr@55H~oS&?&$M(>GUvaty%3oB;Y&UIrO ze3L0VfAlYG$r>wRoq=SG8a=QK11+2d-~e7%J;Pd+EH-Jdnf=rFEo**}XkAiI6Kr$* z{L~*p6Db>ajA9s9Fc8tN6YZlm3ecp7H4{tIkS5zC!G|~2dtrYJPXdUoCu4K8 ziH)8lzrTeHhX_I6zz|Hxwg_5S*-|x~|2)<9QU)6kuHi;7o+s=cI=2k%SoDO)`dOlpYx%t)v zS^ltovHyzqCu7v8nT8bBdv5d10}2NKg`CCos;?!rV*P7_3N~|l+Y%9Y-dV&xKJf&_ zIi?w6P&fa8dKa23d~_iCAwbUcuxPieS8aG>P{Gl(>;>q`Uj%3X75nW`Z@J4V;!E@_Wz!gnZ0qXj_s zZy?&iecT#N<;G4jBfOZ-Dux literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-125.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..50faa932851c251727b33cce223e75c4ede7e993 GIT binary patch literal 1893 zcmV-r2b%baP)pM7fD1xRCt{2+G&gvRU82D|C^c4wLRG73`_W`xX2mV1%iYuU}8v! zQNyu|8xA8z@!;}{ep5dwAVfp~(Jh4qH3UOoVY|y=K=~vJ8@~8qqsXzc?Y7-^rnBuE z-da$x~=s6~(oj9~jRP7$7$E}D^L&`VL;{QW)Q^u838PUF9L*So*<^020i!SG$Qlil%$VX=cM#at zQray$ZiP2Aj&lhe9Dyk*805)XDq{rZsh75t+ICrS6lSj>rC7y1Nit!SV$Pt@Buw#Z zJFS4xC>yT%a%ij|iC)_y!lXpTb{?*mHe1z)vf!G}X2Rf~U^OITK6RIsFdCNQ4A@u$ zHZ7I0?BQjMH&ezGpSH_gFTHJbUo6F~y%Ze7+QkkEi{ybBVIE^X?Gtx{U^$G2Ww-=P zq8Xd6_@g*)C7NJrzqXse-m*2T8?I?9eWr|>5G2a+8|a0Mx!WPb4P%}=op)oZ@M=kb5^9V*GuYc zfl)AS{gwV|EJ$fs&N8H7f<^kGd)*a=(I^P_0)gpb6&+)9LbZHM>5W%oCO&k0vQC3^@<(88Y$O;5&c>`EFZDdK3<|)pNc+$} zNthkzF>Qj)LOr>zC8zs{FS^fN{~&DjmB>7sWIK&m)~OH10kPcB*XWsr!163GHXt*s zy8hS#>6=1e1>tlJzZ<$8n<~|avlM@h6V4Q@It_a@`#YL1N9M8;e}=-efuW@Xba)_Z z49_$4ASyoPrQ-`^ccHL?aP9^2AEca?A`m;oQQ}NBwcAf$rXsM>bXJUho)dO4Fqf5W z?G!c`&H+P12Z_QMo&hbOv=j>~2uI`SB4;021{UjpykfODGo3*?#t1Cj7yaUJgSavK z|1D}KFsIzku$)s1n@)k!2POw>Kxt`PP}rrsl5jK*FLC)u2AAl%bgi;-pM z9<&hH2ifn>IvuEIBnq>+;*kjE7=XW2O2JS|kaW=DeGM;ENDS>os}>emS1L=b}BH3vGZpMY*Y%C z9$qNXU~e>0mXn+|29dQaN?>jCr9)Qt#ZugCul5vT;SwNDpfEkxHYN$YA7g>TY;2Mi zZy~TFR`w$mmg3?V`^n1N!wT@2uH^ZUv7sg~j)iMyucC8Tetg`@KA6K&+_k0RZ*?a_ zPYX!z#TH%SG8VP)A*4XHpmIk6@ZD z1J-c?e81eFFu)j-B|*nX4Khe{Z01%U)MH21mvr;P9A&$lPJvTS4K#{6@^Uru)OdIh z_qKOI|IgQfbJ`)slC_RO^wufi5v3X;dpPG70tBmoWxWw{bD8}f0WRiIywiXAM&12i zyD^M*5*Rb|A!D7O>jgGS6j5N)0X^o~Q1pGdRFwS|76pn;?!_2uov3!=6S^8ooDpQ5 z!Q&(lQJ~=3%B(s7_-JXsirjouJ!|g5b2}P&8{3HlM-n(RjpFpbQY9LsCAt+>?$>eK z%iD`>w{rKyPi(%+H0^7QVbsM4jwxh};mrG5rqggDBnN<$sB0Uu@*n}Of2WuxD|*9U z^=!N=uH4fYBg+JmMomF6HSvb&EFt+c5pfNWeav=PdB6@)$0j(j0%w2c!=mCp)ll0u z-65TAZn(zZAP6@&W(eQR00000NkvXXu0mjf=R=Dz literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-150.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..f0293ed8147c619a36415f1b742076b02a69378e GIT binary patch literal 2515 zcmV;^2`u)BP)pOg-Jv~RCt{2nrmU_UP-%mC5$9@Qp!x5OgbH=-%2PY!3ooW zFM+00+R1~bjf4ph2(R!6A-o}lG-*Nzgpgo7*w}`~ebb3yQW(a>*knkc;ZtW4Cet)P zQcHeG`;vBh?(RyK<+ZS_UCWu#e_$kbwYz73{O`HvKHR7%UG72$Fj`auVX6qiR1t)! zA_!AO5T=SCOpQ7ai>^rf+{8UYj>(qiHS<%=IEERFT)f+-^ho>bANHOc&T~f=lP=oL`AFc3cS#IF(M;PRaL~$qgEJ9(Nh>>a1Rn9(xH4I zP!$|RMVs)lx0GxUqY8yUoq%&OKq)6s2<_5abq|qMcEnLo5Q|!ceS9g|WI#yj%^{~U zAw;CN0m4eVVksDiaGUTFS4uXE9YcV?m=L1UJ0~9`&)6AHK|q9Bg*~K{Y|$Yk2M>XK zhecvUItCDy*&Wk}g9x=syWoYkQV6OA1T8y1q?|w@bSPD|50a;yh-*YagxjPY&_!+^ zsuOewQKh9w)DP*ye@r?+GP@DK7 z339uo&P2)yI9Cs8IDr8taI|-*h2{`)I!4Dqgj&TH_#n5JLQs>5oXtVc4;c`|s8k0K zDx8jy%25#EHt~59;C?H0CHo}C0o`CiAchkf0K!5ip3B+`~eca^Id;c17}*LU+$yi({GQk39_j=|?KOdB4MC%S z3_IMu85B|nJfuQx^IfB*c5tagkBeL#X>7toKVPiLZ6k+*R& z(>0VUQyLbC^2@>!&QFdig6;&B85{&mA;6%kDSnfkUGo%^u)KGhSoOsX_2>8Tig{&! zWws-|4s$)ih}Tu(k)@4rsD3!_G-MEq+Qe0ypF60;3@0#jjxmSyiZRt3y5w`Wzy4zO z*{3EbR=+L3BG!^pZlTf*6Jg8Kl z89&yW13-{FfnF0WKF}y&e?1Ep2O< zO7;%@RD=_e)mythgdp z1B42pU5B6!5(0+ejSkLsoGQx?0@bi`L~WVxX!(aROoHCG6mUrYWN8#jMsrXu#1zkC zf1JTsLZCSTAcTZ=IpqZ0=Qi12O(*COqVg_)uzNV~kgZ|&8nqAmjx216VLsqJM3?9? zVbJCPZ5>Hn^2Nx1*~iYzW<;xd0EBlTfi8|y2#^8?azgJhD9CAZ00?44-gByq+d16$ zvz1pJak9*JxV%MRxBxAvG`*mr@$;pGLTFA#BEL8@d%R$E?ZmV3qjxxN$+(CN-cgZ? z28Ljy8xumngQN&ejNJBoV$W9Im1S)ie`vvF5u5=fHe`D;){Ug@#HDx-JFD^0@o}qb zCZ7|JxC7kMJGVt7c{Fsd59=7r{Mtv^5QM0>@6=R&Yrb)3%a*Z5-BfaLVT*`MzR$fL z|5|QyiCwcAr{5E^`t781;$eWWT15p%X| z8-1QEBL^z3NZ$ytjt}0OKCZ{=H$OcWKjaB;D=382Vy_$icF6RVRdk;h>ytR?g2`O$ zWrI3|R~n}Bo9&7>Tei+e)J);(20AzSZ2X`*z^{}60@5M$<^&hKf7FC=uQ%lkeVr3? zLAuy0{{B=Mzsb&6vo#{q`IDOB2V6mZl?lOE@kV{qfg3X!Fc`=Q796f zgbqO)#Nf;YFuFY)y4w2LXa5TSXha}TISS(b&N1h2qS$s%z_&Zu4I}Pc>z%Z!gzVtr z32Oi3Q}pHKs}tDyRn>BRW!T9WQ*solT0e7lElhndRF#u_=ZSwz9I%WMWxOWIuYjmVRnACD%Xd<{o4YluFdpqpLkYa+OF`ljgu z!h}UC=SE4WA2i&XL()5FL>_pAyIE8%a{en)kNLm6?Vo{uw8W@PjkJ%K5-N?(sgLj6o&p3iR%B%Y~!6Y1DwA0vK!D^Qt7o^3zqh|5RuH z6k;4;6oJ8R{t>l9q?=3zoD<2VQ3Zl3(NH<$2^c%}6O1|#g;EiOsUiqdMG&TnAWRiO dm@0xW^?%+OX$U3ZWQ+g+002ovPDHLkV1kmSq`UwC literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-200.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..e54a56dbca06bcfffc2561ac551ea5dfd58afaa0 GIT binary patch literal 3239 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 OV6ZT;GOjgp$NU#Bj5MgPpB!c$GVm! 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 RfhYg~002ovPDHLkV1isQMO6R* literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-256.png b/test_project/winuwp/runner_uwp/Assets/Square44x44Logo.targetsize-256.png new file mode 100644 index 0000000000000000000000000000000000000000..50efc008dce6f8096c4c0394438f00c8e7154cfe GIT binary patch literal 10408 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 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-100.png b/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-100.png new file mode 100644 index 0000000000000000000000000000000000000000..fcefe81ba952544e550afe6ed2b97837fb2ce465 GIT binary patch literal 2370 zcmV-I3BC4-P)pN^hrcPRCt`lntNvcTGBGCgvq_KsLOtMPJo~ z_b`Kzi8tGnap`#L!`6#N_n8YEXIgW8B)vvT*?J|25Njjxpc74-@`^A*#DUP*m(qFJ z&R{$Z=C0->?wq6{Tks5~oZ-z+^qQP$%Bi_j(|9_;Dt!1Px-ScM!q-s!j1p?YG zdS#@ks)`sr)YLc7OBiEN4+&oB)N~NkW*nr-BfM-aB|Ai)LLsOUI2{9uDM2BIrMFrh zB3m-?Gov8u28CmMDcKc)2Xjo1QUhuN$*^I zkUW!(zZn5>4GKp{DcPe#gfoXA-(ivHmCgaghHQNn9KIjN+y@W`#ZetXoen}DC!m8- z2&jn*&5KBNKK=^=;_`?u5+`?98V$vi!09?{Lu6CsS%&_E5^od9A)?tm7%BCm*3SXLnJLAj2zTV9jL zsS=7hA%bQMq0yfRgy@t1)bum<$@I$QZW)8P2E?tL!*W6%4@J|7E_u=`5lbh4_{$Ie z#y)`-%?t#!j6l})3(s;6?hQE*gP5i}=~6_x6O8hI_1|V6KYEl&JGA6$(}KWMd=s&g zH354FAU_GICr}sIA{dM0G#t`CwrkQ$rvk9{o{kWon z@m)vOj)jch=o5w@YX^i{&Q8uMg06(hWCnpL1WXz`gSXk`O;0f)!)JTMhA(cZKfjMx zqIV`+Vjk+_sOb?#yr~k4EbWB1S~CJ!=MlGXcJ8DSh$z9(HFi1#Eukj-a`({JUo7u> zYMx>UaZPL{rCg;vj*y9PlR*-QCOI@A#FZcv9FkvZE4La#7=pk9aYm(}MLw*j6F|tL z@(0?juYT3#o@co8R^<^da89mL_@AWTtR*_p41T2!OeVxyEhsP~?Q1I|N7KcV1ajda z^2XZ!fJhwHw`p#GDv`B?HYE*olE`2ujmkaR82ig6_x+L~#5J)IAgY969YW0z0>j`- zCzl7>%hN*`f>3KNx1C-4VE_}S^(_SyN-p-uU>8Xzr8l5h9{b}G#t?$m1VFfiVL7G* zp7a=F2&6;! z-h~EG9i$LY!l{&)cn>BtG@SrK^vXxt%ejM@K%@nscCp-cdTqbJa1J^kYWjdk{qv=S zLiB~b-d|i^K36chcYas!>|Ktlo#T~3I~A!YHH4N3;jkddOADLZpDDz&Ak>=6`BQ5K zL{J8%D9~+4i5W>_p{v1hc3H=xbAv|rEbJD~m>t~uyF((9EE>AkhII@r0|>z<9&0b- z_hti;5eT)GGIFxAU&O`V=UxwfEqhF&e_2PxJprT7F6b6d1H?vUM1;<%A|EXcc#Xp( zEM4LdI07Mh#g_qMPqq*lgHXFzPEJ%^lfDrGBOkn1F=yQ9Ge7MPp0YT&O%x)wS#5@Y zBQgzHMfX{;z6gsCc+t&j)~Q3h(pJXr&IKYX5Nb_}xRzAc7IpxfTUx18+h)ZOoafp$+KB{LXR4;PV2tVsDyQ8r~#14 z$|E17)17}_0SF7ycO;>vRH~dXiZE|?v#T3bxz+vcA1hG1vDCJIewV&fEcO{ zG4k=J=x%o}O(#T`O{x}I$HYf?fI-Aw12qFMHS2TnUGNjD8;|n)e$pv`GGvbi)05GU zZlZ5Gdl4oqQaLjU!}y`$i5iNZV2L`+)23DD)o@$&#%%r0$Qk0zrTmKv`oehp-*tD%3q!Ew}V2hHT4vR;T>C1 zNQxaOCaoGL{|(o}GQvgo)T=AsDMH2SCiLz`!;QaL{k|5!)R|W`NQmVtR5^L6pIkzb oHyA}=u$g~E9TDjvk>Q%?{~y$4P53g0O#lD@07*qoM6N<$f|9~XX#fBK literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-125.png b/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-125.png new file mode 100644 index 0000000000000000000000000000000000000000..4381be777f8c9cb537e8b52ad4fe785008d91772 GIT binary patch literal 3229 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 P00000NkvXXu0mjf-k~wu literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-150.png b/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..e49390bf3de46d97dad9ece51fa8ec80e869bd15 GIT binary patch literal 3739 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-400.png b/test_project/winuwp/runner_uwp/Assets/StoreLogo.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..d1472741ec5c969e0da6c2979c4b4b07ab3b0b9d GIT binary patch literal 10759 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

MY- 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 PT>!@CEDWmjsEmID&pRVU literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/WideTile.scale-150.png b/test_project/winuwp/runner_uwp/Assets/WideTile.scale-150.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b275a5731f374ce9ffe8b03dbf157b2a9b473a GIT binary patch literal 5001 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/WideTile.scale-200.png b/test_project/winuwp/runner_uwp/Assets/WideTile.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..6012579815fa4a18c7d12e900b629c6fde5c8d8b GIT binary patch literal 6866 zcmeHMhg;J7_s1-o<}I@_bKI6Cq1{Y0P04#ra%VXZHO-xfhI?yTnfqSLm8h*QnJJ*)NX?0Wd*I;r@%wLlf6oISo`?5&-kkS2@AEpZ*CG0eAzb*xr4t|!NLc5w z)>9DZkQ)djaQm1L@J;A-?jZ1S{MBO%FA(T-%fVZq!=uOn1iJJ_M@!ShKa)Kg^wG-a z_0MIdDRq6$uF_|NsW*x|NCFjhnPVhD<7+lqn&rk zSb>=qel%)Z_=A-snJY3P$<#-O1mI~HU#Ca#wB^_JD|6m{l+q0|AHTUb97A(+pV`!3 ztM_HEg|Ifb`wP;&o4cVttb!{bP(+IAkSGXb8yF!Bl6m$2kN=4ns7zu*bGPPARM#1u zj{~@P-l?!^Xeszcu7i=MCh-aRMa%I~ksjA$Ki}UN3cuRfB>FZZD8aD2>|E~6^xj2v zjRD(?#d>qe4FAvIm`c4|7rJ7;N9xlSm^+#T$~!Fasui(1^}}HJ(P(K@j>4mLUPHQ) zax+bAIzhJsZ??;8uXdo5?pcH%2TZjt`sY?@BoJTkcICTNE-rjpb5YZ_hcps`2?#;P z^`Y>Vv8JhfiON_q-9QW_Nf+y2Bzc<*Sv2^x9G`z(+bHv@M%1n81-fVIEkD`%M~G=? z$AdP;P$zO?dh#7}EXi73BXdO@~k4Q67HD$wRbW_Sk^%yC-vkZ_^D>0%f2)>g|H=xW2Kj9c(%tnti- zIi9j#PoJmME3LC`O}~5eOtmTeI$sDw3|UA8MQF0{G*|TWCon4CLj?ArVTlJjhiV!* zutfK4OwI-YmiI29s4fj=v=eH2n-A1JhIX{1diQVwmOzl-05geoP_+PyYb{mTjJ0Oi}N1{XRZ~>9coF9VQRy?+) zLa2R!yTY*w1t3IEg`~jy0lqrCsny0xGal!pf_EePwO3v1r8`_8J^y)c&sMCxK5wLd z9>pFhxIfKJXhUNB=6CwD*8(uuWJb-YChT$O&%Y~tgO(YKlWT=BWH1_s?b&)4iAR9h z^6K|?yJq_+Q%Q6&XCKY*)4#brT%u{1Z8=;<<+!&Z(Nfi#v1C2i&@wZ%mof`j&1^(~ z21MN+eitHL(8#vVtSwU+LRgd<@RU%Jdo%`b&fM>#5EzE#3}JfJJ;KlpA6f*v-`NUA zC@mo->}wyTvtlEuMbC>#ds#If&{4F_ofr3Lx*{SXY*lC0%DD7PZVV_32#^eJ^!b*H zukj3_O+6k_daqiO^#Pmj>7lVd3xc%|eHr+4gS}Tk#vU zf^Eo-xN)W)@5Cg9W;9Icw zU;Ep`jKdPYy&*DBgeA>$_w52)oba@b1!VA@>T43o8z$K|_uT#4XkHhhm1Gb=&CSu= z73yIFsoPyEOAUCaX$p}tMjH~c&Ww+VoNg2k2yh6vj3P56&)UiZY5R;MK==(Rv<4HY z;zvZ!eEY-opakxFM z-UjOv>VvBlW*{si~Pwlo!Nr6op{S z`4)l8CV;6jiZo4k+^JN)XOFv=gE!lc;${D+gmj&6xDz`8It^s5JC>Mu{^*a8`SoPG z5D%>6+(`^`ObFe|cswnAQq5O^89dY9R}Gv?6M)G3$`!bpx}X=l0#`+vE(R;PHGhN< zPi$Xcyg}@Q{iUYYMam9X^CDb6EprU`^=GBk@mSr>e2=o^1!KqCwA25J;>|781Tucv|%A8*O`h z%1bPE8r)~{POi}7K4h~m>*6JuYZ1b8Y1Bk9dHva^<3;qkNd(yN5=!zoaV|NTsBhyX zu{QkU@$_1J;Y>FB`_g}%fMd7&m(=PA7%WxPnD}IbtI5ey`h!-|)(JEB6;WXNGjg3( zgT=#bk3m19ORI%*au#~-*+GnN={Ho;ZtY;PV&F!((`Kn?RdheBXZVP~A(^3Y5|-D$ z#H0X@rx$Ln}c!hOk$?jbO>e08o?^kY|P% z^TcdH&9t z)+Qs6P7`~hC!gxUpWig(y~pZYb&I*H_HzOGV7AOePPgD$|IhMO=~2(8eY2KXicKob zLRAhwm%kqQ=C-gA2ua6wH+LdK_{rGiWa885ZI#ohXpMjgSe5F`BmU0zm@A3f(EW8S zdRr3G$}sVI@bh>cKIM5@%n7wsX;IWe@?nYZp90M*OTqtO{dirf3+1Q3Xk+swz^LiY zlW)I#70)oT*b1|h^qm$YW}DcotIZ!Nt|nbZDejIiG&*Ekkr?y+sSKmVZL3l*p`jdG zLFCH1=v_;57}DR;&uAgzo7)X4C+o{jc@f3)K?3o}aFJPAJwjX#YR4|bC4{UevTC1F z&UGMp9}Qa>0!EUF#0Ha(VfXppAhPShB%-*WzF~y`gzWfog9DZlZ@5X3@q%AQL&CB; zO#a#EWZC1*iW@$TTR-qxm4!uK;W+iGTTJonejMyQS)Zfj<*Ys~75p}WyIT|5mc-q1& zZKECO_i@~`&V5y<)~H(5Ib0CH0!#P%#hVGH%$QW~P4CfcedmJUxt-VdNSfrJgFXGu zAB{3|)9~pZuTs^X(mB-M&tG6-un?9B*1+R7?R*=4(?%SE<{Wf)qoX_b0y4UW^vIX$VI7<+cNVLM~66otWF z*S5!1>&@}odKMFYM0|dOs)gHS}el{DK%@_IPPXB7Nw`lH$mma%FH`vSU0;#A-#=I6iioB#2GW-&G&m(pu& z_0*RY;9?wrp4G4P27io;QW(sgOaFrO?vBtJ%<^B?WokG9ZFchxFP-@Hf^t^c&SRjm z(jWi;MhnYsj(E1^ZI`V@EYkCUs7RsK7hd@o&1c3JZm5r}{LCrx+jGSz(#FQ#6EQt5 zrP}=pvRanxaHE&7pA&e5p4M>NsBx(CL^)KUC!}Z^h>B)~fY%Huzc#~MBgx2NhoEfM zt}y`c4jjGYYW~DZt%TA1HVh(i>F9VygZa>>g}!XqAGG%C?YZpqZ@K7CV%0CJ4X3`l zwIW}@m-R5%kcxv%0dDT)+M-jNVdfs2hf~-gnm{E?^^$`Fj3(;i3vcggvhsjCIr^17 z8e7R7g3)dW(YJJ&1pEFJS1n6)opE6Rz%=xJ7z4t@#sm3j?;*=e$OXWbnUQy*UaWF| z2bB*&1~ZCnlF41r%*v%N!*QY=j1(1`yc{=8mDaA53xSb-Z1Bd4tKrUPQQMMj3Leit zh49^GPJKTPbl(frS%W*%dX4LoSs8sWUhVMi{=wk}M{{cZ?EnJNd^p}k;-wbz6@;fu zu?M3?Ltkp+H$0cY7%asP>LoM>=$Gyciw;KQc02}ajT|#}*?;gs_Hld;!7m?@K(cSo zMKj3oyyMKzYI-*D_H1=Ry5d7wfI7N#z|tCVL70t7Z7kJ!tDI2a&dQ#8IDQ6rDl0 zB;(orN1}`TbW|@58`moViWK_pNSb1V@UcIqhClboU#hL$DH;)*PAy0v`u>TYlmWsS zlgF-gxDm+atn}CkA4>UZ|U)nE-3UzHb% z!QLJ2%Nq~oA2kka&K2vI80Xne2!~Z%VelFzdaZu@>;(|>k2$xw+as9G#A{DuJ;RJg zMd4<|J(p5$wH7^&SQvI@kM~7d+d5k7Tyj)incKMKfbpJMelmX@>(T<(X4J_%i~`cB zVpKM_y@(fyyH>a36*gvA#g=vz{-#3nRkCC6z}`p2b?D!K_dymDl7{!6{m5^n%{)cATVe^tno99^FH^XS-#hfLrg*g~`0HJqBAmFU5wMIyC1(4^cnPa9$2Txm*t z_sbuvzV*Z;F=|ft-$^gl&ZD0$RX&b8Mtbmm^?a&wmgs0DX$Y@;_>LZsJjMs-X^oJ@ zy_RTBn|coRR6E-QXIS?GYFeap&kk*LmB!(RD$>pt_aj)YhmlntRZ1P-xG`sk_Xo(a zfBB`Fhb`34rLeRlUOfRq<8OqU+Z)7Ss`Afo2G@(DMa>umCyDPIxA}Cg5e32sv<{FT zzuIJSpo;xH1GqU#B>0rej>}a>E^n|uW%1jipzM9eH6~dCZx(xYbhJEyIO9At`9ZWF zQBOfa8p(L|x+`LmtGG_8O+b)$i&AoJa3bgfppt%{E*7Kk=ZAJyt&7`+VYtOWpDHE0 z+rtB*!T`RJ$(%%hWXA%p8vv`s_(JxLAZPd^{=A)YemM#5)$QeCLQ^g*HML}J9l>*j zI13jED^Qi@irHoYdhNau?mr=GLpxC)irdtsKV3vm;i0>$faLSBF)63!mT6<#!jyBd zDQ>$u_xSGb80T*6Sy?GEczp&G&bptO{E%m;_w04z{h&zD&VjG*mpuUrd~z;EcU?MjYE=j!fy)v39fnBvsLO{ZYQ8CT>zc8g9SCHl+vAt|<+f~hpm zX*%NM*qPCQLKnfAw}6KhMp@KVY5vdG!RD^U8%7KHH!p1uE96~pZ&WT(B54K@jPFar zk#c9KFB#o+5kl^TD?z6a5_GGVtj5o*bmfuf(F+$O=iE)h zeGkSNn;)K$Vc!WW?ON+ad1Dt$wY3`y(Lx!?M^6xE?mwe^55Dr}_}gz?9z1Oydv6SQ z^@vL{aFUZ(C1?~FVWC~iynvg?+HQ8?iIf=ZENtBxXdEk|1h4*K#?`lO2-S0(N=~g( zaSRtfn55$#!bbeW2=;qi|)-mEtb-e*ES-QuCd=CSNJw|~K*fLGNDef5bXT>wd zt7-B8*hAmjai<)(0s}8!nxZS|@M^e%kyTxT88djgMBGr!R{LNeCx=G(`S4aGM2$&d z)?P>4PAG00CJ44Owz_&G&hW|~Tb+k93&8YlK==T2nx+?}RhZG_`7XM0F4~sw!qO^= z&nAq&?su_NKaWN^YgmRC0|BitWB5-q);cA~K;aF%FHR5bV#k?NZw&0}TaG{Uo~OI^ z&y<#BE;|Sm0KnYx{AEks>$Pd+>kGsCrUU3iXt%2=dfXhI_iC-nhfbBR{UU{~<&~Jt zoUDKWL##8p67(`dTzxU->etS1dFU9mhnwotAh7p(h>eGqWf{MdF{jHUBQx(dJqKna zb|z3Pi{3_5T6K*C8v*eAeL#GJFch}4FbnzPdhf7<}&C;EgzEscWM2Lwz85$7t z*<91Eojkt$np=I>CR_+`6eA}=-y7cVa9Wx(4v*BX5C9zpbjkle{wHF<;S1h6U3GjM UwD|=1lM1Bs$WW{7Puqz91ABlFQUCw| literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/Assets/WideTile.scale-400.png b/test_project/winuwp/runner_uwp/Assets/WideTile.scale-400.png new file mode 100644 index 0000000000000000000000000000000000000000..73d2461cecfef8227108b9a6b3bc0ad6c736d4e8 GIT binary patch literal 15332 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/CMakeLists.txt b/test_project/winuwp/runner_uwp/CMakeLists.txt new file mode 100644 index 0000000..58af301 --- /dev/null +++ b/test_project/winuwp/runner_uwp/CMakeLists.txt @@ -0,0 +1,127 @@ +cmake_minimum_required (VERSION 3.8) +set(CMAKE_SYSTEM_NAME WindowsStore) +set(CMAKE_SYSTEM_VERSION 10.0) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED YES) + +include(CMakePrintHelpers) + +project (runner LANGUAGES CXX) + +# UWP tile and icon assets. +set(ASSET_FILES ${ASSET_FILES} + Assets/LargeTile.scale-100.png + Assets/LargeTile.scale-125.png + Assets/LargeTile.scale-150.png + Assets/LargeTile.scale-200.png + Assets/LargeTile.scale-400.png + Assets/LockScreenLogo.scale-200.png + Assets/SmallTile.scale-100.png + Assets/SmallTile.scale-125.png + Assets/SmallTile.scale-150.png + Assets/SmallTile.scale-200.png + Assets/SmallTile.scale-400.png + Assets/SplashScreen.scale-100.png + Assets/SplashScreen.scale-125.png + Assets/SplashScreen.scale-150.png + Assets/SplashScreen.scale-200.png + Assets/SplashScreen.scale-400.png + Assets/Square44x44Logo.altform-unplated_targetsize-16.png + Assets/Square44x44Logo.altform-unplated_targetsize-32.png + Assets/Square44x44Logo.altform-unplated_targetsize-48.png + Assets/Square44x44Logo.altform-unplated_targetsize-256.png + Assets/Square44x44Logo.scale-100.png + Assets/Square44x44Logo.scale-125.png + Assets/Square44x44Logo.scale-150.png + Assets/Square44x44Logo.scale-200.png + Assets/Square44x44Logo.scale-400.png + Assets/Square44x44Logo.targetsize-16.png + Assets/Square44x44Logo.targetsize-24.png + Assets/Square44x44Logo.targetsize-24_altform-unplated.png + Assets/Square44x44Logo.targetsize-32.png + Assets/Square44x44Logo.targetsize-48.png + Assets/Square44x44Logo.targetsize-256.png + Assets/Square150x150Logo.scale-100.png + Assets/Square150x150Logo.scale-125.png + Assets/Square150x150Logo.scale-150.png + Assets/Square150x150Logo.scale-200.png + Assets/Square150x150Logo.scale-400.png + Assets/StoreLogo.png + Assets/StoreLogo.scale-100.png + Assets/StoreLogo.scale-125.png + Assets/StoreLogo.scale-150.png + Assets/StoreLogo.scale-200.png + Assets/StoreLogo.scale-400.png + Assets/Wide310x150Logo.scale-200.png + Assets/WideTile.scale-100.png + Assets/WideTile.scale-125.png + Assets/WideTile.scale-150.png + Assets/WideTile.scale-200.png + Assets/WideTile.scale-400.png +) + +# Configure package manifest file. +set(APP_MANIFEST_NAME Package.appxmanifest) +set(APP_MANIFEST_TARGET_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${APP_MANIFEST_NAME}) +set(SHORT_NAME ${BINARY_NAME}) +set(PACKAGE_GUID "35645FFB-D921-40BA-AAE5-149BFDC3ED2F") + +configure_file( + appxmanifest.in + ${APP_MANIFEST_TARGET_LOCATION} + @ONLY) + +set(CONTENT_FILES ${APP_MANIFEST_TARGET_LOCATION}) + +# Configure package content files. +set_property(SOURCE ${CONTENT_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) + +set(RESOURCE_FILES ${ASSET_FILES} ${CONTENT_FILES} Windows_TemporaryKey.pfx) +set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) +set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "Assets") + +set(STRING_FILES Resources.pri) +set_property(SOURCE ${STRING_FILES} PROPERTY VS_TOOL_OVERRIDE "PRIResource") + +source_group("Resource Files" FILES ${RESOURCE_FILES} ${CONTENT_FILES} ${STRING_FILES}) + +# Configure Flutter assets using tool generated install manifest +foreach(ITEM ${INSTALL_MANIFEST_CONTENT}) + get_filename_component(ITEM_REL ${CMAKE_BINARY_DIR} DIRECTORY) + file(RELATIVE_PATH RELPATH ${ITEM_REL} ${ITEM}) + + get_filename_component(RELPATH ${RELPATH} DIRECTORY) + get_filename_component(ITEMEXT ${ITEM} LAST_EXT) + + if("${ITEMEXT}" STREQUAL ".dll" OR "${ITEMEXT}" STREQUAL ".pdb") + string(CONCAT RELPATH "") + elseif ("${ITEMEXT}" STREQUAL ".so") + file(RELATIVE_PATH RELPATH "${ITEM_REL}/winuwp" ${ITEM}) + string(REGEX REPLACE "/" "\\\\" RELPATH ${RELPATH}) + string(CONCAT RELPATH "Assets\\Data") + elseif("${ITEMEXT}" STREQUAL ".dat") + string(CONCAT RELPATH "Assets\\Data") + else() + string(REGEX REPLACE "/" "\\\\" RELPATH ${RELPATH}) + string(CONCAT RELPATH "Assets\\Data\\" ${RELPATH}) + endif() + + cmake_print_variables(${RELPATH}) + + set_property(SOURCE ${ITEM} PROPERTY VS_DEPLOYMENT_CONTENT 1) + set_property(SOURCE ${ITEM} PROPERTY VS_DEPLOYMENT_LOCATION ${RELPATH}) +endforeach() + +add_executable (${BINARY_NAME} WIN32 + main.cpp + flutter_frameworkview.cpp + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + ${RESOURCE_FILES} + ${INSTALL_MANIFEST_CONTENT} +) +apply_standard_settings(${BINARY_NAME}) +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") +target_link_libraries(${BINARY_NAME} PRIVATE WindowsApp flutter flutter_wrapper_app) +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/test_project/winuwp/runner_uwp/CMakeSettings.json b/test_project/winuwp/runner_uwp/CMakeSettings.json new file mode 100644 index 0000000..ba63a53 --- /dev/null +++ b/test_project/winuwp/runner_uwp/CMakeSettings.json @@ -0,0 +1,27 @@ +{ + // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file. + "configurations": [ + { + "name": "Debug", + "generator": "Visual Studio 15 2017 Win64", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", + "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" + }, + { + "name": "Release", + "generator": "Visual Studio 15 2017 Win64", + "configurationType": "Release", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", + "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "" + } + ] +} diff --git a/test_project/winuwp/runner_uwp/Windows_TemporaryKey.pfx b/test_project/winuwp/runner_uwp/Windows_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..1cad9993d6abdb0e1bc1456b2470dd386f8f3ef2 GIT binary patch literal 2560 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 literal 0 HcmV?d00001 diff --git a/test_project/winuwp/runner_uwp/appxmanifest.in b/test_project/winuwp/runner_uwp/appxmanifest.in new file mode 100644 index 0000000..570d424 --- /dev/null +++ b/test_project/winuwp/runner_uwp/appxmanifest.in @@ -0,0 +1,42 @@ + + + + + + + + @SHORT_NAME@ + CMake Test Cert + Assets/StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_project/winuwp/runner_uwp/flutter_frameworkview.cpp b/test_project/winuwp/runner_uwp/flutter_frameworkview.cpp new file mode 100644 index 0000000..bcdc73a --- /dev/null +++ b/test_project/winuwp/runner_uwp/flutter_frameworkview.cpp @@ -0,0 +1,155 @@ +#include "winrt/Windows.ApplicationModel.Core.h" +#include "winrt/Windows.Foundation.h" +#include "winrt/Windows.System.Profile.h" +#include "winrt/Windows.System.Threading.h" +#include "winrt/Windows.UI.Core.h" +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +struct FlutterFrameworkView + : winrt::implements< + FlutterFrameworkView, + winrt::Windows::ApplicationModel::Core::IFrameworkView> { + // |winrt::Windows::ApplicationModel::Core::IFrameworkView| + void + Initialize(winrt::Windows::ApplicationModel::Core::CoreApplicationView const + &applicationView) { + + // Layout scaling must be disabled in the appinitialization phase in order + // to take effect correctly. + if (winrt::Windows::System::Profile::AnalyticsInfo::VersionInfo() + .DeviceFamily() == L"Windows.Xbox") { + + bool result = winrt::Windows::UI::ViewManagement::ApplicationViewScaling:: + TrySetDisableLayoutScaling(true); + if (!result) { + OutputDebugString(L"Couldn't disable layout scaling"); + } + } + + main_view_ = applicationView; + main_view_.Activated({this, &FlutterFrameworkView::OnActivated}); + } + + // |winrt::Windows::ApplicationModel::Core::IFrameworkView| + void Uninitialize() { + main_view_.Activated(nullptr); + main_view_ = nullptr; + } + + // |winrt::Windows::ApplicationModel::Core::IFrameworkView| + void Load(winrt::hstring const &) {} + + // |winrt::Windows::ApplicationModel::Core::IFrameworkView| + void Run() { + winrt::Windows::UI::Core::CoreWindow window = + winrt::Windows::UI::Core::CoreWindow::GetForCurrentThread(); + + winrt::Windows::UI::Core::CoreDispatcher dispatcher = window.Dispatcher(); + dispatcher.ProcessEvents( + winrt::Windows::UI::Core::CoreProcessEventsOption::ProcessUntilQuit); + } + + // |winrt::Windows::ApplicationModel::Core::IFrameworkView| + winrt::Windows::Foundation::IAsyncAction + SetWindow(winrt::Windows::UI::Core::CoreWindow const &window) { + + // Capture reference to window. + window_ = window; + + // Lay out the window's content within the region occupied by the + // CoreWindow. + auto appView = winrt::Windows::UI::ViewManagement::ApplicationView:: + GetForCurrentView(); + + appView.SetDesiredBoundsMode(winrt::Windows::UI::ViewManagement:: + ApplicationViewBoundsMode::UseCoreWindow); + + // Configure folder paths. + try { + winrt::Windows::Storage::StorageFolder folder = + winrt::Windows::ApplicationModel::Package::Current() + .InstalledLocation(); + + winrt::Windows::Storage::StorageFolder assets = + co_await folder.GetFolderAsync(L"Assets"); + winrt::Windows::Storage::StorageFolder data = + co_await assets.GetFolderAsync(L"data"); + winrt::Windows::Storage::StorageFolder flutter_assets = + co_await data.GetFolderAsync(L"flutter_assets"); + winrt::Windows::Storage::StorageFile icu_data = + co_await data.GetFileAsync(L"icudtl.dat"); + +#if NDEBUG + winrt::Windows::Storage::StorageFile aot_data = + co_await data.GetFileAsync(L"app.so"); +#endif + + std::wstring flutter_assets_path{flutter_assets.Path()}; + std::wstring icu_data_path{icu_data.Path()}; + std::wstring aot_data_path { +#if NDEBUG + aot_data.Path() +#endif + }; + + flutter::DartProject project(flutter_assets_path, icu_data_path, + aot_data_path); + + // Construct viewcontroller using the Window and project + flutter_view_controller_ = std::make_unique( + static_cast(winrt::get_abi(main_view_)), + static_cast(winrt::get_abi(launch_args_)), + project); + + // If plugins present, register them. + RegisterPlugins(flutter_view_controller_.get()->engine()); + } catch (winrt::hresult_error &err) { + winrt::Windows::UI::Popups::MessageDialog md = + winrt::Windows::UI::Popups::MessageDialog::MessageDialog( + L"There was a problem starting the engine: " + err.message()); + md.ShowAsync(); + } + } + + void OnActivated( + winrt::Windows::ApplicationModel::Core::CoreApplicationView const + &applicationView, + winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs const + &args) { + // Activate the application window, making it visible and enabling it to + // receive events. + applicationView.CoreWindow().Activate(); + + // Capture launch args to later pass to Flutter. + launch_args_ = args; + } + + // Current CoreApplicationView. + winrt::Windows::ApplicationModel::Core::CoreApplicationView main_view_{ + nullptr}; + + // Current CoreWindow. + winrt::Windows::UI::Core::CoreWindow window_{nullptr}; + + // Current FlutterViewController. + std::unique_ptr flutter_view_controller_{ + nullptr}; + + // Launch args that were passed in on activation. + winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs + launch_args_; +}; diff --git a/test_project/winuwp/runner_uwp/main.cpp b/test_project/winuwp/runner_uwp/main.cpp new file mode 100644 index 0000000..1ce54b1 --- /dev/null +++ b/test_project/winuwp/runner_uwp/main.cpp @@ -0,0 +1,30 @@ + +#include + +#include "winrt/Windows.ApplicationModel.Core.h" +#include "winrt/Windows.Foundation.h" +#include +#include +#include + +#include + +#include "flutter_frameworkview.cpp" + +struct App + : winrt::implements< + App, winrt::Windows::ApplicationModel::Core::IFrameworkViewSource> { + App() { view_ = winrt::make_self(); } + + // |winrt::Windows::ApplicationModel::Core::IFrameworkViewSource| + winrt::Windows::ApplicationModel::Core::IFrameworkView CreateView() { + return view_.as(); + } + + winrt::com_ptr view_; +}; + +int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) { + winrt::Windows::ApplicationModel::Core::CoreApplication::Run( + winrt::make()); +} diff --git a/test_project/winuwp/runner_uwp/resources.pri b/test_project/winuwp/runner_uwp/resources.pri new file mode 100644 index 0000000000000000000000000000000000000000..7de03c9dc31868ee4734e9e92536aad0bfc0573f GIT binary patch literal 5952 zcmcgwO>7%Q6n@^d9XmhGPg7BfAWPILB{YfSI3*MbxmBrph)}^rMQV_>*qg+{PF&lS zEDoGGaDZEHaNxkP2Tq)NLL4}9KnO)WaOjB>NL7VYzBhlnUVGOeO_|mB&Aj)`dpmF5 zycut!)hIVxwLDRRiZ2j3MD&eCG)qsPqDi+K093uoUb(inz5fxjOxXZV$f2O>wJToN zm$PgaNFm>CS9ZOI3%R2QvyGyyoj@R&q)AbBdE}`GA zU*63UU5}AJ7>$=_#^dETCW!9E=znw~etd3)$3W1-rp zNz@c-8k`L3DC#)s3GgOSr_i1OJ&8Jts!M`?qQB6!K=ZI~gWds6f<8hlr$GNiKTQ`B zj2oe<7@9$!Iqww6WZ1C-FOq`Ez?jv`+{4 zuLj!Z0`2pG_UmY~w=B#qi5aD#CxeLG!dO=(_0V6~AEQ7a{$C-lZF~Ntfv+y+c>Q;ZZDELyM?D8-iEB@4=J5 z590C?=Oiwc$Zs4K920~!XCAMqKWm=h80Ip8Sxo{lji^A_io$l{@>`LWq9iaA_Vw+m zw_V=da~ob8SCY~-`q7^)EV#ay8Lf4?@GFnUMZ(!b6 z(OQF)>k{M_@mv!;_Q?jYSKy-!dIS75NLHZ#xODNGuc9Iaz+3X&L8u4^X7$9ROTkUS zdJ3tUpK-ibI_JR433>(m)436N-NJ6&qzR`9tVMHZ&p4kUewbeZ|0~3lMK7a0<$Nu6 z>^$11ocoA5iyX91IzM8qH2ycN8uM>~{|GiMdJ*k$=O3)3O$*SUaTf4qHeC?ZMEPurclZp&L;&vjA#L4qq@!sqqay@i{=+G_78<{3-y z7Z=_?MeGrAKNxWS^VzS9Y>vS939(N&W9Y*1$Au}c4O7N5 zDNZBw6Nqg|C7w?w*_U`ev1DK3IqtY`D;(#1?pq4S^N@0hODdeLaJItP3P*@$#uJ}> zf{rVS(@^xs6rEOdN>QAeLXLAwP@JTod?qkWDZ5E!H>vFME|GGHODkMT;rR5Ca*dOI z<C0KZPJhM_Wf%mD`F>kH)og9!LM zc-;xTxzQ8K6-JFXpW?nF98;bsgw`XRZ~Nr^zBUlE9udAaz*t`!l<|>&7D+D}M8Ma9 z@GxQ#w!`u*f2+`iL%S$CmwM;oUu@laXM4ZZSh~9hM|8Yuxx@GAPP_Ig&aR6xnL{f>jA?@vwNiZuH~P3zDKfK*!T~2_5XTa6kcEcx