From 22ca7f462bbd0684a7ae85b397ebdf1ed30114b8 Mon Sep 17 00:00:00 2001 From: Andrew Brogdon <RedBrogdon@users.noreply.github.com> Date: Thu, 19 Sep 2019 11:12:58 -0700 Subject: [PATCH] Adds new flutter module, reconfigures Android/iOS sample (#144) --- experimental/add_to_app/README.md | 65 +- .../ExampleInstrumentedTest.kt | 24 - .../drawable-v24/ic_launcher_foreground.xml | 34 - .../res/drawable/ic_launcher_background.xml | 74 -- .../app/src/main/res/layout/activity_main.xml | 20 - .../app/src/main/res/values/strings.xml | 3 - .../add_to_app/SimpleIOSExample/Podfile.lock | 28 - .../project.pbxproj | 737 ----------------- .../.gitignore | 1 + .../app/.gitignore | 0 .../app/build.gradle | 25 +- .../app/proguard-rules.pro | 0 .../ExampleInstrumentedTest.kt | 28 + .../app/src/main/AndroidManifest.xml | 25 +- .../androidfullscreen}/MainActivity.kt | 9 +- .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 ++++ .../app/src/main/res/layout/activity_main.xml | 19 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 4 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 4 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../app/src/main/res/values/colors.xml | 0 .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 0 .../androidfullscreen}/ExampleUnitTest.kt | 6 +- .../build.gradle | 7 +- .../gradle.properties | 6 + .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 4 +- .../gradlew | 0 .../gradlew.bat | 0 .../settings.gradle | 5 +- .../add_to_app/example_module/README.md | 4 - .../example_module/analysis_options.yaml | 30 - .../example_module/test/widget_test.dart | 12 - .../.gitignore | 0 .../.metadata | 4 +- .../add_to_app/flutter_module/README.md | 10 + .../lib/main.dart | 18 +- .../pubspec.lock | 6 +- .../pubspec.yaml | 13 +- .../flutter_module/test/widget_test.dart | 34 + .../flutter_module_using_plugin/.gitignore | 41 + .../flutter_module_using_plugin/.metadata | 10 + .../flutter_module_using_plugin/README.md | 11 + .../flutter_module_using_plugin/lib/main.dart | 134 ++++ .../flutter_module_using_plugin/pubspec.lock | 203 +++++ .../flutter_module_using_plugin/pubspec.yaml | 30 + .../test/widget_test.dart | 34 + .../.gitignore | 0 .../IOSFullScreen.xcodeproj/project.pbxproj | 738 ++++++++++++++++++ .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../contents.xcworkspacedata | 2 +- .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../IOSFullScreen}/AppDelegate.swift | 12 +- .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../IOSFullScreen}/Base.lproj/Main.storyboard | 14 +- .../IOSFullScreen}/Info.plist | 0 .../IOSFullScreen}/ViewController.swift | 6 +- .../IOSFullScreenTests.swift} | 4 +- .../IOSFullScreenTests}/Info.plist | 0 .../IOSFullScreenUITests.swift} | 2 +- .../IOSFullScreenUITests}/Info.plist | 0 .../Podfile | 13 +- .../add_to_app/ios_fullscreen/Podfile.lock | 28 + 77 files changed, 1674 insertions(+), 1076 deletions(-) delete mode 100644 experimental/add_to_app/SimpleAndroidApp/app/src/androidTest/java/com/example/simpleandroidapp/ExampleInstrumentedTest.kt delete mode 100644 experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 experimental/add_to_app/SimpleAndroidApp/app/src/main/res/layout/activity_main.xml delete mode 100644 experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/strings.xml delete mode 100644 experimental/add_to_app/SimpleIOSExample/Podfile.lock delete mode 100644 experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.pbxproj rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/.gitignore (97%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/.gitignore (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/build.gradle (61%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/proguard-rules.pro (100%) create mode 100644 experimental/add_to_app/android_fullscreen/app/src/androidTest/java/dev/flutter/example/androidfullscreen/ExampleInstrumentedTest.kt rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/AndroidManifest.xml (61%) rename experimental/add_to_app/{SimpleAndroidApp/app/src/main/java/com/example/simpleandroidapp => android_fullscreen/app/src/main/java/dev/flutter/example/androidfullscreen}/MainActivity.kt (65%) create mode 100644 experimental/add_to_app/android_fullscreen/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 experimental/add_to_app/android_fullscreen/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 experimental/add_to_app/android_fullscreen/app/src/main/res/layout/activity_main.xml rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml (88%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml (88%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-hdpi/ic_launcher_round.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-mdpi/ic_launcher_round.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/values/colors.xml (100%) create mode 100644 experimental/add_to_app/android_fullscreen/app/src/main/res/values/strings.xml rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/app/src/main/res/values/styles.xml (100%) rename experimental/add_to_app/{SimpleAndroidApp/app/src/test/java/com/example/simpleandroidapp => android_fullscreen/app/src/test/java/dev/flutter/example/androidfullscreen}/ExampleUnitTest.kt (60%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/build.gradle (65%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/gradle.properties (70%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/gradle/wrapper/gradle-wrapper.jar (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/gradle/wrapper/gradle-wrapper.properties (80%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/gradlew (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/gradlew.bat (100%) rename experimental/add_to_app/{SimpleAndroidApp => android_fullscreen}/settings.gradle (52%) delete mode 100644 experimental/add_to_app/example_module/README.md delete mode 100644 experimental/add_to_app/example_module/analysis_options.yaml delete mode 100644 experimental/add_to_app/example_module/test/widget_test.dart rename experimental/add_to_app/{example_module => flutter_module}/.gitignore (100%) rename experimental/add_to_app/{example_module => flutter_module}/.metadata (76%) create mode 100644 experimental/add_to_app/flutter_module/README.md rename experimental/add_to_app/{example_module => flutter_module}/lib/main.dart (83%) rename experimental/add_to_app/{example_module => flutter_module}/pubspec.lock (98%) rename experimental/add_to_app/{example_module => flutter_module}/pubspec.yaml (71%) create mode 100644 experimental/add_to_app/flutter_module/test/widget_test.dart create mode 100644 experimental/add_to_app/flutter_module_using_plugin/.gitignore create mode 100644 experimental/add_to_app/flutter_module_using_plugin/.metadata create mode 100644 experimental/add_to_app/flutter_module_using_plugin/README.md create mode 100644 experimental/add_to_app/flutter_module_using_plugin/lib/main.dart create mode 100644 experimental/add_to_app/flutter_module_using_plugin/pubspec.lock create mode 100644 experimental/add_to_app/flutter_module_using_plugin/pubspec.yaml create mode 100644 experimental/add_to_app/flutter_module_using_plugin/test/widget_test.dart rename experimental/add_to_app/{SimpleIOSExample => ios_fullscreen}/.gitignore (100%) create mode 100644 experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.pbxproj rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample.xcodeproj => ios_fullscreen/IOSFullScreen.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (67%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample.xcodeproj => ios_fullscreen/IOSFullScreen.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample.xcworkspace => ios_fullscreen/IOSFullScreen.xcworkspace}/contents.xcworkspacedata (77%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample.xcworkspace => ios_fullscreen/IOSFullScreen.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/AppDelegate.swift (78%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/Assets.xcassets/Contents.json (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/Base.lproj/LaunchScreen.storyboard (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/Base.lproj/Main.storyboard (76%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/Info.plist (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExample => ios_fullscreen/IOSFullScreen}/ViewController.swift (87%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExampleTests/SimpleIOSExampleTests.swift => ios_fullscreen/IOSFullScreenTests/IOSFullScreenTests.swift} (91%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExampleTests => ios_fullscreen/IOSFullScreenTests}/Info.plist (100%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExampleUITests/SimpleIOSExampleUITests.swift => ios_fullscreen/IOSFullScreenUITests/IOSFullScreenUITests.swift} (96%) rename experimental/add_to_app/{SimpleIOSExample/SimpleIOSExampleUITests => ios_fullscreen/IOSFullScreenUITests}/Info.plist (100%) rename experimental/add_to_app/{SimpleIOSExample => ios_fullscreen}/Podfile (55%) create mode 100644 experimental/add_to_app/ios_fullscreen/Podfile.lock diff --git a/experimental/add_to_app/README.md b/experimental/add_to_app/README.md index 932750bc1..23ba03747 100644 --- a/experimental/add_to_app/README.md +++ b/experimental/add_to_app/README.md @@ -5,7 +5,7 @@ and the latest version of CocoaPods. See the [README](../README.md) in the `experimental` directory for details.*** This directory contains a bunch of Android and iOS projects that each import -a standalone Flutter module called `example_module`. +a standalone Flutter module called `flutter_module`. ## Goals for this sample @@ -13,42 +13,63 @@ a standalone Flutter module called `example_module`. ## The important bits -### `example_module` +### Flutter modules -This is the Flutter module that'll be added to all the individual projects -in the `add_to_app` folder. +There are two Flutter modules included in the codebase: -The first time you download this repo, you need to first resolve this -module's dependencies by running: +* `flutter_module` displays the dimensions of the screen, a button that + increments a simple counter, and an optional exit button. +* `flutter_module_using_plugin` does everything `flutter_module` does, and adds + another button that will save the counter's value to a file using the + [`path_provider`](https://pub.dev/packages/path_povider) Flutter plugin. + +Before running any of the Android or iOS apps included in this sample project, +you first need to resolve the Flutter modules' depencies. Do so by running this +command from within the `flutter_module` and `flutter_module_using_plugin` +directories: ```bash -cd example_module flutter packages get ``` -### `SimpleAndroidApp` - -An Android application that imports `example_module` and uses it to display -a `FlutterActivity` containing widgets from the module. This project brings -in the Flutter module's Android host wrapper as a gradle sub-module. +### Android and iOS applications -To run, open the SimpleAndroidApp folder in Android Studio and press the run -button. +In addition to the Flutter modules, this repo also includes a number of +Android and iOS applications that demonstrate different ways of importing +them. -### `SimpleIOSExample` +The Android apps are ready to run once you've completed the +`flutter packages get` commands listed above. The iOS apps use CocoaPods, +so you need to run this command to install the dependencies listed in their +Podfiles prior to running them the first time. -An iOS application that imports `example_module` and uses it to display -a `FlutterViewController` containing widgets from the module. This project -uses CocoaPods, so prior to running it for the first time, use this command -to set up the workspace file: +This should be done in the individual project directories themselves. For +example, prior to running `ios_fullscreen` for the first time, you need to run +these commands: ```bash -cd ../SimpleIOSExample +cd ios_fullscreen pod install ``` -Then open SimpleIOSExample/SimpleIOSExample.xcworkspace with Xcode. This -workspace will have the Flutter module linked in as a dependent CocoaPod. +Once that command is complete, you'll find an `xcworkspace` file in the project +directories with the correct Flutter module (and any other dependencies) +included. Open that workspace file, and the app is ready to build and run. + +### `android_fullscreen` and `ios_fullscreen` + +These apps showcase a relatively straightforward integration of +`flutter_module`: + +* The Flutter module is built along with the app when the app is built. +* The Flutter engine is warmed up at app launch. +* The Flutter view is presented with a full-screen Activity or + UIViewController. +* The Flutter view is a navigational leaf node; it does not launch any new, + native Activities or UIViewControllers in response to user actions. + +If you are new to Flutter's add-to-app APIs, these projects are a great place +to begin learning how to use them. ## Questions/issues diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/androidTest/java/com/example/simpleandroidapp/ExampleInstrumentedTest.kt b/experimental/add_to_app/SimpleAndroidApp/app/src/androidTest/java/com/example/simpleandroidapp/ExampleInstrumentedTest.kt deleted file mode 100644 index bd91b7615..000000000 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/androidTest/java/com/example/simpleandroidapp/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.simpleandroidapp - -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getTargetContext() - assertEquals("com.example.simpleandroidapp", appContext.packageName) - } -} diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 6348baae3..000000000 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,34 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:aapt="http://schemas.android.com/aapt" - android:width="108dp" - android:height="108dp" - android:viewportHeight="108" - android:viewportWidth="108"> - <path - android:fillType="evenOdd" - android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z" - android:strokeColor="#00000000" - android:strokeWidth="1"> - <aapt:attr name="android:fillColor"> - <gradient - android:endX="78.5885" - android:endY="90.9159" - android:startX="48.7653" - android:startY="61.0927" - android:type="linear"> - <item - android:color="#44000000" - android:offset="0.0"/> - <item - android:color="#00000000" - android:offset="1.0"/> - </gradient> - </aapt:attr> - </path> - <path - android:fillColor="#FFFFFF" - android:fillType="nonZero" - android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" - android:strokeColor="#00000000" - android:strokeWidth="1"/> -</vector> diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable/ic_launcher_background.xml b/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index a0ad202f9..000000000 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<vector - xmlns:android="http://schemas.android.com/apk/res/android" - android:height="108dp" - android:width="108dp" - android:viewportHeight="108" - android:viewportWidth="108"> - <path android:fillColor="#008577" - android:pathData="M0,0h108v108h-108z"/> - <path android:fillColor="#00000000" android:pathData="M9,0L9,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,0L19,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M29,0L29,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M39,0L39,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M49,0L49,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M59,0L59,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M69,0L69,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M79,0L79,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M89,0L89,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M99,0L99,108" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,9L108,9" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,19L108,19" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,29L108,29" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,39L108,39" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,49L108,49" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,59L108,59" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,69L108,69" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,79L108,79" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,89L108,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M0,99L108,99" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,29L89,29" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,39L89,39" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,49L89,49" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,59L89,59" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,69L89,69" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M19,79L89,79" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M29,19L29,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M39,19L39,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M49,19L49,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M59,19L59,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M69,19L69,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> - <path android:fillColor="#00000000" android:pathData="M79,19L79,89" - android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/> -</vector> diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/layout/activity_main.xml b/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index a051374aa..000000000 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:layout_width="match_parent" - android:layout_height="match_parent" - tools:context=".MainActivity"> - - <Button - android:id="@+id/launch_button" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Launch Flutter Activity!" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent"/> - -</android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/strings.xml b/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/strings.xml deleted file mode 100644 index a522d2111..000000000 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ -<resources> - <string name="app_name">SimpleAndroidApp</string> -</resources> diff --git a/experimental/add_to_app/SimpleIOSExample/Podfile.lock b/experimental/add_to_app/SimpleIOSExample/Podfile.lock deleted file mode 100644 index 5e7b957b3..000000000 --- a/experimental/add_to_app/SimpleIOSExample/Podfile.lock +++ /dev/null @@ -1,28 +0,0 @@ -PODS: - - example_module (0.0.1): - - Flutter - - Flutter (1.0.0) - - FlutterPluginRegistrant (0.0.1): - - Flutter - -DEPENDENCIES: - - example_module (from `../example_module/.ios/Flutter`) - - Flutter (from `../example_module/.ios/Flutter/engine`) - - FlutterPluginRegistrant (from `../example_module/.ios/Flutter/FlutterPluginRegistrant`) - -EXTERNAL SOURCES: - example_module: - :path: "../example_module/.ios/Flutter" - Flutter: - :path: "../example_module/.ios/Flutter/engine" - FlutterPluginRegistrant: - :path: "../example_module/.ios/Flutter/FlutterPluginRegistrant" - -SPEC CHECKSUMS: - example_module: 9b3ae62667af6b748c59e68774be3d4760f9749b - Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a - FlutterPluginRegistrant: 8855ca2b426d228cb41aa6c26c0c83b8c49e3593 - -PODFILE CHECKSUM: b7560f9a15a01771cb2ffbac185d4fd57e3250cc - -COCOAPODS: 1.7.2 diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.pbxproj b/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.pbxproj deleted file mode 100644 index 2ff830b97..000000000 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,737 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 51; - objects = { - -/* Begin PBXBuildFile section */ - 089B0A49B5CDAC5BEB582783 /* Pods_SimpleIOSExampleTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */; }; - 269398B622FE040B00D983E5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398B522FE040B00D983E5 /* AppDelegate.swift */; }; - 269398B822FE040B00D983E5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398B722FE040B00D983E5 /* ViewController.swift */; }; - 269398BB22FE040B00D983E5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 269398B922FE040B00D983E5 /* Main.storyboard */; }; - 269398BD22FE040C00D983E5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 269398BC22FE040C00D983E5 /* Assets.xcassets */; }; - 269398C022FE040C00D983E5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */; }; - 269398CB22FE040C00D983E5 /* SimpleIOSExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */; }; - 269398D622FE040C00D983E5 /* SimpleIOSExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */; }; - 3BAF4B0BB21D52A8C5B43F0D /* Pods_SimpleIOSExampleUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */; }; - E0A2B399B1D9D1C350372AA4 /* Pods_SimpleIOSExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 269398C722FE040C00D983E5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 269398AA22FE040B00D983E5 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 269398B122FE040B00D983E5; - remoteInfo = SimpleIOSExample; - }; - 269398D222FE040C00D983E5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 269398AA22FE040B00D983E5 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 269398B122FE040B00D983E5; - remoteInfo = SimpleIOSExample; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 269398B222FE040B00D983E5 /* SimpleIOSExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleIOSExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 269398B522FE040B00D983E5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; - 269398B722FE040B00D983E5 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; }; - 269398BA22FE040B00D983E5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; - 269398BC22FE040C00D983E5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; - 269398BF22FE040C00D983E5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; - 269398C122FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleIOSExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleIOSExampleTests.swift; sourceTree = "<group>"; }; - 269398CC22FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimpleIOSExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleIOSExampleUITests.swift; sourceTree = "<group>"; }; - 269398D722FE040C00D983E5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleUITests.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleUITests/Pods-SimpleIOSExampleUITests.debug.xcconfig"; sourceTree = "<group>"; }; - 420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleTests.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleTests/Pods-SimpleIOSExampleTests.release.xcconfig"; sourceTree = "<group>"; }; - 632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleTests/Pods-SimpleIOSExampleTests.debug.xcconfig"; sourceTree = "<group>"; }; - 63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExampleUITests.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExampleUITests/Pods-SimpleIOSExampleUITests.release.xcconfig"; sourceTree = "<group>"; }; - 8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SimpleIOSExampleTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExample.release.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample.release.xcconfig"; sourceTree = "<group>"; }; - CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SimpleIOSExample.debug.xcconfig"; path = "Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample.debug.xcconfig"; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 269398AF22FE040B00D983E5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E0A2B399B1D9D1C350372AA4 /* Pods_SimpleIOSExample.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398C322FE040C00D983E5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 089B0A49B5CDAC5BEB582783 /* Pods_SimpleIOSExampleTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398CE22FE040C00D983E5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3BAF4B0BB21D52A8C5B43F0D /* Pods_SimpleIOSExampleUITests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 269398A922FE040B00D983E5 = { - isa = PBXGroup; - children = ( - 269398B422FE040B00D983E5 /* SimpleIOSExample */, - 269398C922FE040C00D983E5 /* SimpleIOSExampleTests */, - 269398D422FE040C00D983E5 /* SimpleIOSExampleUITests */, - 269398B322FE040B00D983E5 /* Products */, - 62E8A3E08E9FD326CA7480FA /* Pods */, - 6A6CC3DA2402FC8ADB407559 /* Frameworks */, - ); - sourceTree = "<group>"; - }; - 269398B322FE040B00D983E5 /* Products */ = { - isa = PBXGroup; - children = ( - 269398B222FE040B00D983E5 /* SimpleIOSExample.app */, - 269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */, - 269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */, - ); - name = Products; - sourceTree = "<group>"; - }; - 269398B422FE040B00D983E5 /* SimpleIOSExample */ = { - isa = PBXGroup; - children = ( - 269398B522FE040B00D983E5 /* AppDelegate.swift */, - 269398B722FE040B00D983E5 /* ViewController.swift */, - 269398B922FE040B00D983E5 /* Main.storyboard */, - 269398BC22FE040C00D983E5 /* Assets.xcassets */, - 269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */, - 269398C122FE040C00D983E5 /* Info.plist */, - ); - path = SimpleIOSExample; - sourceTree = "<group>"; - }; - 269398C922FE040C00D983E5 /* SimpleIOSExampleTests */ = { - isa = PBXGroup; - children = ( - 269398CA22FE040C00D983E5 /* SimpleIOSExampleTests.swift */, - 269398CC22FE040C00D983E5 /* Info.plist */, - ); - path = SimpleIOSExampleTests; - sourceTree = "<group>"; - }; - 269398D422FE040C00D983E5 /* SimpleIOSExampleUITests */ = { - isa = PBXGroup; - children = ( - 269398D522FE040C00D983E5 /* SimpleIOSExampleUITests.swift */, - 269398D722FE040C00D983E5 /* Info.plist */, - ); - path = SimpleIOSExampleUITests; - sourceTree = "<group>"; - }; - 62E8A3E08E9FD326CA7480FA /* Pods */ = { - isa = PBXGroup; - children = ( - CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */, - A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */, - 632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */, - 512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */, - 363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */, - 63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */, - ); - path = Pods; - sourceTree = "<group>"; - }; - 6A6CC3DA2402FC8ADB407559 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 420E4B6E1B9E8603BA732F4C /* Pods_SimpleIOSExample.framework */, - 8B32A0D5514AB7569E79A7AC /* Pods_SimpleIOSExampleTests.framework */, - 187D00DA4A16A93EC89D3156 /* Pods_SimpleIOSExampleUITests.framework */, - ); - name = Frameworks; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 269398B122FE040B00D983E5 /* SimpleIOSExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 269398DA22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExample" */; - buildPhases = ( - 264AE55B6B867B61BC2CB1E8 /* [CP] Check Pods Manifest.lock */, - 6509A41456CCA1E3DEE35AC2 /* [CP-User] Run Flutter Build Script */, - 269398AE22FE040B00D983E5 /* Sources */, - 269398AF22FE040B00D983E5 /* Frameworks */, - 269398B022FE040B00D983E5 /* Resources */, - 57352AFF53A3C19AB9928E36 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SimpleIOSExample; - productName = SimpleIOSExample; - productReference = 269398B222FE040B00D983E5 /* SimpleIOSExample.app */; - productType = "com.apple.product-type.application"; - }; - 269398C522FE040C00D983E5 /* SimpleIOSExampleTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 269398DD22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleTests" */; - buildPhases = ( - 80BDF3ACB9840F729397FA74 /* [CP] Check Pods Manifest.lock */, - 269398C222FE040C00D983E5 /* Sources */, - 269398C322FE040C00D983E5 /* Frameworks */, - 269398C422FE040C00D983E5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 269398C822FE040C00D983E5 /* PBXTargetDependency */, - ); - name = SimpleIOSExampleTests; - productName = SimpleIOSExampleTests; - productReference = 269398C622FE040C00D983E5 /* SimpleIOSExampleTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 269398D022FE040C00D983E5 /* SimpleIOSExampleUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 269398E022FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleUITests" */; - buildPhases = ( - 88A5719093C973643BCB1F37 /* [CP] Check Pods Manifest.lock */, - 269398CD22FE040C00D983E5 /* Sources */, - 269398CE22FE040C00D983E5 /* Frameworks */, - 269398CF22FE040C00D983E5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 269398D322FE040C00D983E5 /* PBXTargetDependency */, - ); - name = SimpleIOSExampleUITests; - productName = SimpleIOSExampleUITests; - productReference = 269398D122FE040C00D983E5 /* SimpleIOSExampleUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 269398AA22FE040B00D983E5 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1020; - LastUpgradeCheck = 1020; - TargetAttributes = { - 269398B122FE040B00D983E5 = { - CreatedOnToolsVersion = 10.2.1; - }; - 269398C522FE040C00D983E5 = { - CreatedOnToolsVersion = 10.2.1; - TestTargetID = 269398B122FE040B00D983E5; - }; - 269398D022FE040C00D983E5 = { - CreatedOnToolsVersion = 10.2.1; - TestTargetID = 269398B122FE040B00D983E5; - }; - }; - }; - buildConfigurationList = 269398AD22FE040B00D983E5 /* Build configuration list for PBXProject "SimpleIOSExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 269398A922FE040B00D983E5; - productRefGroup = 269398B322FE040B00D983E5 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 269398B122FE040B00D983E5 /* SimpleIOSExample */, - 269398C522FE040C00D983E5 /* SimpleIOSExampleTests */, - 269398D022FE040C00D983E5 /* SimpleIOSExampleUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 269398B022FE040B00D983E5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 269398C022FE040C00D983E5 /* LaunchScreen.storyboard in Resources */, - 269398BD22FE040C00D983E5 /* Assets.xcassets in Resources */, - 269398BB22FE040B00D983E5 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398C422FE040C00D983E5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398CF22FE040C00D983E5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 264AE55B6B867B61BC2CB1E8 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-SimpleIOSExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 57352AFF53A3C19AB9928E36 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SimpleIOSExample/Pods-SimpleIOSExample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 6509A41456CCA1E3DEE35AC2 /* [CP-User] Run Flutter Build Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/../example_module/.metadata", - "${SRCROOT}/../example_module/.ios/Flutter/App.framework/App", - "${SRCROOT}/../example_module/.ios/Flutter/engine/Flutter.framework/Flutter", - "${SRCROOT}/../example_module/.ios/Flutter/flutter_export_environment.sh", - ); - name = "[CP-User] Run Flutter Build Script"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\nset -u\nsource \"${SRCROOT}/../example_module/.ios/Flutter/flutter_export_environment.sh\"\n\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build"; - }; - 80BDF3ACB9840F729397FA74 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-SimpleIOSExampleTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 88A5719093C973643BCB1F37 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-SimpleIOSExampleUITests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 269398AE22FE040B00D983E5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 269398B822FE040B00D983E5 /* ViewController.swift in Sources */, - 269398B622FE040B00D983E5 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398C222FE040C00D983E5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 269398CB22FE040C00D983E5 /* SimpleIOSExampleTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 269398CD22FE040C00D983E5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 269398D622FE040C00D983E5 /* SimpleIOSExampleUITests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 269398C822FE040C00D983E5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 269398B122FE040B00D983E5 /* SimpleIOSExample */; - targetProxy = 269398C722FE040C00D983E5 /* PBXContainerItemProxy */; - }; - 269398D322FE040C00D983E5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 269398B122FE040B00D983E5 /* SimpleIOSExample */; - targetProxy = 269398D222FE040C00D983E5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 269398B922FE040B00D983E5 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 269398BA22FE040B00D983E5 /* Base */, - ); - name = Main.storyboard; - sourceTree = "<group>"; - }; - 269398BE22FE040C00D983E5 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 269398BF22FE040C00D983E5 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = "<group>"; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 269398D822FE040C00D983E5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = 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_DOCUMENTATION_COMMENTS = YES; - 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - 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 = 12.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 269398D922FE040C00D983E5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = 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_DOCUMENTATION_COMMENTS = YES; - 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "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 = gnu11; - 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 = 12.2; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 269398DB22FE040C00D983E5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CD23F887F52055643A503855 /* Pods-SimpleIOSExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 269398DC22FE040C00D983E5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A8146A98489E12B59C33EF6F /* Pods-SimpleIOSExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 269398DE22FE040C00D983E5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 632513CDC364778478B972A7 /* Pods-SimpleIOSExampleTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExampleTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleIOSExample.app/SimpleIOSExample"; - }; - name = Debug; - }; - 269398DF22FE040C00D983E5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 512008183DD83798F184EB14 /* Pods-SimpleIOSExampleTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExampleTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SimpleIOSExample.app/SimpleIOSExample"; - }; - name = Release; - }; - 269398E122FE040C00D983E5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 363E426B1171FEC2C23089B1 /* Pods-SimpleIOSExampleUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExampleUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = SimpleIOSExample; - }; - name = Debug; - }; - 269398E222FE040C00D983E5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 63EEDB1909622120399C9B01 /* Pods-SimpleIOSExampleUITests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = SimpleIOSExampleUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.SimpleIOSExampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = SimpleIOSExample; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 269398AD22FE040B00D983E5 /* Build configuration list for PBXProject "SimpleIOSExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 269398D822FE040C00D983E5 /* Debug */, - 269398D922FE040C00D983E5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 269398DA22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 269398DB22FE040C00D983E5 /* Debug */, - 269398DC22FE040C00D983E5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 269398DD22FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 269398DE22FE040C00D983E5 /* Debug */, - 269398DF22FE040C00D983E5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 269398E022FE040C00D983E5 /* Build configuration list for PBXNativeTarget "SimpleIOSExampleUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 269398E122FE040C00D983E5 /* Debug */, - 269398E222FE040C00D983E5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 269398AA22FE040B00D983E5 /* Project object */; -} diff --git a/experimental/add_to_app/SimpleAndroidApp/.gitignore b/experimental/add_to_app/android_fullscreen/.gitignore similarity index 97% rename from experimental/add_to_app/SimpleAndroidApp/.gitignore rename to experimental/add_to_app/android_fullscreen/.gitignore index 2b75303ac..603b14077 100644 --- a/experimental/add_to_app/SimpleAndroidApp/.gitignore +++ b/experimental/add_to_app/android_fullscreen/.gitignore @@ -11,3 +11,4 @@ /build /captures .externalNativeBuild +.cxx diff --git a/experimental/add_to_app/SimpleAndroidApp/app/.gitignore b/experimental/add_to_app/android_fullscreen/app/.gitignore similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/.gitignore rename to experimental/add_to_app/android_fullscreen/app/.gitignore diff --git a/experimental/add_to_app/SimpleAndroidApp/app/build.gradle b/experimental/add_to_app/android_fullscreen/app/build.gradle similarity index 61% rename from experimental/add_to_app/SimpleAndroidApp/app/build.gradle rename to experimental/add_to_app/android_fullscreen/app/build.gradle index adc607e64..35ac2cac5 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/build.gradle +++ b/experimental/add_to_app/android_fullscreen/app/build.gradle @@ -5,18 +5,15 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileOptions { - sourceCompatibility 1.8 - targetCompatibility 1.8 - } compileSdkVersion 28 + buildToolsVersion "29.0.2" defaultConfig { - applicationId "com.example.simpleandroidapp" + applicationId "dev.flutter.example.androidfullscreen" minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { @@ -24,16 +21,20 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } } dependencies { - implementation 'android.arch.lifecycle:common-java8:1.1.1' + implementation project(':flutter') implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.3' - implementation project(':flutter') + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.core:core-ktx:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + androidTestImplementation 'androidx.test:runner:1.2.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' } diff --git a/experimental/add_to_app/SimpleAndroidApp/app/proguard-rules.pro b/experimental/add_to_app/android_fullscreen/app/proguard-rules.pro similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/proguard-rules.pro rename to experimental/add_to_app/android_fullscreen/app/proguard-rules.pro diff --git a/experimental/add_to_app/android_fullscreen/app/src/androidTest/java/dev/flutter/example/androidfullscreen/ExampleInstrumentedTest.kt b/experimental/add_to_app/android_fullscreen/app/src/androidTest/java/dev/flutter/example/androidfullscreen/ExampleInstrumentedTest.kt new file mode 100644 index 000000000..49be549e8 --- /dev/null +++ b/experimental/add_to_app/android_fullscreen/app/src/androidTest/java/dev/flutter/example/androidfullscreen/ExampleInstrumentedTest.kt @@ -0,0 +1,28 @@ +// Copyright 2019 The Flutter team. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package dev.flutter.example.androidfullscreen + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("dev.flutter.example.androidfullscreen", appContext.packageName) + } +} diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/AndroidManifest.xml b/experimental/add_to_app/android_fullscreen/app/src/main/AndroidManifest.xml similarity index 61% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/AndroidManifest.xml rename to experimental/add_to_app/android_fullscreen/app/src/main/AndroidManifest.xml index fb8c7a579..0f2788005 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/AndroidManifest.xml +++ b/experimental/add_to_app/android_fullscreen/app/src/main/AndroidManifest.xml @@ -1,28 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.example.simpleandroidapp"> + package="dev.flutter.example.androidfullscreen"> <application - android:name="io.flutter.app.FlutterApplication" - android:allowBackup="true" - android:icon="@mipmap/ic_launcher" - android:label="@string/app_name" - android:roundIcon="@mipmap/ic_launcher_round" - android:supportsRtl="true" - android:theme="@style/AppTheme"> + android:name="io.flutter.app.FlutterApplication" + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" + android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> - <action android:name="android.intent.action.MAIN"/> + <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER"/> + <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="io.flutter.embedding.android.FlutterActivity" - android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" + android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize" - /> + android:exported="true" + /> </application> </manifest> \ No newline at end of file diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/java/com/example/simpleandroidapp/MainActivity.kt b/experimental/add_to_app/android_fullscreen/app/src/main/java/dev/flutter/example/androidfullscreen/MainActivity.kt similarity index 65% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/java/com/example/simpleandroidapp/MainActivity.kt rename to experimental/add_to_app/android_fullscreen/app/src/main/java/dev/flutter/example/androidfullscreen/MainActivity.kt index 96767ec01..14b3be17a 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/java/com/example/simpleandroidapp/MainActivity.kt +++ b/experimental/add_to_app/android_fullscreen/app/src/main/java/dev/flutter/example/androidfullscreen/MainActivity.kt @@ -1,11 +1,16 @@ -package com.example.simpleandroidapp +// Copyright 2019 The Flutter team. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package dev.flutter.example.androidfullscreen -import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Button +import androidx.appcompat.app.AppCompatActivity import io.flutter.embedding.android.FlutterActivity class MainActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) diff --git a/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 000000000..1f6bb2906 --- /dev/null +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:aapt="http://schemas.android.com/aapt" + android:width="108dp" + android:height="108dp" + android:viewportWidth="108" + android:viewportHeight="108"> + <path + android:fillType="evenOdd" + android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z" + android:strokeWidth="1" + android:strokeColor="#00000000"> + <aapt:attr name="android:fillColor"> + <gradient + android:endX="78.5885" + android:endY="90.9159" + android:startX="48.7653" + android:startY="61.0927" + android:type="linear"> + <item + android:color="#44000000" + android:offset="0.0" /> + <item + android:color="#00000000" + android:offset="1.0" /> + </gradient> + </aapt:attr> + </path> + <path + android:fillColor="#FFFFFF" + android:fillType="nonZero" + android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> +</vector> diff --git a/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable/ic_launcher_background.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 000000000..0d025f9bf --- /dev/null +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="utf-8"?> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="108dp" + android:height="108dp" + android:viewportWidth="108" + android:viewportHeight="108"> + <path + android:fillColor="#008577" + android:pathData="M0,0h108v108h-108z" /> + <path + android:fillColor="#00000000" + android:pathData="M9,0L9,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,0L19,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M29,0L29,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M39,0L39,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M49,0L49,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M59,0L59,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M69,0L69,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M79,0L79,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M89,0L89,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M99,0L99,108" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,9L108,9" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,19L108,19" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,29L108,29" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,39L108,39" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,49L108,49" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,59L108,59" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,69L108,69" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,79L108,79" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,89L108,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M0,99L108,99" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,29L89,29" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,39L89,39" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,49L89,49" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,59L89,59" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,69L89,69" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M19,79L89,79" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M29,19L29,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M39,19L39,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M49,19L49,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M59,19L59,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M69,19L69,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> + <path + android:fillColor="#00000000" + android:pathData="M79,19L79,89" + android:strokeWidth="0.8" + android:strokeColor="#33FFFFFF" /> +</vector> diff --git a/experimental/add_to_app/android_fullscreen/app/src/main/res/layout/activity_main.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..4d1c91af6 --- /dev/null +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".MainActivity"> + + <Button + android:id="@+id/launch_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Launch Flutter Activity" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 88% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index bbd3e0212..eca70cfe5 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> - <background android:drawable="@drawable/ic_launcher_background"/> - <foreground android:drawable="@drawable/ic_launcher_foreground"/> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> \ No newline at end of file diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml similarity index 88% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index bbd3e0212..eca70cfe5 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> - <background android:drawable="@drawable/ic_launcher_background"/> - <foreground android:drawable="@drawable/ic_launcher_foreground"/> + <background android:drawable="@drawable/ic_launcher_background" /> + <foreground android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> \ No newline at end of file diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-hdpi/ic_launcher.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-mdpi/ic_launcher.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to experimental/add_to_app/android_fullscreen/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/colors.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/values/colors.xml similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/colors.xml rename to experimental/add_to_app/android_fullscreen/app/src/main/res/values/colors.xml diff --git a/experimental/add_to_app/android_fullscreen/app/src/main/res/values/strings.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/values/strings.xml new file mode 100644 index 000000000..177f96a2c --- /dev/null +++ b/experimental/add_to_app/android_fullscreen/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">AndroidFullScreen</string> +</resources> diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/styles.xml b/experimental/add_to_app/android_fullscreen/app/src/main/res/values/styles.xml similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/app/src/main/res/values/styles.xml rename to experimental/add_to_app/android_fullscreen/app/src/main/res/values/styles.xml diff --git a/experimental/add_to_app/SimpleAndroidApp/app/src/test/java/com/example/simpleandroidapp/ExampleUnitTest.kt b/experimental/add_to_app/android_fullscreen/app/src/test/java/dev/flutter/example/androidfullscreen/ExampleUnitTest.kt similarity index 60% rename from experimental/add_to_app/SimpleAndroidApp/app/src/test/java/com/example/simpleandroidapp/ExampleUnitTest.kt rename to experimental/add_to_app/android_fullscreen/app/src/test/java/dev/flutter/example/androidfullscreen/ExampleUnitTest.kt index 1ee9acf15..2f7edae68 100644 --- a/experimental/add_to_app/SimpleAndroidApp/app/src/test/java/com/example/simpleandroidapp/ExampleUnitTest.kt +++ b/experimental/add_to_app/android_fullscreen/app/src/test/java/dev/flutter/example/androidfullscreen/ExampleUnitTest.kt @@ -1,4 +1,8 @@ -package com.example.simpleandroidapp +// Copyright 2019 The Flutter team. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package dev.flutter.example.androidfullscreen import org.junit.Test diff --git a/experimental/add_to_app/SimpleAndroidApp/build.gradle b/experimental/add_to_app/android_fullscreen/build.gradle similarity index 65% rename from experimental/add_to_app/SimpleAndroidApp/build.gradle rename to experimental/add_to_app/android_fullscreen/build.gradle index ef89239af..72bba27c8 100644 --- a/experimental/add_to_app/SimpleAndroidApp/build.gradle +++ b/experimental/add_to_app/android_fullscreen/build.gradle @@ -1,15 +1,17 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.41' + ext.kotlin_version = '1.3.50' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.2' + classpath 'com.android.tools.build:gradle:3.5.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files } } @@ -17,7 +19,6 @@ allprojects { repositories { google() jcenter() - } } diff --git a/experimental/add_to_app/SimpleAndroidApp/gradle.properties b/experimental/add_to_app/android_fullscreen/gradle.properties similarity index 70% rename from experimental/add_to_app/SimpleAndroidApp/gradle.properties rename to experimental/add_to_app/android_fullscreen/gradle.properties index 85be9eade..23339e0df 100644 --- a/experimental/add_to_app/SimpleAndroidApp/gradle.properties +++ b/experimental/add_to_app/android_fullscreen/gradle.properties @@ -11,5 +11,11 @@ org.gradle.jvmargs=-Xmx1536m # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official diff --git a/experimental/add_to_app/SimpleAndroidApp/gradle/wrapper/gradle-wrapper.jar b/experimental/add_to_app/android_fullscreen/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/gradle/wrapper/gradle-wrapper.jar rename to experimental/add_to_app/android_fullscreen/gradle/wrapper/gradle-wrapper.jar diff --git a/experimental/add_to_app/SimpleAndroidApp/gradle/wrapper/gradle-wrapper.properties b/experimental/add_to_app/android_fullscreen/gradle/wrapper/gradle-wrapper.properties similarity index 80% rename from experimental/add_to_app/SimpleAndroidApp/gradle/wrapper/gradle-wrapper.properties rename to experimental/add_to_app/android_fullscreen/gradle/wrapper/gradle-wrapper.properties index b431a3486..ec11f69a2 100644 --- a/experimental/add_to_app/SimpleAndroidApp/gradle/wrapper/gradle-wrapper.properties +++ b/experimental/add_to_app/android_fullscreen/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Aug 28 13:36:43 PDT 2019 +#Tue Sep 17 09:33:13 PDT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/experimental/add_to_app/SimpleAndroidApp/gradlew b/experimental/add_to_app/android_fullscreen/gradlew similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/gradlew rename to experimental/add_to_app/android_fullscreen/gradlew diff --git a/experimental/add_to_app/SimpleAndroidApp/gradlew.bat b/experimental/add_to_app/android_fullscreen/gradlew.bat similarity index 100% rename from experimental/add_to_app/SimpleAndroidApp/gradlew.bat rename to experimental/add_to_app/android_fullscreen/gradlew.bat diff --git a/experimental/add_to_app/SimpleAndroidApp/settings.gradle b/experimental/add_to_app/android_fullscreen/settings.gradle similarity index 52% rename from experimental/add_to_app/SimpleAndroidApp/settings.gradle rename to experimental/add_to_app/android_fullscreen/settings.gradle index 95f100f68..19816f4e8 100644 --- a/experimental/add_to_app/SimpleAndroidApp/settings.gradle +++ b/experimental/add_to_app/android_fullscreen/settings.gradle @@ -1,6 +1,7 @@ include ':app' +rootProject.name='AndroidFullScreen' setBinding(new Binding([gradle: this])) evaluate(new File( settingsDir.parentFile, - 'example_module/.android/include_flutter.groovy' -)) + 'flutter_module/.android/include_flutter.groovy' +)) \ No newline at end of file diff --git a/experimental/add_to_app/example_module/README.md b/experimental/add_to_app/example_module/README.md deleted file mode 100644 index 466cc2af4..000000000 --- a/experimental/add_to_app/example_module/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# example_module - -A simple module to be embedded in other host apps, used to demo Flutter's -add-to-app process. diff --git a/experimental/add_to_app/example_module/analysis_options.yaml b/experimental/add_to_app/example_module/analysis_options.yaml deleted file mode 100644 index b9a01f119..000000000 --- a/experimental/add_to_app/example_module/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -include: package:pedantic/analysis_options.1.7.0.yaml - -analyzer: - strong-mode: - implicit-casts: false - implicit-dynamic: false - -linter: - rules: - - avoid_types_on_closure_parameters - - avoid_void_async - - await_only_futures - - camel_case_types - - cancel_subscriptions - - close_sinks - - constant_identifier_names - - control_flow_in_finally - - empty_statements - - hash_and_equals - - implementation_imports - - non_constant_identifier_names - - package_api_docs - - package_names - - package_prefixed_library_names - - test_types_in_equals - - throw_in_finally - - unnecessary_brace_in_string_interps - - unnecessary_getters_setters - - unnecessary_new - - unnecessary_statements diff --git a/experimental/add_to_app/example_module/test/widget_test.dart b/experimental/add_to_app/example_module/test/widget_test.dart deleted file mode 100644 index acee7afc2..000000000 --- a/experimental/add_to_app/example_module/test/widget_test.dart +++ /dev/null @@ -1,12 +0,0 @@ -// 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_test/flutter_test.dart'; - -void main() { - testWidgets('This test always passes', (tester) async {}); -} diff --git a/experimental/add_to_app/example_module/.gitignore b/experimental/add_to_app/flutter_module/.gitignore similarity index 100% rename from experimental/add_to_app/example_module/.gitignore rename to experimental/add_to_app/flutter_module/.gitignore diff --git a/experimental/add_to_app/example_module/.metadata b/experimental/add_to_app/flutter_module/.metadata similarity index 76% rename from experimental/add_to_app/example_module/.metadata rename to experimental/add_to_app/flutter_module/.metadata index c50afd15a..6e01ad48c 100644 --- a/experimental/add_to_app/example_module/.metadata +++ b/experimental/add_to_app/flutter_module/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: 92ef2b9ce1d4e54d5efb3e6a962e9e724dc7efeb - channel: master + revision: 2d2a1ffec95cc70a3218872a2cd3f8de4933c42f + channel: stable project_type: module diff --git a/experimental/add_to_app/flutter_module/README.md b/experimental/add_to_app/flutter_module/README.md new file mode 100644 index 000000000..cfc32de14 --- /dev/null +++ b/experimental/add_to_app/flutter_module/README.md @@ -0,0 +1,10 @@ +# flutter_module + +An example Flutter module used in the Flutter add-to-app samples. + +## Getting Started + +For more information, see the Add-to-App guide at +[flutter.dev](https://flutter.dev): + +https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps \ No newline at end of file diff --git a/experimental/add_to_app/example_module/lib/main.dart b/experimental/add_to_app/flutter_module/lib/main.dart similarity index 83% rename from experimental/add_to_app/example_module/lib/main.dart rename to experimental/add_to_app/flutter_module/lib/main.dart index 267418769..faca10fda 100644 --- a/experimental/add_to_app/example_module/lib/main.dart +++ b/experimental/add_to_app/flutter_module/lib/main.dart @@ -14,7 +14,7 @@ class MyApp extends StatelessWidget { title: 'Flutter Module Title', routes: { '/': (context) => FullScreenView(), - '/mini': (context) => MiniView(), + '/mini': (context) => Contents(), }, ); } @@ -25,23 +25,23 @@ class FullScreenView extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('A Full-screen Flutter View'), + title: Text('Full-screen Flutter'), ), - body: const MiniView(showExit: true), + body: const Contents(showExit: true), ); } } -class MiniView extends StatefulWidget { +class Contents extends StatefulWidget { final bool showExit; - const MiniView({this.showExit = false}); + const Contents({this.showExit = false}); @override - _MiniViewState createState() => _MiniViewState(); + _ContentsState createState() => _ContentsState(); } -class _MiniViewState extends State<MiniView> { +class _ContentsState extends State<Contents> { int count = 0; @override @@ -72,8 +72,8 @@ class _MiniViewState extends State<MiniView> { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - 'Window is ${mediaInfo.size.width} x ' - '${mediaInfo.size.height}.', + 'Window is ${mediaInfo.size.width.toStringAsFixed(1)} x ' + '${mediaInfo.size.height.toStringAsFixed(1)}', style: Theme.of(context).textTheme.headline, ), SizedBox(height: 16), diff --git a/experimental/add_to_app/example_module/pubspec.lock b/experimental/add_to_app/flutter_module/pubspec.lock similarity index 98% rename from experimental/add_to_app/example_module/pubspec.lock rename to experimental/add_to_app/flutter_module/pubspec.lock index c797a1ca9..4df5619f3 100644 --- a/experimental/add_to_app/example_module/pubspec.lock +++ b/experimental/add_to_app/flutter_module/pubspec.lock @@ -56,7 +56,7 @@ packages: name: crypto url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" flutter: dependency: "direct main" description: flutter @@ -96,7 +96,7 @@ packages: source: hosted version: "1.6.4" pedantic: - dependency: "direct dev" + dependency: transitive description: name: pedantic url: "https://pub.dartlang.org" @@ -185,4 +185,4 @@ packages: source: hosted version: "3.5.0" sdks: - dart: ">=2.4.0 <3.0.0" + dart: ">=2.5.0 <3.0.0" diff --git a/experimental/add_to_app/example_module/pubspec.yaml b/experimental/add_to_app/flutter_module/pubspec.yaml similarity index 71% rename from experimental/add_to_app/example_module/pubspec.yaml rename to experimental/add_to_app/flutter_module/pubspec.yaml index ec416bf43..ab6e75ff1 100644 --- a/experimental/add_to_app/example_module/pubspec.yaml +++ b/experimental/add_to_app/flutter_module/pubspec.yaml @@ -1,7 +1,7 @@ -name: example_module -description: A simple module used to demo Flutter's Add-to-App features +name: flutter_module +description: An example Flutter module. -version: 1.0.0 +version: 1.0.0+1 environment: sdk: ">=2.5.0 <3.0.0" @@ -13,7 +13,6 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pedantic: ^1.8.0+1 flutter: uses-material-design: true @@ -25,6 +24,6 @@ flutter: # They also do not have any bearing on your native host application's # identifiers, which may be completely independent or the same as these. module: - androidX: false - androidPackage: com.example.example_module - iosBundleIdentifier: com.example.exampleModule + androidX: true + androidPackage: dev.flutter.example.flutter_module + iosBundleIdentifier: dev.flutter.example.flutterModule diff --git a/experimental/add_to_app/flutter_module/test/widget_test.dart b/experimental/add_to_app/flutter_module/test/widget_test.dart new file mode 100644 index 000000000..1715a84c1 --- /dev/null +++ b/experimental/add_to_app/flutter_module/test/widget_test.dart @@ -0,0 +1,34 @@ +// 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:flutter_module/main.dart'; + +void main() { + testWidgets('MiniView smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget( + MaterialApp( + home: Contents(), + ), + ); + + // Verify that our counter starts at 0. + expect(find.text('Taps: 0'), findsOneWidget); + expect(find.text('Taps: 1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.text('Tap me!')); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('Taps: 0'), findsNothing); + expect(find.text('Taps: 1'), findsOneWidget); + }); +} diff --git a/experimental/add_to_app/flutter_module_using_plugin/.gitignore b/experimental/add_to_app/flutter_module_using_plugin/.gitignore new file mode 100644 index 000000000..cdecf14aa --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/.gitignore @@ -0,0 +1,41 @@ +.DS_Store +.dart_tool/ + +.packages +.pub/ + +.idea/ +.vagrant/ +.sconsign.dblite +.svn/ + +*.swp +profile + +DerivedData/ + +.generated/ + +*.pbxuser +*.mode1v3 +*.mode2v3 +*.perspectivev3 + +!default.pbxuser +!default.mode1v3 +!default.mode2v3 +!default.perspectivev3 + +xcuserdata + +*.moved-aside + +*.pyc +*sync/ +Icon? +.tags* + +build/ +.android/ +.ios/ +.flutter-plugins diff --git a/experimental/add_to_app/flutter_module_using_plugin/.metadata b/experimental/add_to_app/flutter_module_using_plugin/.metadata new file mode 100644 index 000000000..6e01ad48c --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/.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: 2d2a1ffec95cc70a3218872a2cd3f8de4933c42f + channel: stable + +project_type: module diff --git a/experimental/add_to_app/flutter_module_using_plugin/README.md b/experimental/add_to_app/flutter_module_using_plugin/README.md new file mode 100644 index 000000000..68f38c47f --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/README.md @@ -0,0 +1,11 @@ +# flutter_module_using_plugin + +An example Flutter module that uses a plugin and is consumed by native apps +in the Flutter add-to-app samples. + +## Getting Started + +For more information, see the Add-to-App guide at +[flutter.dev](https://flutter.dev): + +https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps \ No newline at end of file diff --git a/experimental/add_to_app/flutter_module_using_plugin/lib/main.dart b/experimental/add_to_app/flutter_module_using_plugin/lib/main.dart new file mode 100644 index 000000000..2529d0222 --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/lib/main.dart @@ -0,0 +1,134 @@ +// Copyright 2019 The Flutter team. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:path_provider/path_provider.dart' as paths; + +void main() => runApp(MyApp()); + +class MyApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Module Title', + routes: { + '/': (context) => FullScreenView(), + '/mini': (context) => Contents(), + }, + ); + } +} + +class FullScreenView extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text('Full-screen Flutter with plugin'), + ), + body: const Contents(showExit: true), + ); + } +} + +class Contents extends StatefulWidget { + final bool showExit; + + const Contents({this.showExit = false}); + + @override + _ContentsState createState() => _ContentsState(); +} + +class _ContentsState extends State<Contents> { + int count = 0; + + // Start off with a completed future so the FutureBuilder code below doesn't + // need to worry about null. + Future<void> saveFuture = Future.value(null); + + Future<void> _saveCount() async { + final dir = await paths.getApplicationDocumentsDirectory(); + final file = File('${dir.path}/count.txt'); + setState(() { + saveFuture = file.writeAsString('$count\n'); + }); + } + + @override + Widget build(BuildContext context) { + final mediaInfo = MediaQuery.of(context); + + return SizedBox.expand( + child: Stack( + children: [ + Positioned.fill( + child: DecoratedBox( + decoration: BoxDecoration( + color: Theme.of(context).scaffoldBackgroundColor, + ), + ), + ), + Positioned.fill( + child: Opacity( + opacity: .25, + child: FittedBox( + fit: BoxFit.cover, + child: FlutterLogo(), + ), + ), + ), + Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Window is ${mediaInfo.size.width.toStringAsFixed(1)} x ' + '${mediaInfo.size.height.toStringAsFixed(1)}', + style: Theme.of(context).textTheme.headline, + ), + SizedBox(height: 16), + Text( + 'Taps: $count', + style: Theme.of(context).textTheme.headline, + ), + SizedBox(height: 16), + RaisedButton( + onPressed: () => setState(() => count++), + child: Text('Tap me!'), + ), + FutureBuilder( + future: saveFuture, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + return RaisedButton( + onPressed: _saveCount, + child: Text('Save count'), + ); + } else { + return RaisedButton( + onPressed: null, + child: Text('Save count'), + ); + } + }, + ), + if (widget.showExit) ...[ + SizedBox(height: 16), + RaisedButton( + onPressed: () => SystemNavigator.pop(), + child: Text('Exit this screen'), + ), + ], + ], + ), + ), + ], + ), + ); + } +} diff --git a/experimental/add_to_app/flutter_module_using_plugin/pubspec.lock b/experimental/add_to_app/flutter_module_using_plugin/pubspec.lock new file mode 100644 index 000000000..408e17766 --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/pubspec.lock @@ -0,0 +1,203 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + archive: + dependency: transitive + description: + name: archive + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.10" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.2" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.2" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.14.11" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + image: + dependency: transitive + description: + name: image + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.4" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.7" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.4" + path_provider: + dependency: "direct main" + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0+1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "2.4.0" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" + quiver: + dependency: transitive + description: + name: quiver + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + 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.5.5" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.3" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.5" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.6" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.8" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "3.5.0" +sdks: + dart: ">=2.5.0 <3.0.0" + flutter: ">=0.1.4 <2.0.0" diff --git a/experimental/add_to_app/flutter_module_using_plugin/pubspec.yaml b/experimental/add_to_app/flutter_module_using_plugin/pubspec.yaml new file mode 100644 index 000000000..a290653ef --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/pubspec.yaml @@ -0,0 +1,30 @@ +name: flutter_module_using_plugin +description: An example Flutter module that uses a plugin. + +version: 1.0.0+1 + +environment: + sdk: ">=2.5.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + path_provider: ^1.3.0 + +dev_dependencies: + flutter_test: + sdk: flutter + +flutter: + uses-material-design: true + + # This section identifies your Flutter project as a module meant for + # embedding in a native host app. These identifiers should _not_ ordinarily + # be changed after generation - they are used to ensure that the tooling can + # maintain consistency when adding or modifying assets and plugins. + # They also do not have any bearing on your native host application's + # identifiers, which may be completely independent or the same as these. + module: + androidX: true + androidPackage: dev.flutter.example.flutter_module_using_plugin + iosBundleIdentifier: dev.flutter.example.flutterModuleUsingPlugin diff --git a/experimental/add_to_app/flutter_module_using_plugin/test/widget_test.dart b/experimental/add_to_app/flutter_module_using_plugin/test/widget_test.dart new file mode 100644 index 000000000..e5292f02b --- /dev/null +++ b/experimental/add_to_app/flutter_module_using_plugin/test/widget_test.dart @@ -0,0 +1,34 @@ +// 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:flutter_module_using_plugin/main.dart'; + +void main() { + testWidgets('MiniView smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget( + MaterialApp( + home: Contents(), + ), + ); + + // Verify that our counter starts at 0. + expect(find.text('Taps: 0'), findsOneWidget); + expect(find.text('Taps: 1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.text('Tap me!')); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('Taps: 0'), findsNothing); + expect(find.text('Taps: 1'), findsOneWidget); + }); +} diff --git a/experimental/add_to_app/SimpleIOSExample/.gitignore b/experimental/add_to_app/ios_fullscreen/.gitignore similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/.gitignore rename to experimental/add_to_app/ios_fullscreen/.gitignore diff --git a/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.pbxproj b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.pbxproj new file mode 100644 index 000000000..0a4a4922e --- /dev/null +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.pbxproj @@ -0,0 +1,738 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 26DF66D8233136460076ACA6 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66D7233136460076ACA6 /* AppDelegate.swift */; }; + 26DF66DA233136460076ACA6 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66D9233136460076ACA6 /* ViewController.swift */; }; + 26DF66DD233136460076ACA6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66DB233136460076ACA6 /* Main.storyboard */; }; + 26DF66DF233136470076ACA6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66DE233136470076ACA6 /* Assets.xcassets */; }; + 26DF66E2233136470076ACA6 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */; }; + 26DF66ED233136470076ACA6 /* IOSFullScreenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */; }; + 26DF66F8233136470076ACA6 /* IOSFullScreenUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */; }; + 42C8EE420484E88D28837503 /* Pods_IOSFullScreen.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */; }; + 64FAE13E1550BFFAED130B07 /* Pods_IOSFullScreenTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */; }; + AE49A30D776B0238C3AF442D /* Pods_IOSFullScreenUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 26DF66E9233136470076ACA6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 26DF66CC233136450076ACA6 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 26DF66D3233136460076ACA6; + remoteInfo = IOSFullScreen; + }; + 26DF66F4233136470076ACA6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 26DF66CC233136450076ACA6 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 26DF66D3233136460076ACA6; + remoteInfo = IOSFullScreen; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenUITests.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenUITests/Pods-IOSFullScreenUITests.debug.xcconfig"; sourceTree = "<group>"; }; + 26DF66D4233136460076ACA6 /* IOSFullScreen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IOSFullScreen.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 26DF66D7233136460076ACA6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; + 26DF66D9233136460076ACA6 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; }; + 26DF66DC233136460076ACA6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; + 26DF66DE233136470076ACA6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; + 26DF66E1233136470076ACA6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; + 26DF66E3233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IOSFullScreenTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOSFullScreenTests.swift; sourceTree = "<group>"; }; + 26DF66EE233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IOSFullScreenUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOSFullScreenUITests.swift; sourceTree = "<group>"; }; + 26DF66F9233136470076ACA6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenTests.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenTests/Pods-IOSFullScreenTests.release.xcconfig"; sourceTree = "<group>"; }; + 7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenUITests.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenUITests/Pods-IOSFullScreenUITests.release.xcconfig"; sourceTree = "<group>"; }; + 750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreen.release.xcconfig"; path = "Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen.release.xcconfig"; sourceTree = "<group>"; }; + 81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreenUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreen.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IOSFullScreenTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreenTests.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreenTests/Pods-IOSFullScreenTests.debug.xcconfig"; sourceTree = "<group>"; }; + F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IOSFullScreen.debug.xcconfig"; path = "Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen.debug.xcconfig"; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 26DF66D1233136460076ACA6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 42C8EE420484E88D28837503 /* Pods_IOSFullScreen.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66E5233136470076ACA6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 64FAE13E1550BFFAED130B07 /* Pods_IOSFullScreenTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66F0233136470076ACA6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AE49A30D776B0238C3AF442D /* Pods_IOSFullScreenUITests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 26DF66CB233136450076ACA6 = { + isa = PBXGroup; + children = ( + 26DF66D6233136460076ACA6 /* IOSFullScreen */, + 26DF66EB233136470076ACA6 /* IOSFullScreenTests */, + 26DF66F6233136470076ACA6 /* IOSFullScreenUITests */, + 26DF66D5233136460076ACA6 /* Products */, + 43C5451D39DA3D51EFD818D6 /* Pods */, + E918EB8D6DBF7EF69C9948FE /* Frameworks */, + ); + sourceTree = "<group>"; + }; + 26DF66D5233136460076ACA6 /* Products */ = { + isa = PBXGroup; + children = ( + 26DF66D4233136460076ACA6 /* IOSFullScreen.app */, + 26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */, + 26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */, + ); + name = Products; + sourceTree = "<group>"; + }; + 26DF66D6233136460076ACA6 /* IOSFullScreen */ = { + isa = PBXGroup; + children = ( + 26DF66D7233136460076ACA6 /* AppDelegate.swift */, + 26DF66D9233136460076ACA6 /* ViewController.swift */, + 26DF66DB233136460076ACA6 /* Main.storyboard */, + 26DF66DE233136470076ACA6 /* Assets.xcassets */, + 26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */, + 26DF66E3233136470076ACA6 /* Info.plist */, + ); + path = IOSFullScreen; + sourceTree = "<group>"; + }; + 26DF66EB233136470076ACA6 /* IOSFullScreenTests */ = { + isa = PBXGroup; + children = ( + 26DF66EC233136470076ACA6 /* IOSFullScreenTests.swift */, + 26DF66EE233136470076ACA6 /* Info.plist */, + ); + path = IOSFullScreenTests; + sourceTree = "<group>"; + }; + 26DF66F6233136470076ACA6 /* IOSFullScreenUITests */ = { + isa = PBXGroup; + children = ( + 26DF66F7233136470076ACA6 /* IOSFullScreenUITests.swift */, + 26DF66F9233136470076ACA6 /* Info.plist */, + ); + path = IOSFullScreenUITests; + sourceTree = "<group>"; + }; + 43C5451D39DA3D51EFD818D6 /* Pods */ = { + isa = PBXGroup; + children = ( + F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */, + 750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */, + AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */, + 50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */, + 17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */, + 7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */, + ); + path = Pods; + sourceTree = "<group>"; + }; + E918EB8D6DBF7EF69C9948FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + 85CA70120AD0D203471CB7F5 /* Pods_IOSFullScreen.framework */, + 937908EB34261AC01440B337 /* Pods_IOSFullScreenTests.framework */, + 81170F2DD642E89CFA65F6B0 /* Pods_IOSFullScreenUITests.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 26DF66D3233136460076ACA6 /* IOSFullScreen */ = { + isa = PBXNativeTarget; + buildConfigurationList = 26DF66FC233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreen" */; + buildPhases = ( + 9AB0355F19DEFA7A4ECCC777 /* [CP] Check Pods Manifest.lock */, + 0BF3AED57F87BA9DB9D32908 /* [CP-User] Run Flutter Build Script */, + 26DF66D0233136460076ACA6 /* Sources */, + 26DF66D1233136460076ACA6 /* Frameworks */, + 26DF66D2233136460076ACA6 /* Resources */, + D1C2795C35803D65EBC8B371 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = IOSFullScreen; + productName = IOSFullScreen; + productReference = 26DF66D4233136460076ACA6 /* IOSFullScreen.app */; + productType = "com.apple.product-type.application"; + }; + 26DF66E7233136470076ACA6 /* IOSFullScreenTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 26DF66FF233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenTests" */; + buildPhases = ( + 06E395B0ACB759F609260858 /* [CP] Check Pods Manifest.lock */, + 26DF66E4233136470076ACA6 /* Sources */, + 26DF66E5233136470076ACA6 /* Frameworks */, + 26DF66E6233136470076ACA6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 26DF66EA233136470076ACA6 /* PBXTargetDependency */, + ); + name = IOSFullScreenTests; + productName = IOSFullScreenTests; + productReference = 26DF66E8233136470076ACA6 /* IOSFullScreenTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 26DF66F2233136470076ACA6 /* IOSFullScreenUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 26DF6702233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenUITests" */; + buildPhases = ( + C73209EF6AC199B8584ED9E2 /* [CP] Check Pods Manifest.lock */, + 26DF66EF233136470076ACA6 /* Sources */, + 26DF66F0233136470076ACA6 /* Frameworks */, + 26DF66F1233136470076ACA6 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 26DF66F5233136470076ACA6 /* PBXTargetDependency */, + ); + name = IOSFullScreenUITests; + productName = IOSFullScreenUITests; + productReference = 26DF66F3233136470076ACA6 /* IOSFullScreenUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 26DF66CC233136450076ACA6 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1030; + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = "Andrew Brogdon"; + TargetAttributes = { + 26DF66D3233136460076ACA6 = { + CreatedOnToolsVersion = 10.3; + }; + 26DF66E7233136470076ACA6 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = 26DF66D3233136460076ACA6; + }; + 26DF66F2233136470076ACA6 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = 26DF66D3233136460076ACA6; + }; + }; + }; + buildConfigurationList = 26DF66CF233136460076ACA6 /* Build configuration list for PBXProject "IOSFullScreen" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 26DF66CB233136450076ACA6; + productRefGroup = 26DF66D5233136460076ACA6 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 26DF66D3233136460076ACA6 /* IOSFullScreen */, + 26DF66E7233136470076ACA6 /* IOSFullScreenTests */, + 26DF66F2233136470076ACA6 /* IOSFullScreenUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 26DF66D2233136460076ACA6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 26DF66E2233136470076ACA6 /* LaunchScreen.storyboard in Resources */, + 26DF66DF233136470076ACA6 /* Assets.xcassets in Resources */, + 26DF66DD233136460076ACA6 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66E6233136470076ACA6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66F1233136470076ACA6 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 06E395B0ACB759F609260858 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-IOSFullScreenTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 0BF3AED57F87BA9DB9D32908 /* [CP-User] Run Flutter Build Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/../flutter_module/.metadata", + "${SRCROOT}/../flutter_module/.ios/Flutter/App.framework/App", + "${SRCROOT}/../flutter_module/.ios/Flutter/engine/Flutter.framework/Flutter", + "${SRCROOT}/../flutter_module/.ios/Flutter/flutter_export_environment.sh", + ); + name = "[CP-User] Run Flutter Build Script"; + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\nset -u\nsource \"${SRCROOT}/../flutter_module/.ios/Flutter/flutter_export_environment.sh\"\n\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build"; + }; + 9AB0355F19DEFA7A4ECCC777 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-IOSFullScreen-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + C73209EF6AC199B8584ED9E2 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-IOSFullScreenUITests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + D1C2795C35803D65EBC8B371 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-IOSFullScreen/Pods-IOSFullScreen-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 26DF66D0233136460076ACA6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 26DF66DA233136460076ACA6 /* ViewController.swift in Sources */, + 26DF66D8233136460076ACA6 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66E4233136470076ACA6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 26DF66ED233136470076ACA6 /* IOSFullScreenTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 26DF66EF233136470076ACA6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 26DF66F8233136470076ACA6 /* IOSFullScreenUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 26DF66EA233136470076ACA6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 26DF66D3233136460076ACA6 /* IOSFullScreen */; + targetProxy = 26DF66E9233136470076ACA6 /* PBXContainerItemProxy */; + }; + 26DF66F5233136470076ACA6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 26DF66D3233136460076ACA6 /* IOSFullScreen */; + targetProxy = 26DF66F4233136470076ACA6 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 26DF66DB233136460076ACA6 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 26DF66DC233136460076ACA6 /* Base */, + ); + name = Main.storyboard; + sourceTree = "<group>"; + }; + 26DF66E0233136470076ACA6 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 26DF66E1233136470076ACA6 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = "<group>"; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 26DF66FA233136470076ACA6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = 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_DOCUMENTATION_COMMENTS = YES; + 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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 = 12.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 26DF66FB233136470076ACA6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = 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_DOCUMENTATION_COMMENTS = YES; + 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "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 = gnu11; + 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 = 12.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 26DF66FD233136470076ACA6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F3E00AFDA1215B19C1529F65 /* Pods-IOSFullScreen.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreen/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreen; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 26DF66FE233136470076ACA6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 750B863A0BD89C42022775B7 /* Pods-IOSFullScreen.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreen/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreen; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 26DF6700233136470076ACA6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AEC2707B63771A7B5BCBA3BA /* Pods-IOSFullScreenTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreenTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IOSFullScreen.app/IOSFullScreen"; + }; + name = Debug; + }; + 26DF6701233136470076ACA6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 50F0D2063E957E2CFB3FC613 /* Pods-IOSFullScreenTests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreenTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IOSFullScreen.app/IOSFullScreen"; + }; + name = Release; + }; + 26DF6703233136470076ACA6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 17D7E4C45A10187E410660B5 /* Pods-IOSFullScreenUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreenUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = IOSFullScreen; + }; + name = Debug; + }; + 26DF6704233136470076ACA6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7030247FF147F5595C8471BF /* Pods-IOSFullScreenUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = IOSFullScreenUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.IOSFullScreenUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = IOSFullScreen; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 26DF66CF233136460076ACA6 /* Build configuration list for PBXProject "IOSFullScreen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26DF66FA233136470076ACA6 /* Debug */, + 26DF66FB233136470076ACA6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 26DF66FC233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreen" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26DF66FD233136470076ACA6 /* Debug */, + 26DF66FE233136470076ACA6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 26DF66FF233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26DF6700233136470076ACA6 /* Debug */, + 26DF6701233136470076ACA6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 26DF6702233136470076ACA6 /* Build configuration list for PBXNativeTarget "IOSFullScreenUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 26DF6703233136470076ACA6 /* Debug */, + 26DF6704233136470076ACA6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 26DF66CC233136450076ACA6 /* Project object */; +} diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 67% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 72c6f54ec..67a71ca18 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ <Workspace version = "1.0"> <FileRef - location = "self:SimpleIOSExample.xcodeproj"> + location = "self:IOSFullScreen.xcodeproj"> </FileRef> </Workspace> diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcworkspace/contents.xcworkspacedata b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcworkspace/contents.xcworkspacedata similarity index 77% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcworkspace/contents.xcworkspacedata rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcworkspace/contents.xcworkspacedata index a2a42c6ce..d76cd2a37 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcworkspace/contents.xcworkspacedata +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ <Workspace version = "1.0"> <FileRef - location = "group:SimpleIOSExample.xcodeproj"> + location = "group:IOSFullScreen.xcodeproj"> </FileRef> <FileRef location = "group:Pods/Pods.xcodeproj"> diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/AppDelegate.swift b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/AppDelegate.swift similarity index 78% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/AppDelegate.swift rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/AppDelegate.swift index 4bbefdd0e..a4ef063b3 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/AppDelegate.swift +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/AppDelegate.swift @@ -7,15 +7,15 @@ import Flutter @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - - var flutterEngine : FlutterEngine?; + + var flutterEngine : FlutterEngine? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - self.flutterEngine = FlutterEngine(name: "io.flutter", project: nil); - self.flutterEngine?.run(withEntrypoint: nil); + // Instantiate Flutter engine + self.flutterEngine = FlutterEngine(name: "io.flutter", project: nil) + self.flutterEngine?.run(withEntrypoint: nil) + return true } } - diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Assets.xcassets/AppIcon.appiconset/Contents.json b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Assets.xcassets/AppIcon.appiconset/Contents.json rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Assets.xcassets/Contents.json b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Assets.xcassets/Contents.json similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Assets.xcassets/Contents.json rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/Assets.xcassets/Contents.json diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Base.lproj/LaunchScreen.storyboard b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Base.lproj/LaunchScreen.storyboard rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/Base.lproj/LaunchScreen.storyboard diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Base.lproj/Main.storyboard b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Base.lproj/Main.storyboard similarity index 76% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Base.lproj/Main.storyboard rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/Base.lproj/Main.storyboard index ecba6efa5..2f5ae7350 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Base.lproj/Main.storyboard +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Base.lproj/Main.storyboard @@ -13,23 +13,23 @@ <!--View Controller--> <scene sceneID="tne-QT-ifu"> <objects> - <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="SimpleIOSExample" customModuleProvider="target" sceneMemberID="viewController"> + <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="IOSFullScreen" customModuleProvider="target" sceneMemberID="viewController"> <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cha-dF-ymy"> - <rect key="frame" x="63.5" y="433" width="287" height="30"/> - <state key="normal" title="Tap me to launch a Flutter View Controller"/> + <button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cnf-d3-wlx"> + <rect key="frame" x="105" y="432" width="204" height="30"/> + <state key="normal" title="Launch Flutter ViewController"/> <connections> - <action selector="buttonWasTapped:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="GLf-oY-4ya"/> + <action selector="buttonWasTapped:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="yLP-26-wPf"/> </connections> </button> </subviews> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> - <constraint firstItem="Cha-dF-ymy" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="uZ5-CP-pGV"/> - <constraint firstItem="Cha-dF-ymy" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="znS-vE-sO1"/> + <constraint firstItem="Cnf-d3-wlx" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="IZY-8s-o5L"/> + <constraint firstItem="Cnf-d3-wlx" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="ofh-fr-CHR"/> </constraints> <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> </view> diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Info.plist b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/Info.plist similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/Info.plist rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/Info.plist diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/ViewController.swift b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/ViewController.swift similarity index 87% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/ViewController.swift rename to experimental/add_to_app/ios_fullscreen/IOSFullScreen/ViewController.swift index 363e79e29..76976b3aa 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExample/ViewController.swift +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreen/ViewController.swift @@ -6,10 +6,10 @@ import UIKit import Flutter class ViewController: UIViewController { - @IBAction func buttonWasTapped(_ sender: Any) { - let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine; - let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)!; + let flutterEngine = (UIApplication.shared.delegate as? AppDelegate)?.flutterEngine + let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)! self.present(flutterViewController, animated: false, completion: nil) } } + diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleTests/SimpleIOSExampleTests.swift b/experimental/add_to_app/ios_fullscreen/IOSFullScreenTests/IOSFullScreenTests.swift similarity index 91% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleTests/SimpleIOSExampleTests.swift rename to experimental/add_to_app/ios_fullscreen/IOSFullScreenTests/IOSFullScreenTests.swift index f7f3840fc..0eafb491b 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleTests/SimpleIOSExampleTests.swift +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreenTests/IOSFullScreenTests.swift @@ -3,9 +3,9 @@ // found in the LICENSE file. import XCTest -@testable import SimpleIOSExample +@testable import IOSFullScreen -class SimpleIOSExampleTests: XCTestCase { +class IOSFullScreenTests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleTests/Info.plist b/experimental/add_to_app/ios_fullscreen/IOSFullScreenTests/Info.plist similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleTests/Info.plist rename to experimental/add_to_app/ios_fullscreen/IOSFullScreenTests/Info.plist diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleUITests/SimpleIOSExampleUITests.swift b/experimental/add_to_app/ios_fullscreen/IOSFullScreenUITests/IOSFullScreenUITests.swift similarity index 96% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleUITests/SimpleIOSExampleUITests.swift rename to experimental/add_to_app/ios_fullscreen/IOSFullScreenUITests/IOSFullScreenUITests.swift index 70ba51143..1def48909 100644 --- a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleUITests/SimpleIOSExampleUITests.swift +++ b/experimental/add_to_app/ios_fullscreen/IOSFullScreenUITests/IOSFullScreenUITests.swift @@ -4,7 +4,7 @@ import XCTest -class SimpleIOSExampleUITests: XCTestCase { +class IOSFullScreenUITests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. diff --git a/experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleUITests/Info.plist b/experimental/add_to_app/ios_fullscreen/IOSFullScreenUITests/Info.plist similarity index 100% rename from experimental/add_to_app/SimpleIOSExample/SimpleIOSExampleUITests/Info.plist rename to experimental/add_to_app/ios_fullscreen/IOSFullScreenUITests/Info.plist diff --git a/experimental/add_to_app/SimpleIOSExample/Podfile b/experimental/add_to_app/ios_fullscreen/Podfile similarity index 55% rename from experimental/add_to_app/SimpleIOSExample/Podfile rename to experimental/add_to_app/ios_fullscreen/Podfile index 0c2d93e2e..8b44b8c40 100644 --- a/experimental/add_to_app/SimpleIOSExample/Podfile +++ b/experimental/add_to_app/ios_fullscreen/Podfile @@ -1,25 +1,22 @@ # Uncomment the next line to define a global platform for your project # platform :ios, '9.0' -# These three lines add the dependencies for example_module to the workspace -# for the project: -flutter_application_path = '../example_module' -`pushd "#{flutter_application_path}" && flutter create . && popd` +flutter_application_path = '../flutter_module' load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb') -target 'SimpleIOSExample' do +target 'IOSFullScreen' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! - # Pods for SimpleIOSExample + # Pods for IOSFullScreen install_all_flutter_pods(flutter_application_path) - target 'SimpleIOSExampleTests' do + target 'IOSFullScreenTests' do inherit! :search_paths # Pods for testing end - target 'SimpleIOSExampleUITests' do + target 'IOSFullScreenUITests' do inherit! :search_paths # Pods for testing end diff --git a/experimental/add_to_app/ios_fullscreen/Podfile.lock b/experimental/add_to_app/ios_fullscreen/Podfile.lock new file mode 100644 index 000000000..3546304a9 --- /dev/null +++ b/experimental/add_to_app/ios_fullscreen/Podfile.lock @@ -0,0 +1,28 @@ +PODS: + - Flutter (1.0.0) + - flutter_module (0.0.1): + - Flutter + - FlutterPluginRegistrant (0.0.1): + - Flutter + +DEPENDENCIES: + - Flutter (from `../flutter_module/.ios/Flutter/engine`) + - flutter_module (from `../flutter_module/.ios/Flutter`) + - FlutterPluginRegistrant (from `../flutter_module/.ios/Flutter/FlutterPluginRegistrant`) + +EXTERNAL SOURCES: + Flutter: + :path: "../flutter_module/.ios/Flutter/engine" + flutter_module: + :path: "../flutter_module/.ios/Flutter" + FlutterPluginRegistrant: + :path: "../flutter_module/.ios/Flutter/FlutterPluginRegistrant" + +SPEC CHECKSUMS: + Flutter: 0e3d915762c693b495b44d77113d4970485de6ec + flutter_module: 37f078337caf8acad3074374a49bf81442fd3e07 + FlutterPluginRegistrant: d59dd07dd90e9c6430996073575a5bd1ea19677e + +PODFILE CHECKSUM: 3a2cacb59163f4a25654a84fcd92b179f682c008 + +COCOAPODS: 1.7.5