From d69e2f10d82cf89c6a5595624bc19c1917626f85 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Mon, 22 Feb 2021 14:46:04 -0800 Subject: [PATCH] Remove unused android_splash_screens integration test (#76429) --- ...ndroid_splash_screen_integration_test.dart | 12 -- .../lib/tasks/integration_tests.dart | 7 - dev/devicelab/manifest.yaml | 7 - .../splash_screen_kitchen_sink/.gitignore | 78 ------- .../splash_screen_kitchen_sink/.metadata | 10 - .../splash_screen_kitchen_sink/README.md | 23 --- .../android/app/build.gradle | 60 ------ .../android/app/src/debug/AndroidManifest.xml | 11 - .../android/app/src/main/AndroidManifest.xml | 37 ---- .../FlutterZoomSplashScreen.java | 68 ------- .../FlutterZoomSplashView.java | 160 --------------- .../MainActivity.java | 191 ------------------ .../flutter_splash_screen.png | Bin 3861 -> 0 bytes .../res/drawable-land/launch_background.xml | 16 -- .../drawable-xxhdpi/flutter_splash_screen.png | Bin 4428 -> 0 bytes .../main/res/drawable/launch_background.xml | 16 -- .../main/res/drawable/normal_background.xml | 7 - .../src/main/res/drawable/splash_screen.xml | 14 -- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../flutter_splash_screen.png | Bin 3861 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../mipmap-xxhdpi/flutter_splash_screen.png | Bin 4428 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values/styles.xml | 13 -- .../app/src/profile/AndroidManifest.xml | 11 - .../android/build.gradle | 33 --- .../android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 6 - .../android/settings.gradle | 15 -- .../splash_screen_kitchen_sink/lib/main.dart | 115 ----------- .../splash_screen_kitchen_sink/pubspec.yaml | 133 ------------ .../test/widget_test.dart | 34 ---- .../test_driver/main.dart | 55 ----- .../test_driver/main_test.dart | 76 ------- .../splash_screen_load_rotate/.gitignore | 75 ------- .../splash_screen_load_rotate/.metadata | 10 - .../splash_screen_load_rotate/README.md | 7 - .../android/app/build.gradle | 60 ------ .../android/app/src/debug/AndroidManifest.xml | 11 - .../android/app/src/main/AndroidManifest.xml | 32 --- .../MainActivity.java | 42 ---- .../NeverEndingSplashView.java | 114 ----------- .../SplashScreenThatNeverEnds.java | 59 ------ .../main/res/drawable/launch_background.xml | 12 -- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../android/app/src/main/res/values/ids.xml | 7 - .../app/src/main/res/values/styles.xml | 11 - .../app/src/profile/AndroidManifest.xml | 11 - .../android/build.gradle | 33 --- .../android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 6 - .../android/settings.gradle | 15 -- .../splash_screen_load_rotate/lib/main.dart | 115 ----------- .../splash_screen_load_rotate/pubspec.yaml | 94 --------- .../test/widget_test.dart | 34 ---- .../splash_screen_trans_rotate/.gitignore | 75 ------- .../splash_screen_trans_rotate/.metadata | 10 - .../splash_screen_trans_rotate/README.md | 7 - .../android/app/build.gradle | 60 ------ .../android/app/src/debug/AndroidManifest.xml | 11 - .../android/app/src/main/AndroidManifest.xml | 37 ---- .../MainActivity.java | 51 ----- .../VeryLongTransitionSplashScreen.java | 68 ------- .../VeryLongTransitionSplashView.java | 129 ------------ .../main/res/drawable/launch_background.xml | 15 -- .../main/res/drawable/normal_background.xml | 7 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values/colors.xml | 7 - .../android/app/src/main/res/values/ids.xml | 7 - .../app/src/main/res/values/styles.xml | 15 -- .../app/src/profile/AndroidManifest.xml | 11 - .../android/build.gradle | 33 --- .../android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 6 - .../android/settings.gradle | 15 -- .../splash_screen_trans_rotate/lib/main.dart | 115 ----------- .../splash_screen_trans_rotate/pubspec.yaml | 133 ------------ .../test/widget_test.dart | 34 ---- .../test_driver/main.dart | 11 - .../test_driver/main_test.dart | 28 --- 90 files changed, 2850 deletions(-) delete mode 100644 dev/devicelab/bin/tasks/android_splash_screen_integration_test.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.gitignore delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.metadata delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/README.md delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/debug/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashScreen.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashView.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land-xxhdpi/flutter_splash_screen.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/normal_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/splash_screen.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-land-xxhdpi/flutter_splash_screen.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/flutter_splash_screen.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/values/styles.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/profile/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/settings.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/lib/main.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test/widget_test.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main_test.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.gitignore delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.metadata delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/README.md delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/debug/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/MainActivity.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/NeverEndingSplashView.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/SplashScreenThatNeverEnds.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/ids.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/styles.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/profile/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/settings.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/lib/main.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/pubspec.yaml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_load_rotate/test/widget_test.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.gitignore delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.metadata delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/README.md delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/debug/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/MainActivity.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashScreen.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashView.java delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/normal_background.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/colors.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/ids.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/styles.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/profile/AndroidManifest.xml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/settings.gradle delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/lib/main.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test/widget_test.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main.dart delete mode 100644 dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main_test.dart diff --git a/dev/devicelab/bin/tasks/android_splash_screen_integration_test.dart b/dev/devicelab/bin/tasks/android_splash_screen_integration_test.dart deleted file mode 100644 index 51ba96f53f..0000000000 --- a/dev/devicelab/bin/tasks/android_splash_screen_integration_test.dart +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/adb.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/tasks/integration_tests.dart'; - -Future main() async { - deviceOperatingSystem = DeviceOperatingSystem.android; - await task(createAndroidSplashScreenKitchenSinkTest()); -} diff --git a/dev/devicelab/lib/tasks/integration_tests.dart b/dev/devicelab/lib/tasks/integration_tests.dart index 984ec7bfa1..ca9f3b9ced 100644 --- a/dev/devicelab/lib/tasks/integration_tests.dart +++ b/dev/devicelab/lib/tasks/integration_tests.dart @@ -78,13 +78,6 @@ TaskFunction createCodegenerationIntegrationTest() { ); } -TaskFunction createAndroidSplashScreenKitchenSinkTest() { - return DriverTest( - '${flutterDirectory.path}/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink', - 'test_driver/main.dart', - ); -} - TaskFunction createIOSPlatformViewTests() { return DriverTest( '${flutterDirectory.path}/dev/integration_tests/ios_platform_view_tests', diff --git a/dev/devicelab/manifest.yaml b/dev/devicelab/manifest.yaml index 04a9e42f30..29220a659e 100644 --- a/dev/devicelab/manifest.yaml +++ b/dev/devicelab/manifest.yaml @@ -334,10 +334,3 @@ tasks: Measures memory, cpu, and gpu usage when rotating through a series of large images. stage: devicelab required_agent_capabilities: ["mac/ios"] - - # android_splash_screen_integration_test: - # description: > - # Runs end-to-end test of Flutter's Android splash behavior. - # stage: devicelab - # required_agent_capabilities: ["linux/android"] - # flaky: true diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.gitignore b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.gitignore deleted file mode 100644 index 2b1f4958f2..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.gitignore +++ /dev/null @@ -1,78 +0,0 @@ -# Overrides for this project -!flutter_splash_screen.png - -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.metadata b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.metadata deleted file mode 100644 index 693ab4f015..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# 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: 87a4fb567bcd3db87eb49f80d13e8ef95cfaa21e - channel: unknown - -project_type: app diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/README.md b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/README.md deleted file mode 100644 index 2338a98047..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Splash Demo: Kitchen Sink - -This project is an example of a splash screen that shows a logo for a launch screen and then -zooms that logo towards the screen while fading content beneath it, masked by the logo. - -The purpose of this example project is to push the limits of what Flutter's splash system affords. - -This project is also run as a device lab test via Flutter Driver. - -The files that are relevant to test execution are: - - - /test_driver/main.dart - - /test_driver/main_test.dart - - /android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java - - The files that should be inspected to learn about splash behavior are: - - - /android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashScreen.java - - /android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashView.java - - Communication takes place from Android to Flutter to Driver to communicate splash screen events. - This communication takes place over a channel called "testChannel", whose definition can be - found in `MainActivity.java` and `test_driver/main.dart`. diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle deleted file mode 100644 index 5bbbdf1790..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 30 - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "io.flutter.splash_screen_kitchen_sink" - minSdkVersion 16 - targetSdkVersion 30 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation 'androidx.fragment:fragment:1.1.0-beta01' - implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-alpha01' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0-alpha01' -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/debug/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 1865c0d76d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 9e99040c15..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashScreen.java b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashScreen.java deleted file mode 100644 index b27cbf5c70..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashScreen.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_kitchen_sink; - -import android.content.Context; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import io.flutter.embedding.android.SplashScreen; - -/** - * {@code SplashScreen} that displays a yellow splash screen {@code View}, which slowly fades - * out when Flutter is ready. - *

- * See {@link VeryLongTransitionSplashView} for visual details. - */ -public class FlutterZoomSplashScreen implements SplashScreen { - private FlutterZoomSplashView splashView; - - @Override - public View createSplashView(@NonNull Context context, @Nullable Bundle savedInstanceState) { - splashView = new FlutterZoomSplashView(context); - splashView.restoreSplashState(savedInstanceState); - return splashView; - } - - @Override - public void transitionToFlutter(@NonNull Runnable onTransitionComplete) { - if (splashView != null) { - splashView.transitionToFlutter(onTransitionComplete); - } else { - onTransitionComplete.run(); - } - } - - /** - * Informs Flutter that we are capable of restoring a transition that was previously - * in progress. - *

- * A splash transition can be interrupted by configuration changes or other OS operations. - *

- * If we were to return false here, then an orientation change would skip the rest of - * the transition and jump directly to the Flutter UI. - */ - @Override - public boolean doesSplashViewRememberItsTransition() { - return true; - } - - /** - * Saves the state of our {@code splashView} so that we can restore the long fade transition - * when we are recreated after a config change or other recreation event. - */ - @Override - @Nullable - public Bundle saveSplashScreenState() { - if (splashView != null) { - return splashView.saveSplashState(); - } else { - return null; - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashView.java b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashView.java deleted file mode 100644 index 5a006cb6cb..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/FlutterZoomSplashView.java +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_kitchen_sink; - -import android.animation.TimeAnimator; -import android.annotation.SuppressLint; -import android.content.Context; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.view.ViewGroup; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.AlphaAnimation; -import android.view.animation.Animation; -import android.view.animation.AnimationSet; -import android.view.animation.ScaleAnimation; -import android.widget.FrameLayout; -import android.widget.ImageView; - -import androidx.annotation.Nullable; - -public class FlutterZoomSplashView extends FrameLayout { - private static final String TAG = "FlutterZoomSplashView"; - - private float transitionPercentWhenAnimationStarted = 0.0f; - private float totalTransitionPercent = 0.0f; - private Runnable onTransitionComplete; - private View whiteUnderlay; - private ImageView imageView; - private AnimationSet transitionAnimation; - private TimeAnimator timeAnimator; - - private final TimeAnimator.TimeListener timeListener = new TimeAnimator.TimeListener() { - @Override - public void onTimeUpdate(TimeAnimator animation, long totalTime, long deltaTime) { - // We have to represent transition percent as a starting value + the fraction of the - // running animation. This is because there is no way to start an Animator and inform - // it that it should already be X percent complete. - totalTransitionPercent = transitionPercentWhenAnimationStarted - + (animation.getAnimatedFraction() * (1.0f - transitionPercentWhenAnimationStarted)); - } - }; - - private final Animation.AnimationListener animationListener = new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) {} - - @Override - public void onAnimationEnd(Animation animation) { - Log.d(TAG, "Animation ended."); - transitionAnimation = null; - animation.setAnimationListener(null); - - timeAnimator.cancel(); - timeAnimator.setTimeListener(null); - - onTransitionComplete.run(); - } - - @Override - public void onAnimationRepeat(Animation animation) {} - }; - - public FlutterZoomSplashView(Context context) { - super(context); - Log.d(TAG, "Creating FlutterZoomSplashView"); - - whiteUnderlay = new View(getContext()); - whiteUnderlay.setBackgroundColor(Color.WHITE); - addView(whiteUnderlay); - - imageView = new ImageView(getContext()); - imageView.setImageDrawable(getResources().getDrawable(R.drawable.splash_screen, getContext().getTheme())); - imageView.setScaleType(ImageView.ScaleType.FIT_XY); - addView(imageView, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - } - - public void transitionToFlutter(Runnable onTransitionComplete) { - Log.d(TAG, "Animating transition."); - this.onTransitionComplete = onTransitionComplete; - animateWhiteUnderlay(); - animateLogoOverlay(); - } - - private void animateWhiteUnderlay() { - AlphaAnimation fadeOut = new AlphaAnimation(1f, 0f); - fadeOut.setStartOffset(0); - fadeOut.setDuration(500); - - whiteUnderlay.startAnimation(fadeOut); - } - - @SuppressLint("NewApi") - private void animateLogoOverlay() { - // Notice that each animation might begin part way through the animation based on - // a previous transition amount that we need to restore. - float startAlpha = 1f - totalTransitionPercent; - long fadeStartDelay = Math.round(400 * (1.0 - (Math.min(totalTransitionPercent, 0.8) / 0.8))); - long fadeDuration = Math.round(100 * (1.0 - Math.max(0, (totalTransitionPercent - 0.8)) / 0.2)); - - float startScale = 1f + (7f * totalTransitionPercent); - long scaleDuration = Math.round(500 * (1.0 - totalTransitionPercent)); - - long globalTimerLength = Math.round(500 * (1.0 - totalTransitionPercent)); - - Animation scaleUp = new ScaleAnimation( - startScale, 8f, - startScale, 8f, - Animation.RELATIVE_TO_SELF, 0.5f, - Animation.RELATIVE_TO_SELF, 0.5f - ); - scaleUp.setFillAfter(true); - scaleUp.setDuration(scaleDuration); - scaleUp.setInterpolator(new AccelerateInterpolator()); - - AlphaAnimation fadeOut = new AlphaAnimation(startAlpha, 0f); - fadeOut.setStartOffset(fadeStartDelay); - fadeOut.setDuration(fadeDuration); - - transitionAnimation = new AnimationSet(false); - transitionAnimation.addAnimation(scaleUp); - transitionAnimation.addAnimation(fadeOut); - transitionAnimation.setFillAfter(true); - transitionAnimation.setAnimationListener(animationListener); - - timeAnimator = new TimeAnimator(); - timeAnimator.setDuration(globalTimerLength); - timeAnimator.setTimeListener(timeListener); - - imageView.startAnimation(transitionAnimation); - timeAnimator.start(); - } - - @Nullable - public Bundle saveSplashState() { - Log.d(TAG, "Saving splash state."); - if (totalTransitionPercent > 0.0f && totalTransitionPercent < 1.0f) { - Bundle state = new Bundle(); - state.putFloat("totalTransitionPercent", totalTransitionPercent); - Log.d(TAG, String.format("Transition percent: %.2f", totalTransitionPercent)); - return state; - } else { - Log.d(TAG, "No transition to save."); - return null; - } - } - - public void restoreSplashState(@Nullable Bundle bundle) { - Log.d(TAG, "Restoring splash state: " + bundle); - if (bundle != null) { - transitionPercentWhenAnimationStarted = bundle.getFloat("totalTransitionPercent"); - Log.d(TAG, String.format("State restored with transition percent: %.2f", transitionPercentWhenAnimationStarted)); - } else { - Log.d(TAG, "No state provided."); - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java deleted file mode 100644 index 3db5e7ac7c..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java +++ /dev/null @@ -1,191 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_kitchen_sink; - -import android.content.Context; -import android.util.Log; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewTreeObserver; -import androidx.annotation.Nullable; -import java.util.ArrayList; -import java.util.List; -import io.flutter.embedding.android.FlutterActivity; -import io.flutter.embedding.android.FlutterView; -import io.flutter.embedding.android.SplashScreen; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.embedding.engine.dart.DartExecutor; -import io.flutter.plugin.common.BasicMessageChannel; -import io.flutter.plugin.common.StringCodec; -import io.flutter.view.FlutterMain; - -public class MainActivity extends FlutterActivity { - private static final String TAG = "MainActivity"; - - private static FlutterEngine flutterEngine; - - static { - // Explicitly activates Debug logging for the Flutter Android embedding. - io.flutter.Log.setLogLevel(Log.DEBUG); - } - - // Sends a JSON-serialized log of test events from Android to Flutter. - private BasicMessageChannel testChannel; - // Log of splash events that is updated, serialized, and sent to Flutter. - private SplashTestLog splashTestLog; - - /** - * We explicitly provide a {@code FlutterEngine} so that every rotation does not create a - * new FlutterEngine. Creating a new FlutterEngine on every orientation would cause the - * splash experience to restart upon every orientation change, which is not what we're - * interested in verifying in this example app. - */ - @Override - public FlutterEngine provideFlutterEngine(Context context) { - if (flutterEngine == null) { - flutterEngine = new FlutterEngine(context); - - flutterEngine.getDartExecutor().executeDartEntrypoint(new DartExecutor.DartEntrypoint( - getAssets(), - FlutterMain.findAppBundlePath(context), - "main" - )); - - // Setup the channel that sends splash test log updates from Android to Flutter. - testChannel = new BasicMessageChannel<>( - flutterEngine.getDartExecutor(), - "testChannel", - StringCodec.INSTANCE - ); - - // Initialize the splash test log that accumulates events. - splashTestLog = new SplashTestLog(); - - // Send initial splash test log. - updateLogAndSendToFlutter(); - - // List for any layout change, look for splash test updates, and if - // there are any, add them to the log and send them to Flutter. - getWindow().getDecorView().getRootView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - updateLogAndSendToFlutter(); - } - }); - } - return flutterEngine; - } - - private void updateLogAndSendToFlutter() { - // Look for the existence of a FlutterView and the existence of a - // splash screen View on top of it. - View flutterView = findViewByType(FlutterView.class); - boolean isSplashAvailable = false; - if (flutterView != null) { - ViewGroup flutterViewParent = (ViewGroup) flutterView.getParent(); - isSplashAvailable = flutterViewParent.getChildCount() > 1; - } - - // Update the splash test log. - splashTestLog.update(flutterView != null, isSplashAvailable); - - // Send the latest version of the splash test log to Flutter. - testChannel.send(splashTestLog.serialize()); - } - - /** - * Finds an Android {@code View} in this {@code Activity}'s {@code View} hierarchy - * that matches the given {@code viewType}. - * - * This method searches the {@code View} hierarchy breadth-first. - */ - private View findViewByType(Class viewType) { - View selectedView = getWindow().getDecorView().getRootView();//findViewById(0x01020002); - List viewQueue = new ArrayList<>(); - - while (selectedView != null && !selectedView.getClass().equals(viewType)) { - if (selectedView instanceof ViewGroup) { - ViewGroup selectedViewGroup = (ViewGroup) selectedView; - for (int i = 0; i < selectedViewGroup.getChildCount(); ++i) { - viewQueue.add(selectedViewGroup.getChildAt(i)); - } - } - - if (!viewQueue.isEmpty()) { - selectedView = viewQueue.remove(0); - } else { - selectedView = null; - } - } - - return selectedView; - } - - @Override - @Nullable - public SplashScreen provideSplashScreen() { - return new FlutterZoomSplashScreen(); - } - - /** - * Log of splash UI changes that is used to verify the correctness of - * splash behavior. - */ - private static class SplashTestLog { - private List eventLog = new ArrayList<>(); - - SplashTestLog() { - eventLog.add(TestState.WAITING_FOR_LAYOUT); - } - - void update(boolean isFlutterViewAvailable, boolean isSplashAvailable) { - TestState newTestState = TestState.WAITING_FOR_LAYOUT; - if (isFlutterViewAvailable) { - newTestState = isSplashAvailable ? TestState.SPLASH_SHOWING : TestState.SPLASH_NOT_SHOWING; - } - - if (newTestState != eventLog.get(eventLog.size() - 1)) { - eventLog.add(newTestState); - } - } - - String serialize() { - return "{\"events\":[" + serializeEvents() + "]}"; - } - - private String serializeEvents() { - StringBuilder stringBuilder = new StringBuilder(); - for (int i = 0; i < eventLog.size(); ++i) { - stringBuilder.append(serializeEvent(eventLog.get(i))); - if (i < (eventLog.size() - 1)) { - stringBuilder.append(","); - } - } - return stringBuilder.toString(); - } - - private String serializeEvent(TestState event) { - switch (event) { - case WAITING_FOR_LAYOUT: - return "\"waiting_for_layout\""; - case SPLASH_SHOWING: - return "\"splash_showing\""; - case SPLASH_NOT_SHOWING: - return "\"splash_not_showing\""; - default: - throw new IllegalStateException("Received non-existent TestState."); - } - } - } - - /** - * States of splash display in this test project. - */ - private enum TestState { - WAITING_FOR_LAYOUT, - SPLASH_SHOWING, - SPLASH_NOT_SHOWING; - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land-xxhdpi/flutter_splash_screen.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land-xxhdpi/flutter_splash_screen.png deleted file mode 100644 index ca0a37c7ae0c937cc05bec80d23d4a8d4e8e6dab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3861 zcmeAS@N?(olHy`uVBq!ia0y~yU^Qc4V0y>F%)r2~*ly=B1_s9K0X`wF!aM(tqTv?; zAJ;ru$H2farzFTPn1PjzotuZ3k6%DgNK9NpQc7AzR!&|)QAt@vRZU$(TgTAI)Xdz% z(#qP#*3RC+(aG7x)y>_*)63h(*Uvv7Feo@AG%P$KGAcSIHZCPKEj=SMr=X;*f5OB` zlc!9bzG%hjHS0HR-m-1SuD$#AA2@jE@Uaso&z-+;@zUihSFc^aar4&gJNF+ve)9a~ z>o;%Tz5np>)8{W=zkUDl^Vjb`e>3hcwP9f33G{Sv45_&F_HJZ(aHvGXLlKc%Sz0Y( zTugioT@4lsdPD_S7ZLaw7vpAF+`!;lU;D*+IDx|EGR+GCR5Z^lz@0akDlgoKUkg|5&nM*7_*@l*xDA zU--_ls`5mY;_N4N*X~HKc&2@g`=-kGt0vh>vjtW@%X>cSgxZzNYg?S%%}(z9cw)`Z zSzyDwchAjMnjNq_@-m<7O_lFzWwT5t`mP8z1&KbncSG;0iq@>z3D_>5A$7TWvw=Gmfl)8+jOGunOSMR zDZ)xu?_^zbF;l#IR8GHtf-gr%@#-w4*%R_oy7QYS_ria{3a zx_^gFakjwCh4w-#o}IqNebdGCE}P=)3GWUauKUb!v!!HVvF}wEGsA4V7ksieTMn%G zIRWI}OLP0r%wk_FzNr)Ju$Gejb_-^mP-9uOGYk|S<@eTf<~SYLX}S;O$_>u(Z}+Ng z;%t=t6?GqE+YHn2n+ug^3#@o1wcYWA+7j#SQD9wVQ?rz23(PQmU%sw0$7z?b_F0gb zWiPbBp1iBSI&1y2^7pkfUd@%)vE1aD9RB&C?|u&(Au4YoYRNlO2cGn!djzv&A~6BE9c`~4O63@*70N)ahf*Lm5WxM{R= zHYhWsG{;V@|5tmgY3ZuYoI|E;yO#Y9&F}}vTJin_PyMGXQJY}^! zc_=7Dei>Y9{Cq(+kcm&2yfy~TUuV+SZlS3^QQaS#@bz#!Z%yq zJpOiI&&wJR>xJ$!P#Iyj-_#&~-j=u%YBhm8cb4-<>Zb_rnom zWqo@4mBKdG>_4e1Go!uKBFCiSy?6a+YUj9bdQR9Qs~9 z%Y345$B&QizT}lnTPwba(|$ewnc2HKbDYff7#8eXIs1fK%P!0H_p20V8|<;X;QRgM z3AGgE=r@-q`gTaX^?aY^39?P^TSa?Ij#I|HJ8~BHWj4f}Q0uW1e33T)tCLycnLV93 zPA7hx`;vFgHgWF+Ux|97g8A?6T5saKd1Kvy+FhT0Q-n8p`!6jo?gIr;?|aTSmrI3j zw&WzOuU1SER?=gCc6N3@$h&&`cW7Q+d_GbSQI+9qZctK-p|)cX_JLV=ExjznKyH%) zSs#Js23qwFVdQ&MBb@04AJpSpWb4 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml deleted file mode 100644 index b4f0e2a935..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png deleted file mode 100644 index 63ca9f7d38e510b4a79f8ae795bb847dfa8558d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4428 zcmeAS@N?(olHy`uVBq!ia0y~yV0y>Ez-q?9%)r3#m-Da*0|Vpr0G|+7;hld+(eMj_ zk82*SV_;yIQxfDC%)rXV&dtNi$1fl#BqlB)DJ3l zX=QC=YiIA^=;Z9;>gMj@>E-R?>*pU37!({58WtWA85JE98<&!rmY$KBQ&7^@KVjme z$y26IU$kQNn)RDDZ`rnE*WP{m4;(yn_}Gb)=gwcacGPMb-@gC&`Rn(ezZv(J+AuKib$GfshE&{od-r+qlu(fa4_QPey-?EO zWMR=^5oO%C;0lLEQv=gCrf+SmN1Z$!H;8Wtaynpt?VZMC-*;ypy_vW7{AbgeU7u$g zKi~WQ-KB5bB8$%oDwI#KJ|X*ruZVqT^Bu=`5H1oEE`y=y315*rR6Se~NIQy2a2blU zPsDWMlRmg>;dbD%ooMYSCc#}yk#=Qb!&jjko9#qvhr1RQhv4YxW1xCeVhartQUW&Z zSfdhKXf)rUNITZR#Ga6_*^X5^vEj?UlOpZdb6PnI_GkxX1T-0JxsvF>oM26ycH0*2 z{`KBl)4sZ&^L{rm_Rh^|?@k7?t9?J%18(fVGL_Ip{+t@*`qMf|b9 z)4sng(m%S>_g%`9yvc^QpXO~-{=Q*rzRB&Uab27L<|#al^LZYtK+U$=KlE%u(`U2-Sa2;`TT zx2vz{l~+SNdpvYr(9^gsd7GuD_RjHrwyx*a{Gzxb{bgnTD~tN~ZomK1ctX+k?W<$o z>6+ipFIQLoo|N`m_Fc-8xUTobX}>R@^L}?U$0%+09p~Tg%(kB1JL6XPs@Qi&-+)53 zyD+P@d}Wb-+T_T0`(i=rwD)>Xtv1|TJJZ+g-O(%i4h65e(_QHmyRK~K^hZyOK-zEC zt==2^Zt0J-l{fXiCz;J$3JRmH{OMQYf2XhCH}Ta|eVLtiq{Dxo{kq>8Gnzzh1Yy zGd-p{^}A)d-uJehJo`5o-Y~bW+-9FNd15v5+xIJ~C%-&>BgJjbjyuvX9o*;6KJ)0y z&3Bri?|Q%ah1<@Tk?^{oqE-FoZBhQ8n)h@5)c(FO>C4T1$8)Av3s>yU-n4(7$(+F7 zdYfb4`99ox?&RCI%`dB~kIwD6Gdrz*{=fbAPtJH-lt1sDwR&*%v3u*vb{?;Y+siY% z=ce9wwby%bY+-b8~~M#FyR$#njnd`^%TTdE35f|Np`)ulJ&xW8XPe ztq=S?@zwnLc}5@YjFYFo*E?x@%r5xxzP}k?-`5*Fw0pcS_Fdq-@b7*0w}q>|OM2`y z-`gCUxw-bxz1nimcY@EV-QV6~U-f_QF3IKJyKX&|dsMk~@w4Ep?@Pr$n^u3<3w`JK z=KgfE+s9wtRj+$0cPHU{g#0SW&E@Zdp32?1_->=Uk)_-FdrME*{>pj3@@wOdZ{F40 zPoA*dv2fn4`0`ms)*T&viu|Q?~Q?z1!87>y&Q1xtjOo9aKfJwq z{EFW93x2V)|J|?l`F*4Er0tfA&u?F@j;}b>c+z&8xKUO7htAKFs&n-HeBbZAUNgPA zKtJ`1UHtnZ{&!QgFICSkzf*bAcH4EMs`sV#%HJQv&7XGfcg*jeJI&Rbm6PWi-hV20 zCpuR0^WA@X-yiVBr0zStSLS{ET*LeQmijx7e{)oQT$cv2bsK+r+L>~YK5HBA_eJ{d zYww3iotD{q+IGjmo!`oLPJevl&zF1Ecg~-%t$HtcKYv#8zSFil{MVnJ@!t8I_q&a? zb$fs6eJ`r1Os;x=w;3$5*D876>)3Y(=f=(6xc_zRJJzpuzgK*oRQ=)J_4F_A>fGKP zoO?52{={m_b6=N#kGs12PP6sx_jW<=SkHbxEBX6(16b+%(=YyZfc&rgZ1)}RqB`%Y z_nY~w^>?zr|J&H}Tk`$vCvvs(Z_X;TPp+R{T_7&!^S*Z3y{90tc^l8ah<$gk_uYp* zTHlLe&dhipE>{v)#DDL%@av$ve^)%71Zq4HUBxPwyEkBKSq+T}5xEfycQIN`2gW?8LuNMpq3=E#GelF{r5}E)gn*IC$ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/launch_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 087570aae7..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/normal_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/normal_background.xml deleted file mode 100644 index 9288233a39..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/normal_background.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/splash_screen.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/splash_screen.xml deleted file mode 100644 index 75c19c2a65..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable/splash_screen.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84rT@hh9qO>QU(SF$r9IylHmNblJdl&R0hYC z{G?O`&)mfH)S%SFl*+=BsWuD@4C?}XLR=Xb7#RJ!7{h04Zu=H;^aq4w44VZJaXaum zG@>0o`I5 z6U6gpN>(hBs@ovlyiK}omrVN}&28UY_JdsVcA=Cl0|SF_NswPKgMfg5KtMnO2sE4r zf%}pIPku2lFue41aSVw#{PxUsz9t6&hrp0GdlTMw^~h@f`fs1s!olsWbZ#C0v7PJ9 zExVjNeb(Ol`RU07XFf|X@qSK7qke0_C&kUH>MnD(8u-mi5B zt(&|xZ@%@sBNk%nt_5+E&U1QAlyT>>sMB2Zd5T5*R3&Sld5=98o%0qdm+@@-JjKB8 z(xcUiGOB?O=e)LCdt!o~wXBiQlFwyn4JF%)r2~*ly=B1_s9K0X`wF!aM(tqTv?; zAJ;ru$H2farzFTPn1PjzotuZ3k6%DgNK9NpQc7AzR!&|)QAt@vRZU$(TgTAI)Xdz% z(#qP#*3RC+(aG7x)y>_*)63h(*Uvv7Feo@AG%P$KGAcSIHZCPKEj=SMr=X;*f5OB` zlc!9bzG%hjHS0HR-m-1SuD$#AA2@jE@Uaso&z-+;@zUihSFc^aar4&gJNF+ve)9a~ z>o;%Tz5np>)8{W=zkUDl^Vjb`e>3hcwP9f33G{Sv45_&F_HJZ(aHvGXLlKc%Sz0Y( zTugioT@4lsdPD_S7ZLaw7vpAF+`!;lU;D*+IDx|EGR+GCR5Z^lz@0akDlgoKUkg|5&nM*7_*@l*xDA zU--_ls`5mY;_N4N*X~HKc&2@g`=-kGt0vh>vjtW@%X>cSgxZzNYg?S%%}(z9cw)`Z zSzyDwchAjMnjNq_@-m<7O_lFzWwT5t`mP8z1&KbncSG;0iq@>z3D_>5A$7TWvw=Gmfl)8+jOGunOSMR zDZ)xu?_^zbF;l#IR8GHtf-gr%@#-w4*%R_oy7QYS_ria{3a zx_^gFakjwCh4w-#o}IqNebdGCE}P=)3GWUauKUb!v!!HVvF}wEGsA4V7ksieTMn%G zIRWI}OLP0r%wk_FzNr)Ju$Gejb_-^mP-9uOGYk|S<@eTf<~SYLX}S;O$_>u(Z}+Ng z;%t=t6?GqE+YHn2n+ug^3#@o1wcYWA+7j#SQD9wVQ?rz23(PQmU%sw0$7z?b_F0gb zWiPbBp1iBSI&1y2^7pkfUd@%)vE1aD9RB&C?|u&(Au4YoYRNlO2cGn!djzv&A~6BE9c`~4O63@*70N)ahf*Lm5WxM{R= zHYhWsG{;V@|5tmgY3ZuYoI|E;yO#Y9&F}}vTJin_PyMGXQJY}^! zc_=7Dei>Y9{Cq(+kcm&2yfy~TUuV+SZlS3^QQaS#@bz#!Z%yq zJpOiI&&wJR>xJ$!P#Iyj-_#&~-j=u%YBhm8cb4-<>Zb_rnom zWqo@4mBKdG>_4e1Go!uKBFCiSy?6a+YUj9bdQR9Qs~9 z%Y345$B&QizT}lnTPwba(|$ewnc2HKbDYff7#8eXIs1fK%P!0H_p20V8|<;X;QRgM z3AGgE=r@-q`gTaX^?aY^39?P^TSa?Ij#I|HJ8~BHWj4f}Q0uW1e33T)tCLycnLV93 zPA7hx`;vFgHgWF+Ux|97g8A?6T5saKd1Kvy+FhT0Q-n8p`!6jo?gIr;?|aTSmrI3j zw&WzOuU1SER?=gCc6N3@$h&&`cW7Q+d_GbSQI+9qZctK-p|)cX_JLV=ExjznKyH%) zSs#Js23qwFVdQ&MBb@04AJpSpWb4 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4rT@hhJ-tuTNxM_BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFmwg@gt#&=FffMC4mtWmbKAF&qdyqKXG0ipk&vT5 zAmZ%d{SXF=bCKq@Z-GZZ;tV#~j83JDzFmxd-Hahq8AGNqhE8V;o5>h9i!po_WB6=l zU2kT?Kvt(bR^JA;;7+;DUGlvL6sMk6nsrHO&Q;BA-wby`jSBSdXJueu5G@Jv3uX`y zP*5;1FzBB@fBpXR=g+?ff&5MV!VC-yOFdm2Lp+YZy>e2h$w0vMVh8iNMNLhM)++IJ z{QqCg*LgRGXKpKZaOLSMJFo8MNc{figWv3mbJp+w-BoBm(|-hT|4dcbJ2lEyX!??Y`jpZ81*D{;rF6b`?;0>>pbJRKPRw2)?8wK8GH9> zL)n=k&vkA#ITl(SSsBW`??>AG{pM|AK2Jc#t6>y4N#$)H8ZEGkUc!`m{6pbTImMF#2{f z`gJk-_b~?aGX_m$44TXsJQ-wH$W+GA>5O4B7{g{VhRtFOpT!tHo5?tW$tsn}K99+{ zjLE&4*|Uz>tC88eNi3sZJbQ{n(LBkDd1t=Sn-plsE283-d*czTa-zm@iQD#kujt@|Kvt4hp|H z71QJA-@DE-vCc=}m3vdfeqD}l&W>B;IduNM%M_}RPx;yPVrk2E_T?&?d+vqXsA}xF zGk52_Ny78;-$vOoENNLjTll#WOG?YLuZ?eO;uVxk)@?h*_~6>qo(~l}_f@BaD>p=c zm>yaWRpaQm|`^KGX?!;c=*_;KycpYksb1 rdBk${xlomwC<})`ozHbP0l+XkKcl<5t diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/flutter_splash_screen.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/flutter_splash_screen.png deleted file mode 100644 index 63ca9f7d38e510b4a79f8ae795bb847dfa8558d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4428 zcmeAS@N?(olHy`uVBq!ia0y~yV0y>Ez-q?9%)r3#m-Da*0|Vpr0G|+7;hld+(eMj_ zk82*SV_;yIQxfDC%)rXV&dtNi$1fl#BqlB)DJ3l zX=QC=YiIA^=;Z9;>gMj@>E-R?>*pU37!({58WtWA85JE98<&!rmY$KBQ&7^@KVjme z$y26IU$kQNn)RDDZ`rnE*WP{m4;(yn_}Gb)=gwcacGPMb-@gC&`Rn(ezZv(J+AuKib$GfshE&{od-r+qlu(fa4_QPey-?EO zWMR=^5oO%C;0lLEQv=gCrf+SmN1Z$!H;8Wtaynpt?VZMC-*;ypy_vW7{AbgeU7u$g zKi~WQ-KB5bB8$%oDwI#KJ|X*ruZVqT^Bu=`5H1oEE`y=y315*rR6Se~NIQy2a2blU zPsDWMlRmg>;dbD%ooMYSCc#}yk#=Qb!&jjko9#qvhr1RQhv4YxW1xCeVhartQUW&Z zSfdhKXf)rUNITZR#Ga6_*^X5^vEj?UlOpZdb6PnI_GkxX1T-0JxsvF>oM26ycH0*2 z{`KBl)4sZ&^L{rm_Rh^|?@k7?t9?J%18(fVGL_Ip{+t@*`qMf|b9 z)4sng(m%S>_g%`9yvc^QpXO~-{=Q*rzRB&Uab27L<|#al^LZYtK+U$=KlE%u(`U2-Sa2;`TT zx2vz{l~+SNdpvYr(9^gsd7GuD_RjHrwyx*a{Gzxb{bgnTD~tN~ZomK1ctX+k?W<$o z>6+ipFIQLoo|N`m_Fc-8xUTobX}>R@^L}?U$0%+09p~Tg%(kB1JL6XPs@Qi&-+)53 zyD+P@d}Wb-+T_T0`(i=rwD)>Xtv1|TJJZ+g-O(%i4h65e(_QHmyRK~K^hZyOK-zEC zt==2^Zt0J-l{fXiCz;J$3JRmH{OMQYf2XhCH}Ta|eVLtiq{Dxo{kq>8Gnzzh1Yy zGd-p{^}A)d-uJehJo`5o-Y~bW+-9FNd15v5+xIJ~C%-&>BgJjbjyuvX9o*;6KJ)0y z&3Bri?|Q%ah1<@Tk?^{oqE-FoZBhQ8n)h@5)c(FO>C4T1$8)Av3s>yU-n4(7$(+F7 zdYfb4`99ox?&RCI%`dB~kIwD6Gdrz*{=fbAPtJH-lt1sDwR&*%v3u*vb{?;Y+siY% z=ce9wwby%bY+-b8~~M#FyR$#njnd`^%TTdE35f|Np`)ulJ&xW8XPe ztq=S?@zwnLc}5@YjFYFo*E?x@%r5xxzP}k?-`5*Fw0pcS_Fdq-@b7*0w}q>|OM2`y z-`gCUxw-bxz1nimcY@EV-QV6~U-f_QF3IKJyKX&|dsMk~@w4Ep?@Pr$n^u3<3w`JK z=KgfE+s9wtRj+$0cPHU{g#0SW&E@Zdp32?1_->=Uk)_-FdrME*{>pj3@@wOdZ{F40 zPoA*dv2fn4`0`ms)*T&viu|Q?~Q?z1!87>y&Q1xtjOo9aKfJwq z{EFW93x2V)|J|?l`F*4Er0tfA&u?F@j;}b>c+z&8xKUO7htAKFs&n-HeBbZAUNgPA zKtJ`1UHtnZ{&!QgFICSkzf*bAcH4EMs`sV#%HJQv&7XGfcg*jeJI&Rbm6PWi-hV20 zCpuR0^WA@X-yiVBr0zStSLS{ET*LeQmijx7e{)oQT$cv2bsK+r+L>~YK5HBA_eJ{d zYww3iotD{q+IGjmo!`oLPJevl&zF1Ecg~-%t$HtcKYv#8zSFil{MVnJ@!t8I_q&a? zb$fs6eJ`r1Os;x=w;3$5*D876>)3Y(=f=(6xc_zRJJzpuzgK*oRQ=)J_4F_A>fGKP zoO?52{={m_b6=N#kGs12PP6sx_jW<=SkHbxEBX6(16b+%(=YyZfc&rgZ1)}RqB`%Y z_nY~w^>?zr|J&H}Tk`$vCvvs(Z_X;TPp+R{T_7&!^S*Z3y{90tc^l8ah<$gk_uYp* zTHlLe&dhipE>{v)#DDL%@av$ve^)%71Zq4HUBxPwyEkBKSq+T}5xEfycQIN`2gW?8LuNMpq3=E#GelF{r5}E)gn*IC$ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0y~yV3+{H9Lx+13>Rhybuln7NS3%plmzFem6RtIr7}3C z$Dctjh(SM?K|h4SAdJB{hQT_6!9JhSFr3jep3y9U z(L9OKDxJ|flhG!d(I$t{HiywRm(ebd(Y}z;v6#`Zgwd&#(Yb=rrHawDn$fL>(XE!z zt&Y*Xj?trm(W8;kvysuWiP5u}(X)lotC`WOh0&*-(Wisaw}a8QlhLo6(XWTmzlYJk zmocD^F|eO8Z~|lCM8?2Lj6o9_gC>F8A3T{ccnV|4RK}2LjG@yRLuW9C&0q|h$rv_^ zF?<$d_-uBwU=HgjPRC?Uw`?x2A}+rQ?!a2^kVfvX7VhwN?#NE=s4niP9-inPl?69d z7T#1{bVqf`J=LWT)RsR~Tk%+JQT9|ZQFKYxDR#LKT37?|`uT^vIyZoR#b9vmDf()v(?iz7_L)oF78 zkJJ<)r8pUt8M$!5-N#*39u$gn zR>-(G$wg0`aolam=a?PG9$oC(GH>-!X0d*^l*gJvuFJp95x7~EvFLL3EEhhxt`pq; z%_lBC*86lUSiR`uj?O)w{s`}^n&Wz}@?RH+ochG+^SU~oY!t72t=ZWjXFc({Ty9i< zoXX3Kohi2Ju9xPeP296QFr{gETuR&Xh?K77YDUL{MQ1+I?2fS6ciP3jaR24wmqlki zKfgU-wdbO}>o1>vX;$n~9ltDoY4ItEi|?MFbkSNqMRUkMU-}~Bs z)+NdNzgg`VE)XKX=tVT|2z5{L4{YJjHWS*rIm-E6Ws`IFvdRnm87H fR&jd1QhDAN-h`R^uRUjAU|{fc^>bP0l+XkKAv&s= diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmeAS@N?(olHy`uVBq!ia0y~yU^oE69Lx+145>_WOc@v$BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFy0FA32|j$U7=vLLgJC#>aTJ4T9D`W`gLwjjbtZ#N4x^eAqnb0LmM5cOIHO54qe%>- zNi3sjJfm3xqeU{KMGB*38lzP@qg4i@bta=t7NczrqirsuT`r?t9;018qkTT3eF39G z5u;-~4uK+6lW`UY0|SF-NswPKgMfko7&thbzyBTz-gcI+Wnf^o^K@|x zskrs_3VX0{ph#Pyi^G})N%|2R%{L?-ZV(U%Y+lqcfu(WAio}U)uIrV(+3WUaecD+A zmQ6SJem|Gdo_Kp z-*x@+`J3Y19B#kQTkx(t_`-K<>p6dn#rh_GuokuWC9d+nXX1zFdIcZVw{qEhc&=6O z^|eUFqwV?=KCBk6c(Pr4!l%_@70=G=P581}wBp75D22D-njfy%?{qk*AOB#Z{bq-g z`q2+|)-Q6ns2@Io{eMN{rubzF`u|EA+wSjG@UL6#aQc1N1oQe;4(H#;OmN?SS>~@F ztIeOC+&g|0i+=ccTfE@YZP5>((!~ot`|Cb zb^PFdrt-VXypJEaJ95?T2$v)Ws{O#V4Ednvz`|Pb} zf4VOe!@bWom-}e`tT2YtP3!%mny=z+}-K6mV2ZEt5Icwo(g z%Zr!wX>UAuh9QhqUj7<;)5IBxDQpH>KRz6|eoM6P*rQ_`EdPlXYgN?$U-3W2|NYf9 z3~H?J-^u1!lq%j3KgpL6_~F~TxcJXA&m~w0?N0Rh)m167XXobE9?sqiHmlnth&$|i z@b&H6->;epMCgPeb()B(Tr|RH~O+1PwlVxdT!ROU2OGQ3PvhLeQAwP zO|AMWqpQ}lM;-?Ix_3Z(ZoZK*%HiZ|EUDeVf^rGH<21r@EM zSf|zZ`p5aNP1ut4@|gFs0GYW>Kcl68^QPJ_Y - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/profile/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 1865c0d76d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle deleted file mode 100644 index c2c4160adf..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -buildscript { - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties deleted file mode 100644 index 94adc3a3f9..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index bc6a58afdd..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/settings.gradle b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/settings.gradle deleted file mode 100644 index d3b6a4013d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/lib/main.dart b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/lib/main.dart deleted file mode 100644 index c1d992349a..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/lib/main.dart +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -void main() => runApp(MyApp()); - -class MyApp extends StatelessWidget { - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - const MyHomePage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml deleted file mode 100644 index 9ed37c0b83..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml +++ /dev/null @@ -1,133 +0,0 @@ -name: splash_screen_kitchen_sink -description: A new Flutter application. - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.1.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: 1.0.2 - - characters: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - collection: 1.15.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - meta: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - typed_data: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vector_math: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -dev_dependencies: - flutter_test: - sdk: flutter - - flutter_driver: - sdk: flutter - test: 1.16.3 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. - - _fe_analyzer_shared: 14.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.41.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - archive: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - async: 2.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - boolean_selector: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - charcode: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - clock: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - coverage: 0.15.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fake_async: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - file: 6.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - http_multi_server: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - http_parser: 3.1.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - io: 0.3.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - matcher: 0.12.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - mime: 1.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_preamble: 1.4.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - path: 1.8.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pool: 1.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf: 0.7.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_packages_handler: 2.0.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_static: 0.2.9+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_web_socket: 0.2.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_map_stack_trace: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_maps: 0.10.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_span: 1.8.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stack_trace: 1.10.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stream_channel: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - string_scanner: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - sync_http: 0.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - term_glyph: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - test_api: 0.2.19 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - test_core: 0.3.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 6.0.1-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 1.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - web_socket_channel: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - webdriver: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - webkit_inspection_protocol: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages - -# PUBSPEC CHECKSUM: 14f3 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test/widget_test.dart b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test/widget_test.dart deleted file mode 100644 index 0ce9b8b31d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test/widget_test.dart +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// 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:splash_screen_kitchen_sink/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main.dart b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main.dart deleted file mode 100644 index 5ca33bab44..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main.dart +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:flutter_driver/driver_extension.dart'; -import 'package:flutter/services.dart'; -import 'package:splash_screen_kitchen_sink/main.dart' as app; - -Completer dataHandlerCompleter; -final List appToHostMessageQueue = []; - -/// How this test works: -/// 1. Android's UI changes as the app starts up. -/// 2. Android sends messages to this Flutter app about those UI changes. -/// 3. This Flutter app forwards those messages from the app to the host -/// machine running the driver test. -/// 4. The driver test evaluates the UI change events to determine if the -/// behavior is expected or unexpected and then passes or fails the test. -void main() { - enableFlutterDriverExtension(handler: respondToHostRequestForSplashLog); - - createTestChannelBetweenAndroidAndFlutter(); - - app.main(); -} - -Future respondToHostRequestForSplashLog(String _) { - if (appToHostMessageQueue.isNotEmpty) { - return Future.value(appToHostMessageQueue.removeAt(0)); - } else { - dataHandlerCompleter = Completer(); - return dataHandlerCompleter.future; - } -} - -void createTestChannelBetweenAndroidAndFlutter() { - // Channel used for Android to send Flutter changes to the splash display. - const BasicMessageChannel testChannel = BasicMessageChannel( - 'testChannel', - StringCodec(), - ); - - // Every splash display change message that we receive from Android is either - // immediately sent to the host driver test, or queued up to be sent to the - // host driver test at the next opportunity. - testChannel.setMessageHandler((String message) async { - appToHostMessageQueue.add(message); - if (dataHandlerCompleter != null) { - dataHandlerCompleter.complete(appToHostMessageQueue.removeAt(0)); - } - return ''; - }); -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main_test.dart b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main_test.dart deleted file mode 100644 index 60770a8bea..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/test_driver/main_test.dart +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:convert'; - -import 'package:flutter_driver/flutter_driver.dart'; -import 'package:test/test.dart' hide TypeMatcher, isInstanceOf; - -void main() { - group('end-to-end test', () { - FlutterDriver driver; - - setUpAll(() async { - driver = await FlutterDriver.connect(); - }); - - tearDownAll(() async { - await driver?.close(); - }); - - test('Flutter experience eventually appears', () async { - final SerializableFinder fabFinder = find.byTooltip('Increment'); - - // Ensure that the Flutter experience eventually becomes visible. - // We combined two verifications for this purpose: - // - // 1. We verify that we can find the expected FAB, and - // - // 2. We verify that Android thinks the splash screen has been removed. - await driver.waitFor(fabFinder); - - await _waitForSplashToDisappear(driver).timeout( - const Duration(seconds: 10), - onTimeout: () { - throw Exception('Splash screen never disappeared.'); - }, - ); - }); - }); -} - -Future _waitForSplashToDisappear(FlutterDriver driver) async { - bool waitingForSplashToDisappear = true; - - while (waitingForSplashToDisappear) { - final String response = await driver.requestData('splash_test_log',); - - final Map splashTestLog = jsonDecode(response) as Map; - final List events = splashTestLog['events'] as List; - if (events.length == 3) { - expect( - events[0], - equals('waiting_for_layout'), - reason: 'Expected first splash event to be ' - '"waiting_for_layout" but it was "${events[0]}"', - ); - expect( - events[1], - equals('splash_showing'), - reason: 'Expected second splash event to be ' - '"splash_showing" but it was "${events[1]}"', - ); - expect( - events[2], - equals('splash_not_showing'), - reason: 'Expected third splash event to be ' - '"splash_not_showing" but it was "${events[2]}"', - ); - waitingForSplashToDisappear = false; - } else if (events.length > 3) { - throw Exception('Expected 3 splash test events but received ' - '${events.length} events: $events'); - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.gitignore b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.gitignore deleted file mode 100644 index 7391168dda..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.metadata b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.metadata deleted file mode 100644 index 693ab4f015..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# 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: 87a4fb567bcd3db87eb49f80d13e8ef95cfaa21e - channel: unknown - -project_type: app diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/README.md b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/README.md deleted file mode 100644 index 75374b421c..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Splash Demo: Never ending splash animation - -This project is an example of a splash screen that displays an animation indefinitely. - -A never-ending animation is provided as a demo so that developers can manually verify that -orientation changes and other UI destruction processes do not cause issues with Flutter's splash -system for Android. diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle deleted file mode 100644 index 1b21eb358c..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 30 - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "io.flutter.splash_screen_load_rotate" - minSdkVersion 16 - targetSdkVersion 30 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation 'androidx.fragment:fragment:1.1.0-beta01' - implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-alpha01' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0-alpha01' -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/debug/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index e69d944f3b..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 78b3dc73b9..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/MainActivity.java b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/MainActivity.java deleted file mode 100644 index a1a2caf239..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/MainActivity.java +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_load_rotate; - -import android.content.Context; - -import io.flutter.embedding.android.FlutterActivity; -import io.flutter.embedding.android.SplashScreen; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.embedding.engine.dart.DartExecutor; -import io.flutter.view.FlutterMain; - -public class MainActivity extends FlutterActivity { - private static FlutterEngine flutterEngine; - - /** - * We explicitly provide a {@code FlutterEngine} so that every rotation does not create a - * new FlutterEngine. Creating a new FlutterEngine on every orientation would cause the - * splash experience to restart upon every orientation change, which is not what we're - * interested in verifying in this example app. - */ - @Override - public FlutterEngine provideFlutterEngine(Context context) { - if (flutterEngine == null) { - flutterEngine = new FlutterEngine(context); - - flutterEngine.getDartExecutor().executeDartEntrypoint(new DartExecutor.DartEntrypoint( - getAssets(), - FlutterMain.findAppBundlePath(context), - "main" - )); - } - return flutterEngine; - } - - @Override - public SplashScreen provideSplashScreen() { - return new SplashScreenThatNeverEnds(); - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/NeverEndingSplashView.java b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/NeverEndingSplashView.java deleted file mode 100644 index c73cb9f6ec..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/NeverEndingSplashView.java +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_load_rotate; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.annotation.SuppressLint; -import android.content.Context; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.Gravity; -import android.view.View; -import android.view.ViewPropertyAnimator; -import android.view.animation.AccelerateDecelerateInterpolator; -import android.widget.FrameLayout; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -public class NeverEndingSplashView extends FrameLayout { - private static final String TAG = "NeverEndingSplashView"; - - private static final float ANIMATION_SLIDE_DISTANCE = 800; - private static final int ANIMATION_TIME_IN_MILLIS = 5000; - - private final View animatedThing; - private float destinationTranslationY = 0; - private ViewPropertyAnimator animator; - - private final Animator.AnimatorListener animatorListener = new AnimatorListenerAdapter() { - @SuppressLint("NewApi") - @Override - public void onAnimationEnd(Animator animation) { - // Remove all animation listeners to avoid memory leaks. - animation.removeAllListeners(); - - // Start the next animation by reversing direction. - if (destinationTranslationY < 0) { - animateTheThing(ANIMATION_SLIDE_DISTANCE / 2); - } else { - animateTheThing(-ANIMATION_SLIDE_DISTANCE / 2); - } - } - - @SuppressLint("NewApi") - @Override - public void onAnimationCancel(Animator animation) { - // Remove all animation listeners to avoid memory leaks. - animation.removeAllListeners(); - } - }; - - @SuppressLint("NewApi") - public NeverEndingSplashView(Context context) { - super(context); - // Give the UI a yellow background to prove that this splash screen view takes up - // all available space. - setBackgroundColor(Color.YELLOW); - - // Create and display a little square that slides up and down. - animatedThing = new View(context); - animatedThing.setBackgroundColor(Color.BLACK); - addView(animatedThing, new FrameLayout.LayoutParams(100, 100, Gravity.CENTER)); - - // Start the animation immediately. - animateTheThing(ANIMATION_SLIDE_DISTANCE / 2); - } - - @SuppressLint("NewApi") - private void animateTheThing(float destinationTranslationY) { - // Save the destination translation Y so that we can save our state, if needed. - this.destinationTranslationY = destinationTranslationY; - - animator = animatedThing - .animate() - .translationY(destinationTranslationY) - .setDuration(Math.round(ANIMATION_TIME_IN_MILLIS * Math.abs((destinationTranslationY - animatedThing.getTranslationY()) / ANIMATION_SLIDE_DISTANCE))) - .setInterpolator(new AccelerateDecelerateInterpolator()) - .setListener(animatorListener); - animator.start(); - } - - @SuppressLint("NewApi") - @Override - protected void onDetachedFromWindow() { - if (animator != null) { - // Cancel our animation to avoid leaks. - animator.cancel(); - } - super.onDetachedFromWindow(); - } - - @Nullable - public Bundle saveSplashState() { - Log.d(TAG, "Saving splash state."); - Bundle state = new Bundle(); - state.putFloat("currentTranslationY", animatedThing.getTranslationY()); - state.putFloat("destinationTranslationY", destinationTranslationY); - return state; - } - - public void restoreSplashState(@Nullable Bundle bundle) { - Log.d(TAG, "Restoring splash state: " + bundle); - if (bundle != null) { - this.destinationTranslationY = bundle.getFloat("destinationTranslationY"); - this.animatedThing.setTranslationY(bundle.getFloat("currentTranslationY")); - animateTheThing(destinationTranslationY); - } else { - Log.d(TAG, "No state provided."); - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/SplashScreenThatNeverEnds.java b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/SplashScreenThatNeverEnds.java deleted file mode 100644 index a2af9968d0..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/java/io/flutter/splash_screen_load_rotate/SplashScreenThatNeverEnds.java +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_load_rotate; - -import android.content.Context; -import android.os.Bundle; -import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import io.flutter.embedding.android.SplashScreen; - -public class SplashScreenThatNeverEnds implements SplashScreen { - private NeverEndingSplashView splashView; - - @Nullable - public View createSplashView(@NonNull Context context, @Nullable Bundle bundle) { - if (splashView == null) { - splashView = new NeverEndingSplashView(context); - splashView.restoreSplashState(bundle); - } - return splashView; - } - - public void transitionToFlutter(Runnable onTransitionComplete) { - // Do nothing. Never ends. - } - - /** - * Informs Flutter that we are capable of restoring a transition that was previously - * in progress. - *

- * A splash transition can be interrupted by configuration changes or other OS operations. - *

- * If we were to return false here, then an orientation change would skip the rest of - * the transition and jump directly to the Flutter UI. - */ - @Override - public boolean doesSplashViewRememberItsTransition() { - return true; - } - - /** - * Saves the state of our {@code splashView} so that we can restore the animation - * state when we are recreated after a config change or other recreation event. - */ - @Override - @Nullable - public Bundle saveSplashScreenState() { - if (splashView != null) { - return splashView.saveSplashState(); - } else { - return null; - } - } - -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/drawable/launch_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index cc9a52694b..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84rT@hh9qO>QU(SF$r9IylHmNblJdl&R0hYC z{G?O`&)mfH)S%SFl*+=BsWuD@4C?}XLR=Xb7#RJ!7{h04Zu=H;^aq4w44VZJaXaum zG@>0o`I5 z6U6gpN>(hBs@ovlyiK}omrVN}&28UY_JdsVcA=Cl0|SF_NswPKgMfg5KtMnO2sE4r zf%}pIPku2lFue41aSVw#{PxUsz9t6&hrp0GdlTMw^~h@f`fs1s!olsWbZ#C0v7PJ9 zExVjNeb(Ol`RU07XFf|X@qSK7qke0_C&kUH>MnD(8u-mi5B zt(&|xZ@%@sBNk%nt_5+E&U1QAlyT>>sMB2Zd5T5*R3&Sld5=98o%0qdm+@@-JjKB8 z(xcUiGOB?O=e)LCdt!o~wXBiQlFwyn4J{(JaZG%Q-e|yQz{EjrrIztFmwg@gt#&=FffMC4mtWmbKAF&qdyqKXG0ipk&vT5 zAmZ%d{SXF=bCKq@Z-GZZ;tV#~j83JDzFmxd-Hahq8AGNqhE8V;o5>h9i!po_WB6=l zU2kT?Kvt(bR^JA;;7+;DUGlvL6sMk6nsrHO&Q;BA-wby`jSBSdXJueu5G@Jv3uX`y zP*5;1FzBB@fBpXR=g+?ff&5MV!VC-yOFdm2Lp+YZy>e2h$w0vMVh8iNMNLhM)++IJ z{QqCg*LgRGXKpKZaOLSMJFo8MNc{figWv3mbJp+w-BoBm(|-hT|4dcbJ2lEyX!??Y`jpZ81*D{;rF6b`?;0>>pbJRKPRw2)?8wK8GH9> zL)n=k&vkA#ITl(SSsBW`??>AG{pM|AK2Jc#t6>y4N#$)H8ZEGkUc!`m{6pbTImMF#2{f z`gJk-_b~?aGX_m$44TXsJQ-wH$W+GA>5O4B7{g{VhRtFOpT!tHo5?tW$tsn}K99+{ zjLE&4*|Uz>tC88eNi3sZJbQ{n(LBkDd1t=Sn-plsE283-d*czTa-zm@iQD#kujt@|Kvt4hp|H z71QJA-@DE-vCc=}m3vdfeqD}l&W>B;IduNM%M_}RPx;yPVrk2E_T?&?d+vqXsA}xF zGk52_Ny78;-$vOoENNLjTll#WOG?YLuZ?eO;uVxk)@?h*_~6>qo(~l}_f@BaD>p=c zm>yaWRpaQm|`^KGX?!;c=*_;KycpYksb1 rdBk${xlomwC<})`ozHbP0l+XkKcl<5t diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0y~yV3+{H9Lx+13>Rhybuln7NS3%plmzFem6RtIr7}3C z$Dctjh(SM?K|h4SAdJB{hQT_6!9JhSFr3jep3y9U z(L9OKDxJ|flhG!d(I$t{HiywRm(ebd(Y}z;v6#`Zgwd&#(Yb=rrHawDn$fL>(XE!z zt&Y*Xj?trm(W8;kvysuWiP5u}(X)lotC`WOh0&*-(Wisaw}a8QlhLo6(XWTmzlYJk zmocD^F|eO8Z~|lCM8?2Lj6o9_gC>F8A3T{ccnV|4RK}2LjG@yRLuW9C&0q|h$rv_^ zF?<$d_-uBwU=HgjPRC?Uw`?x2A}+rQ?!a2^kVfvX7VhwN?#NE=s4niP9-inPl?69d z7T#1{bVqf`J=LWT)RsR~Tk%+JQT9|ZQFKYxDR#LKT37?|`uT^vIyZoR#b9vmDf()v(?iz7_L)oF78 zkJJ<)r8pUt8M$!5-N#*39u$gn zR>-(G$wg0`aolam=a?PG9$oC(GH>-!X0d*^l*gJvuFJp95x7~EvFLL3EEhhxt`pq; z%_lBC*86lUSiR`uj?O)w{s`}^n&Wz}@?RH+ochG+^SU~oY!t72t=ZWjXFc({Ty9i< zoXX3Kohi2Ju9xPeP296QFr{gETuR&Xh?K77YDUL{MQ1+I?2fS6ciP3jaR24wmqlki zKfgU-wdbO}>o1>vX;$n~9ltDoY4ItEi|?MFbkSNqMRUkMU-}~Bs z)+NdNzgg`VE)XKX=tVT|2z5{L4{YJjHWS*rIm-E6Ws`IFvdRnm87H fR&jd1QhDAN-h`R^uRUjAU|{fc^>bP0l+XkKAv&s= diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmeAS@N?(olHy`uVBq!ia0y~yU^oE69Lx+145>_WOc@v$BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFy0FA32|j$U7=vLLgJC#>aTJ4T9D`W`gLwjjbtZ#N4x^eAqnb0LmM5cOIHO54qe%>- zNi3sjJfm3xqeU{KMGB*38lzP@qg4i@bta=t7NczrqirsuT`r?t9;018qkTT3eF39G z5u;-~4uK+6lW`UY0|SF-NswPKgMfko7&thbzyBTz-gcI+Wnf^o^K@|x zskrs_3VX0{ph#Pyi^G})N%|2R%{L?-ZV(U%Y+lqcfu(WAio}U)uIrV(+3WUaecD+A zmQ6SJem|Gdo_Kp z-*x@+`J3Y19B#kQTkx(t_`-K<>p6dn#rh_GuokuWC9d+nXX1zFdIcZVw{qEhc&=6O z^|eUFqwV?=KCBk6c(Pr4!l%_@70=G=P581}wBp75D22D-njfy%?{qk*AOB#Z{bq-g z`q2+|)-Q6ns2@Io{eMN{rubzF`u|EA+wSjG@UL6#aQc1N1oQe;4(H#;OmN?SS>~@F ztIeOC+&g|0i+=ccTfE@YZP5>((!~ot`|Cb zb^PFdrt-VXypJEaJ95?T2$v)Ws{O#V4Ednvz`|Pb} zf4VOe!@bWom-}e`tT2YtP3!%mny=z+}-K6mV2ZEt5Icwo(g z%Zr!wX>UAuh9QhqUj7<;)5IBxDQpH>KRz6|eoM6P*rQ_`EdPlXYgN?$U-3W2|NYf9 z3~H?J-^u1!lq%j3KgpL6_~F~TxcJXA&m~w0?N0Rh)m167XXobE9?sqiHmlnth&$|i z@b&H6->;epMCgPeb()B(Tr|RH~O+1PwlVxdT!ROU2OGQ3PvhLeQAwP zO|AMWqpQ}lM;-?Ix_3Z(ZoZK*%HiZ|EUDeVf^rGH<21r@EM zSf|zZ`p5aNP1ut4@|gFs0GYW>Kcl68^QPJ_Y - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/styles.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 223593b171..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/profile/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index e69d944f3b..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle deleted file mode 100644 index c2c4160adf..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -buildscript { - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties deleted file mode 100644 index 94adc3a3f9..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index bc6a58afdd..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/settings.gradle b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/settings.gradle deleted file mode 100644 index d3b6a4013d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/lib/main.dart b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/lib/main.dart deleted file mode 100644 index c1d992349a..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/lib/main.dart +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -void main() => runApp(MyApp()); - -class MyApp extends StatelessWidget { - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - const MyHomePage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/pubspec.yaml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/pubspec.yaml deleted file mode 100644 index 9afb8f9104..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/pubspec.yaml +++ /dev/null @@ -1,94 +0,0 @@ -name: splash_screen_load_rotate -description: A new Flutter application. - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.1.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: 1.0.2 - - characters: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - collection: 1.15.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - meta: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - typed_data: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vector_math: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -dev_dependencies: - flutter_test: - sdk: flutter - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. - - async: 2.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - boolean_selector: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - charcode: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - clock: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fake_async: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - matcher: 0.12.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - path: 1.8.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_span: 1.8.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stack_trace: 1.10.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stream_channel: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - string_scanner: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - term_glyph: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - test_api: 0.2.19 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages - -# PUBSPEC CHECKSUM: ede5 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/test/widget_test.dart b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/test/widget_test.dart deleted file mode 100644 index e74cbca4ce..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/test/widget_test.dart +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// 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:splash_screen_load_rotate/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.gitignore b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.gitignore deleted file mode 100644 index 7391168dda..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.metadata b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.metadata deleted file mode 100644 index 693ab4f015..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# 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: 87a4fb567bcd3db87eb49f80d13e8ef95cfaa21e - channel: unknown - -project_type: app diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/README.md b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/README.md deleted file mode 100644 index 88dfe1d7c3..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Splash Demo: Long transition animation - -This project is an example of a splash screen that fades very slowly to the Flutter UI. - -A slow transition is provided as a demo so that developers can manually verify that orientation -changes and other UI destruction processes do not cause issues with Flutter's splash system for -Android. diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle deleted file mode 100644 index 03dcb8ec55..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 30 - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "io.flutter.splash_screen_trans_rotate" - minSdkVersion 16 - targetSdkVersion 30 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation 'androidx.fragment:fragment:1.1.0-beta01' - implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-alpha01' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0-alpha01' -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/debug/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index c2666846dd..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index a991113f4f..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/MainActivity.java b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/MainActivity.java deleted file mode 100644 index 0354aa47dc..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/MainActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_trans_rotate; - -import android.content.Context; -import android.util.Log; - -import androidx.annotation.Nullable; - -import io.flutter.embedding.android.FlutterActivity; -import io.flutter.embedding.android.SplashScreen; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.embedding.engine.dart.DartExecutor; -import io.flutter.view.FlutterMain; - -public class MainActivity extends FlutterActivity { - private static FlutterEngine flutterEngine; - - static { - // Explicitly activates Debug logging for the Flutter Android embedding. - io.flutter.Log.setLogLevel(Log.DEBUG); - } - - /** - * We explicitly provide a {@code FlutterEngine} so that every rotation does not create a - * new FlutterEngine. Creating a new FlutterEngine on every orientation would cause the - * splash experience to restart upon every orientation change, which is not what we're - * interested in verifying in this example app. - */ - @Override - public FlutterEngine provideFlutterEngine(Context context) { - if (flutterEngine == null) { - flutterEngine = new FlutterEngine(context); - - flutterEngine.getDartExecutor().executeDartEntrypoint(new DartExecutor.DartEntrypoint( - getAssets(), - FlutterMain.findAppBundlePath(context), - "main" - )); - } - return flutterEngine; - } - - @Override - @Nullable - public SplashScreen provideSplashScreen() { - return new VeryLongTransitionSplashScreen(); - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashScreen.java b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashScreen.java deleted file mode 100644 index 5569c97186..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashScreen.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_trans_rotate; - -import android.content.Context; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import io.flutter.embedding.android.SplashScreen; - -/** - * {@code SplashScreen} that displays a yellow splash screen {@code View}, which slowly fades - * out when Flutter is ready. - *

- * See {@link VeryLongTransitionSplashView} for visual details. - */ -public class VeryLongTransitionSplashScreen implements SplashScreen { - private VeryLongTransitionSplashView splashView; - - @Override - public View createSplashView(@NonNull Context context, @Nullable Bundle savedInstanceState) { - splashView = new VeryLongTransitionSplashView(context); - splashView.restoreSplashState(savedInstanceState); - return splashView; - } - - @Override - public void transitionToFlutter(@NonNull Runnable onTransitionComplete) { - if (splashView != null) { - splashView.transitionToFlutter(onTransitionComplete); - } else { - onTransitionComplete.run(); - } - } - - /** - * Informs Flutter that we are capable of restoring a transition that was previously - * in progress. - *

- * A splash transition can be interrupted by configuration changes or other OS operations. - *

- * If we were to return false here, then an orientation change would skip the rest of - * the transition and jump directly to the Flutter UI. - */ - @Override - public boolean doesSplashViewRememberItsTransition() { - return true; - } - - /** - * Saves the state of our {@code splashView} so that we can restore the long fade transition - * when we are recreated after a config change or other recreation event. - */ - @Override - @Nullable - public Bundle saveSplashScreenState() { - if (splashView != null) { - return splashView.saveSplashState(); - } else { - return null; - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashView.java b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashView.java deleted file mode 100644 index d36c6793e0..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/java/io/flutter/splash_screen_trans_rotate/VeryLongTransitionSplashView.java +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.splash_screen_trans_rotate; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ValueAnimator; -import android.content.Context; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.ViewPropertyAnimator; -import android.widget.FrameLayout; -import androidx.annotation.Nullable; -import androidx.annotation.NonNull; - -/** - * {@code View} that appears entirely yellow and slowly fades away, upon request. - *

- * Call {@link #transitionToFlutter(Runnable)} to begin fading away. - *

- * Call {@link #saveSplashState()} to save the current state of this splash {@code View}, - * e.g., the current state of the fade transition. - *

- * Call {@link #restoreSplashState(Bundle)} to restore a previous state of this splash - * {@code View}, e.g., the previous state of an interrupted fade transition. - */ -public class VeryLongTransitionSplashView extends FrameLayout { - private static final String TAG = "VeryLongTransitionSplashView"; - - private static final int ANIMATION_TIME_IN_MILLIS = 10000; - - private float transitionPercentWhenAnimationStarted = 0.0f; - private float totalTransitionPercent = 0.0f; - private Runnable onTransitionComplete; - private ViewPropertyAnimator fadeAnimator; - - private final ValueAnimator.AnimatorUpdateListener animatorUpdateListener = new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - // We have to represent transition percent as a starting value + the fraction of the - // running animation. This is because there is no way to start an Animator and inform - // it that it should already be X percent complete. - totalTransitionPercent = transitionPercentWhenAnimationStarted - + (animation.getAnimatedFraction() * (1.0f - transitionPercentWhenAnimationStarted)); - } - }; - - private final Animator.AnimatorListener animatorListener = new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - // Remove all animation listeners to avoid memory leaks. - animation.removeAllListeners(); - - // Notify listener that we're done transitioning. - if (onTransitionComplete != null) { - onTransitionComplete.run(); - } - } - - @Override - public void onAnimationCancel(Animator animation) { - // Remove all animation listeners to avoid memory leaks. - animation.removeAllListeners(); - } - }; - - public VeryLongTransitionSplashView(Context context) { - super(context); - - // Give the UI a yellow background to prove that this splash screen view takes up - // all available space. - setBackgroundColor(Color.YELLOW); - } - - /** - * Begins fading out. - *

- * If a previous transition state was restored, this method will begin fading out from the - * previously restored transition percent. See {@link #restoreSplashState(Bundle)}. - */ - public void transitionToFlutter(@NonNull Runnable onTransitionComplete) { - Log.d(TAG, "Transitioning to flutter."); - this.onTransitionComplete = onTransitionComplete; - - fadeAnimator = animate() - .alpha(0.0f) - .setDuration(Math.round(ANIMATION_TIME_IN_MILLIS * (1.0 - totalTransitionPercent))) - .setUpdateListener(animatorUpdateListener) - .setListener(animatorListener); - fadeAnimator.start(); - } - - @Override - protected void onDetachedFromWindow() { - if (fadeAnimator != null) { - // Cancel our animator to avoid leaks. - fadeAnimator.cancel(); - } - super.onDetachedFromWindow(); - } - - @Nullable - public Bundle saveSplashState() { - Log.d(TAG, "Saving splash state."); - if (totalTransitionPercent > 0.0f && totalTransitionPercent < 1.0f) { - Bundle state = new Bundle(); - state.putFloat("totalTransitionPercent", totalTransitionPercent); - Log.d(TAG, String.format("Transition percent: %.2f", totalTransitionPercent)); - return state; - } else { - Log.d(TAG, "No transition to save."); - return null; - } - } - - public void restoreSplashState(@Nullable Bundle bundle) { - Log.d(TAG, "Restoring splash state: " + bundle); - if (bundle != null) { - transitionPercentWhenAnimationStarted = bundle.getFloat("totalTransitionPercent"); - setAlpha(1.0f - transitionPercentWhenAnimationStarted); - Log.d(TAG, String.format("State restored with transition percent: %.2f", transitionPercentWhenAnimationStarted)); - } else { - Log.d(TAG, "No state provided."); - } - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/launch_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index c1f6299ad3..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/normal_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/normal_background.xml deleted file mode 100644 index 9288233a39..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/drawable/normal_background.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84rT@hh9qO>QU(SF$r9IylHmNblJdl&R0hYC z{G?O`&)mfH)S%SFl*+=BsWuD@4C?}XLR=Xb7#RJ!7{h04Zu=H;^aq4w44VZJaXaum zG@>0o`I5 z6U6gpN>(hBs@ovlyiK}omrVN}&28UY_JdsVcA=Cl0|SF_NswPKgMfg5KtMnO2sE4r zf%}pIPku2lFue41aSVw#{PxUsz9t6&hrp0GdlTMw^~h@f`fs1s!olsWbZ#C0v7PJ9 zExVjNeb(Ol`RU07XFf|X@qSK7qke0_C&kUH>MnD(8u-mi5B zt(&|xZ@%@sBNk%nt_5+E&U1QAlyT>>sMB2Zd5T5*R3&Sld5=98o%0qdm+@@-JjKB8 z(xcUiGOB?O=e)LCdt!o~wXBiQlFwyn4J{(JaZG%Q-e|yQz{EjrrIztFmwg@gt#&=FffMC4mtWmbKAF&qdyqKXG0ipk&vT5 zAmZ%d{SXF=bCKq@Z-GZZ;tV#~j83JDzFmxd-Hahq8AGNqhE8V;o5>h9i!po_WB6=l zU2kT?Kvt(bR^JA;;7+;DUGlvL6sMk6nsrHO&Q;BA-wby`jSBSdXJueu5G@Jv3uX`y zP*5;1FzBB@fBpXR=g+?ff&5MV!VC-yOFdm2Lp+YZy>e2h$w0vMVh8iNMNLhM)++IJ z{QqCg*LgRGXKpKZaOLSMJFo8MNc{figWv3mbJp+w-BoBm(|-hT|4dcbJ2lEyX!??Y`jpZ81*D{;rF6b`?;0>>pbJRKPRw2)?8wK8GH9> zL)n=k&vkA#ITl(SSsBW`??>AG{pM|AK2Jc#t6>y4N#$)H8ZEGkUc!`m{6pbTImMF#2{f z`gJk-_b~?aGX_m$44TXsJQ-wH$W+GA>5O4B7{g{VhRtFOpT!tHo5?tW$tsn}K99+{ zjLE&4*|Uz>tC88eNi3sZJbQ{n(LBkDd1t=Sn-plsE283-d*czTa-zm@iQD#kujt@|Kvt4hp|H z71QJA-@DE-vCc=}m3vdfeqD}l&W>B;IduNM%M_}RPx;yPVrk2E_T?&?d+vqXsA}xF zGk52_Ny78;-$vOoENNLjTll#WOG?YLuZ?eO;uVxk)@?h*_~6>qo(~l}_f@BaD>p=c zm>yaWRpaQm|`^KGX?!;c=*_;KycpYksb1 rdBk${xlomwC<})`ozHbP0l+XkKcl<5t diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0y~yV3+{H9Lx+13>Rhybuln7NS3%plmzFem6RtIr7}3C z$Dctjh(SM?K|h4SAdJB{hQT_6!9JhSFr3jep3y9U z(L9OKDxJ|flhG!d(I$t{HiywRm(ebd(Y}z;v6#`Zgwd&#(Yb=rrHawDn$fL>(XE!z zt&Y*Xj?trm(W8;kvysuWiP5u}(X)lotC`WOh0&*-(Wisaw}a8QlhLo6(XWTmzlYJk zmocD^F|eO8Z~|lCM8?2Lj6o9_gC>F8A3T{ccnV|4RK}2LjG@yRLuW9C&0q|h$rv_^ zF?<$d_-uBwU=HgjPRC?Uw`?x2A}+rQ?!a2^kVfvX7VhwN?#NE=s4niP9-inPl?69d z7T#1{bVqf`J=LWT)RsR~Tk%+JQT9|ZQFKYxDR#LKT37?|`uT^vIyZoR#b9vmDf()v(?iz7_L)oF78 zkJJ<)r8pUt8M$!5-N#*39u$gn zR>-(G$wg0`aolam=a?PG9$oC(GH>-!X0d*^l*gJvuFJp95x7~EvFLL3EEhhxt`pq; z%_lBC*86lUSiR`uj?O)w{s`}^n&Wz}@?RH+ochG+^SU~oY!t72t=ZWjXFc({Ty9i< zoXX3Kohi2Ju9xPeP296QFr{gETuR&Xh?K77YDUL{MQ1+I?2fS6ciP3jaR24wmqlki zKfgU-wdbO}>o1>vX;$n~9ltDoY4ItEi|?MFbkSNqMRUkMU-}~Bs z)+NdNzgg`VE)XKX=tVT|2z5{L4{YJjHWS*rIm-E6Ws`IFvdRnm87H fR&jd1QhDAN-h`R^uRUjAU|{fc^>bP0l+XkKAv&s= diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmeAS@N?(olHy`uVBq!ia0y~yU^oE69Lx+145>_WOc@v$BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFy0FA32|j$U7=vLLgJC#>aTJ4T9D`W`gLwjjbtZ#N4x^eAqnb0LmM5cOIHO54qe%>- zNi3sjJfm3xqeU{KMGB*38lzP@qg4i@bta=t7NczrqirsuT`r?t9;018qkTT3eF39G z5u;-~4uK+6lW`UY0|SF-NswPKgMfko7&thbzyBTz-gcI+Wnf^o^K@|x zskrs_3VX0{ph#Pyi^G})N%|2R%{L?-ZV(U%Y+lqcfu(WAio}U)uIrV(+3WUaecD+A zmQ6SJem|Gdo_Kp z-*x@+`J3Y19B#kQTkx(t_`-K<>p6dn#rh_GuokuWC9d+nXX1zFdIcZVw{qEhc&=6O z^|eUFqwV?=KCBk6c(Pr4!l%_@70=G=P581}wBp75D22D-njfy%?{qk*AOB#Z{bq-g z`q2+|)-Q6ns2@Io{eMN{rubzF`u|EA+wSjG@UL6#aQc1N1oQe;4(H#;OmN?SS>~@F ztIeOC+&g|0i+=ccTfE@YZP5>((!~ot`|Cb zb^PFdrt-VXypJEaJ95?T2$v)Ws{O#V4Ednvz`|Pb} zf4VOe!@bWom-}e`tT2YtP3!%mny=z+}-K6mV2ZEt5Icwo(g z%Zr!wX>UAuh9QhqUj7<;)5IBxDQpH>KRz6|eoM6P*rQ_`EdPlXYgN?$U-3W2|NYf9 z3~H?J-^u1!lq%j3KgpL6_~F~TxcJXA&m~w0?N0Rh)m167XXobE9?sqiHmlnth&$|i z@b&H6->;epMCgPeb()B(Tr|RH~O+1PwlVxdT!ROU2OGQ3PvhLeQAwP zO|AMWqpQ}lM;-?Ix_3Z(ZoZK*%HiZ|EUDeVf^rGH<21r@EM zSf|zZ`p5aNP1ut4@|gFs0GYW>Kcl68^QPJ_Y - - - #FFFFFF00 - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/ids.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/ids.xml deleted file mode 100644 index 7b8ec33bc0..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/ids.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/styles.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 1b6abb393b..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/profile/AndroidManifest.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index c2666846dd..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle deleted file mode 100644 index c2c4160adf..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -buildscript { - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties deleted file mode 100644 index 94adc3a3f9..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index bc6a58afdd..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/settings.gradle b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/settings.gradle deleted file mode 100644 index d3b6a4013d..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/lib/main.dart b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/lib/main.dart deleted file mode 100644 index c1d992349a..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/lib/main.dart +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -void main() => runApp(MyApp()); - -class MyApp extends StatelessWidget { - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: const MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - const MyHomePage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml deleted file mode 100644 index 1a61c8d4e5..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml +++ /dev/null @@ -1,133 +0,0 @@ -name: splash_screen_trans_rotate -description: A new Flutter application. - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.1.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: 1.0.2 - - characters: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - collection: 1.15.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - meta: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - typed_data: 1.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vector_math: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -dev_dependencies: - flutter_test: - sdk: flutter - - flutter_driver: - sdk: flutter - test: 1.16.3 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. - - _fe_analyzer_shared: 14.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - analyzer: 0.41.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - archive: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - args: 1.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - async: 2.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - boolean_selector: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - charcode: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - cli_util: 0.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - clock: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - convert: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - coverage: 0.15.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - crypto: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - fake_async: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - file: 6.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - glob: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - http_multi_server: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - http_parser: 3.1.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - io: 0.3.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - js: 0.6.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - logging: 0.11.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - matcher: 0.12.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - mime: 1.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - node_preamble: 1.4.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - package_config: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - path: 1.8.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pedantic: 1.10.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pool: 1.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - pub_semver: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf: 0.7.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_packages_handler: 2.0.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_static: 0.2.9+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - shelf_web_socket: 0.2.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_map_stack_trace: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_maps: 0.10.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - source_span: 1.8.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stack_trace: 1.10.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - stream_channel: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - string_scanner: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - sync_http: 0.3.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - term_glyph: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - test_api: 0.2.19 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - test_core: 0.3.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 6.0.1-nullsafety.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - watcher: 1.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - web_socket_channel: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - webdriver: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - webkit_inspection_protocol: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - yaml: 3.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages - -# PUBSPEC CHECKSUM: 14f3 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test/widget_test.dart b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test/widget_test.dart deleted file mode 100644 index 918f33b446..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test/widget_test.dart +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// 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:splash_screen_trans_rotate/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main.dart b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main.dart deleted file mode 100644 index 44cc49a735..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main.dart +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_driver/driver_extension.dart'; -import 'package:splash_screen_trans_rotate/main.dart' as app; - -void main() { - enableFlutterDriverExtension(); - app.main(); -} diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main_test.dart b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main_test.dart deleted file mode 100644 index be0f1a69ac..0000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/test_driver/main_test.dart +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_driver/flutter_driver.dart'; - -import 'package:test/test.dart' hide TypeMatcher, isInstanceOf; - -void main() { - group('end-to-end test', () { - FlutterDriver driver; - - setUpAll(() async { - driver = await FlutterDriver.connect(); - }); - - tearDownAll(() async { - await driver?.close(); - }); - - test('Flutter experience eventually appears', () async { - final SerializableFinder fabFinder = find.byTooltip('Increment'); - - // Ensure that the Flutter experience eventually becomes visible. - await driver.waitFor(fabFinder); - }); - }); -}