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 51ba96f53f7..00000000000 --- 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 984ec7bfa1d..ca9f3b9ced9 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 04a9e42f30a..29220a659e2 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 2b1f4958f2c..00000000000 --- 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 693ab4f0156..00000000000 --- 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 2338a980479..00000000000 --- 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 5bbbdf17903..00000000000 --- 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 1865c0d76d3..00000000000 --- 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 9e99040c15f..00000000000 --- 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 b27cbf5c706..00000000000 --- 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 5a006cb6cbc..00000000000 --- 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 3db5e7ac7c1..00000000000 --- 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 zcmeHKYgAKL7QR|4@}Hjdh{@Vb%6WS6A1{I``gv_TJy# z-#+`ClQTZvo(8(hbRh^bz;AWm2|*v*LC{>){EvX-GLF{-L328Mw)=Y^cvFA>{(1}y zaUPU{N@r7ddiy~i&(qe^H!w6ZUa)ZSlBJ(4Gg*#YVY<@H++x*g)S6E%*KgQ}vBTOs zY;ttkjC0=N;_Bw^@lVgK_-$U>3En$=e0Tc!@7f)(CopL5=lg<*|04bS@DXw(H7S*u zb}s$fjLf{kYn(D}Mdf$Z{5nB>!}pChnuIr7Z?)ZS7vGUcJMPLl@5y`aKkV)6e=;zr zQa>H~d3a=WZ2Z~tiOCmJhkFW~AV}XA@9yG%ymPQCknXo@Y3xsn7IlWKOIWNs*D&_$ zSo=$7|6!~($IAZl1E<{h2T+*U-2R)Dc~;2#FZN`9x^5q#!r9gO+^|zsW^WJ6q?SA!50 zOP)JByb}MS@Xm8W)N4L9#qY#HLjB6|dx2Wb`Osp# zVfU`ZVBT-nWA6;xGm|muYIn1yc~ZAOm{op2h;qOVQ7^H|g3!ctxw>s!t2jz{!i?Q} zN-8%gR9H&&WUIy{wxQ;1<03_PA4`b3b3|I{=4p4cZb-;^&eAyZs>uNgK34<9hDe}} zqOmY(ghD?IEbZ;SYb|lNGxHH4TVbi#u*;H8L{umYVQE+Oy_H0Sd4=M;EtvgP!9o5{YQwnQzj6)FgrIdWmK7GFl`*5CNi1!omRa2imYa z16SbN^huo)c>0J8V93X|p~WaJUNtqH1&7n0)DabxK#tdhR;<_r=de%t`OCbmITRRx z-y@%A#x|DaIxj3#Gy?+NFH9TLIK+UBPfZc{roD$HL(7<`lgyU_`No`?i zmn`9)(FB%2t;bygbZZs!cEfzoyE$jbt_?hl0FJWUZU0~$imMZcoCxZH(XucBvRn(c zaiL;al?zDLu_{PoMauvTfmt=Z6qxgEEJd(Sn$l8}WEc8cNST7JW@J6iFbjyLcC>68|BSjS8-CDLPp6V(9HZ(oHg!bPm$ zl)D-ES9HJvTU=<3fFe3J!6V%UHNo3BY^+hym7sFzipQjTqy9FLr9~iP0*Mu!Yf|op z1uN3_Aa?I*bgH?83MgqmJ2^5YT#~WoBf7E}d}iaqye?u=dnCNOAcQmFR|FjcH6`Vd zMdQE=Uv|Mhv~}$w5*1B|F4OoWw>#$R_OX8SikW)Y@@@EHm|lm+q{NW1jOppVPbB00 z$huR_pevjwM|9PgNw0tzHwl9edy7(%?v3=Z7zHy;x7T%zusy-*kK}9)lX5x<^^a1> z=Q5)zt{=l_Z|exYzC$d^1BLAUAx-*ql}k>#DQ)+_6?oAf>wTJA8AxG;PZZb_5!_>a z{-z~6WCVCkFh}X$QwY2tRSd5P;-k`S&O+Hn9vf~3;^}=EG1H8u_yUl0BW51|%H$z8 zs~NS%XBJJGO%?Q4$uH2v(Xqh4WOCF8rIu2WfL)B1zMP!-j%2opb|S?@C9_s zO|};+G8lZgpSf{~iSAYfeY@cPYV8W%YWF1cNh0}NG$NuhpH8`XL@$Zl$c_uQo^AqL z%~NU1NH~p+1!&!dR7zSnXz99WzZ2Lc7r0bV?ipw4uziB#yz4 zLdX&Z9*#BC_Me2`lvWCOkHFPqK8v_e2`o?g>dUVh1)_-vK{g@_J17PS-YpVXX~I!l z z{9zC{*J}shAO)uAKWd!;@s}WR@)u>%W*{ePZH0)P3a4vbU%ggx`BtFy>{0f%>&EXn z#ooNf%;IU@-U=#S2z}_4;&r>JKF^W{zGeL%1Lec}AmTsR{o7YkM8W|kDR RHuw_+;XS - - - - - - - - - - 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 zcmeHKYgAKL7ETqUR>5(!rIDAF0iCMJ5ClpgP*6b#pady8lHd{y7C~xch~)CnGPPEz zytDxWWI8R%!wN_RBi?{Iyq_u*@*q*3Qpmk9K(2T}d!jQeyS%d&F6@tX&06=zxo4km zKfZnTIs1IM!^d6!tyOQ4NF;raZCjWm(gK7;(zShaA()w2e0vj#^hW0nubo?0h-d!) z{r(sjyVP?TWI8K~>ElPzU8J{UslLIoKP>;_JBII)R~Z?bn3}DAZ;kn%EG*ZqTff1I zW@Bsjf&GULj&vvIk6c_gZ`tbRzRkmv;pOeKeTOg8Z>Rsq0lRkpbx$CR9kQPjdf=1r zPoqvGr=+H(pFJn|XI|l@qAR68lwG?HODd~w-nv~=SKrdwcIWQB_KqJryQDI?LUq5l zZ*XXMM2(=MWB(qXnABj8rXJ(dGY3?;jwF)7NslcqJCDlL-GfKY`md~dptCaV;hGJL zb#yl9y!}SWKic11_t~)pngyB@y49{8F2#n$OxG&sACYzG-bi!LNDkaOZWDWbTxdNA zqsU#&l9k^!FJH||ai}xtGvMlp6BRDV^WPVSvyzt<0g3y6*3T}|!hfM@Rx&Sm>dP+n zotgD^*2e#`K4Y zNGeMq{TiwF)w9H^+{_yCW_Ax+U~R%CO_B_=r;5MGQ9IDW5^7@V=}~GV&FC@uCN7&qDES!U>xzuX0Hxkl!DBVilf2hnHE4~`JN#4&s zRXTHMbwArnZ3L7tv!wS~1&Y&Bc?6A14NVt!W+y35XR3`9^>uKDRHC#r$M)qgae8h8 zoFVI!0Zm$U$}pcIJD{t{vb4poK*1Or53@_*QZHz1Kv2!mR~zAu>8NB7RPG0GgZ_7l z2%0vQKy_g|g$F$kw$?v~37j!=1e&wF2QCBGxon^!dV4-M87@~1S*LKz%RzJ-?c|ZX zwZIJyZUVw#pF)pt@Oyyk>Tnvcwi!okfxQe_KmiM>9?`OT`f%9iynHT|lfD~~fXQ&$ zdYEwzvMPa{NRfA*-ISHaCm8$v-fXq=kto4IxlpyZfqilGoFbM=} zISiYRFQQ$HhAI@o2+>f(R9{s|k^>pAGIc|q=_Fs)-3C`FDcC#1a7`SZdQdj7k*lI$ zT`v%oA%#g+p8vSxS4GO3Fc%yJ< ztN{9yx_`nc2<0wA&aJ--iFgWtDeI*1(Z4yHWB1vjua$Tpo}@^GO3i~sRw@wV9u|4L z`w0cRZxFa&(g+))LD^QSWN_5fYFsRO<2hQZWy?Z2O*}2m!I6P-sqWvaK3>&m3^&rR z-4tthVnOe}rYDq;qP33BN6D(l^T84z+FsO{fo=wMRuUHvPf;*#Y)mj8?M{3)1AiDS z8D=3jv)RIuN-)r!bi(sMD5J{G&gfTaA+Sc^MVuB#a!E+S1K!lXV$A! mB>|j}-|k=kMJK2&3RztIUa^hmL-2Mcd2IFBa@lq7XFmfdn*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 087570aae75..00000000000 --- 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 9288233a392..00000000000 --- 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 75c19c2a65c..00000000000 --- 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!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-land-xxhdpi/flutter_splash_screen.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-land-xxhdpi/flutter_splash_screen.png deleted file mode 100644 index ca0a37c7ae0c937cc05bec80d23d4a8d4e8e6dab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3861 zcmeHKYgAKL7QR|4@}Hjdh{@Vb%6WS6A1{I``gv_TJy# z-#+`ClQTZvo(8(hbRh^bz;AWm2|*v*LC{>){EvX-GLF{-L328Mw)=Y^cvFA>{(1}y zaUPU{N@r7ddiy~i&(qe^H!w6ZUa)ZSlBJ(4Gg*#YVY<@H++x*g)S6E%*KgQ}vBTOs zY;ttkjC0=N;_Bw^@lVgK_-$U>3En$=e0Tc!@7f)(CopL5=lg<*|04bS@DXw(H7S*u zb}s$fjLf{kYn(D}Mdf$Z{5nB>!}pChnuIr7Z?)ZS7vGUcJMPLl@5y`aKkV)6e=;zr zQa>H~d3a=WZ2Z~tiOCmJhkFW~AV}XA@9yG%ymPQCknXo@Y3xsn7IlWKOIWNs*D&_$ zSo=$7|6!~($IAZl1E<{h2T+*U-2R)Dc~;2#FZN`9x^5q#!r9gO+^|zsW^WJ6q?SA!50 zOP)JByb}MS@Xm8W)N4L9#qY#HLjB6|dx2Wb`Osp# zVfU`ZVBT-nWA6;xGm|muYIn1yc~ZAOm{op2h;qOVQ7^H|g3!ctxw>s!t2jz{!i?Q} zN-8%gR9H&&WUIy{wxQ;1<03_PA4`b3b3|I{=4p4cZb-;^&eAyZs>uNgK34<9hDe}} zqOmY(ghD?IEbZ;SYb|lNGxHH4TVbi#u*;H8L{umYVQE+Oy_H0Sd4=M;EtvgP!9o5{YQwnQzj6)FgrIdWmK7GFl`*5CNi1!omRa2imYa z16SbN^huo)c>0J8V93X|p~WaJUNtqH1&7n0)DabxK#tdhR;<_r=de%t`OCbmITRRx z-y@%A#x|DaIxj3#Gy?+NFH9TLIK+UBPfZc{roD$HL(7<`lgyU_`No`?i zmn`9)(FB%2t;bygbZZs!cEfzoyE$jbt_?hl0FJWUZU0~$imMZcoCxZH(XucBvRn(c zaiL;al?zDLu_{PoMauvTfmt=Z6qxgEEJd(Sn$l8}WEc8cNST7JW@J6iFbjyLcC>68|BSjS8-CDLPp6V(9HZ(oHg!bPm$ zl)D-ES9HJvTU=<3fFe3J!6V%UHNo3BY^+hym7sFzipQjTqy9FLr9~iP0*Mu!Yf|op z1uN3_Aa?I*bgH?83MgqmJ2^5YT#~WoBf7E}d}iaqye?u=dnCNOAcQmFR|FjcH6`Vd zMdQE=Uv|Mhv~}$w5*1B|F4OoWw>#$R_OX8SikW)Y@@@EHm|lm+q{NW1jOppVPbB00 z$huR_pevjwM|9PgNw0tzHwl9edy7(%?v3=Z7zHy;x7T%zusy-*kK}9)lX5x<^^a1> z=Q5)zt{=l_Z|exYzC$d^1BLAUAx-*ql}k>#DQ)+_6?oAf>wTJA8AxG;PZZb_5!_>a z{-z~6WCVCkFh}X$QwY2tRSd5P;-k`S&O+Hn9vf~3;^}=EG1H8u_yUl0BW51|%H$z8 zs~NS%XBJJGO%?Q4$uH2v(Xqh4WOCF8rIu2WfL)B1zMP!-j%2opb|S?@C9_s zO|};+G8lZgpSf{~iSAYfeY@cPYV8W%YWF1cNh0}NG$NuhpH8`XL@$Zl$c_uQo^AqL z%~NU1NH~p+1!&!dR7zSnXz99WzZ2Lc7r0bV?ipw4uziB#yz4 zLdX&Z9*#BC_Me2`lvWCOkHFPqK8v_e2`o?g>dUVh1)_-vK{g@_J17PS-YpVXX~I!l z z{9zC{*J}shAO)uAKWd!;@s}WR@)u>%W*{ePZH0)P3a4vbU%ggx`BtFy>{0f%>&EXn z#ooNf%;IU@-U=#S2z}_4;&r>JKF^W{zGeL%1Lec}AmTsR{o7YkM8W|kDR RHuw_+;XSi*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ 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 zcmeHKYgAKL7ETqUR>5(!rIDAF0iCMJ5ClpgP*6b#pady8lHd{y7C~xch~)CnGPPEz zytDxWWI8R%!wN_RBi?{Iyq_u*@*q*3Qpmk9K(2T}d!jQeyS%d&F6@tX&06=zxo4km zKfZnTIs1IM!^d6!tyOQ4NF;raZCjWm(gK7;(zShaA()w2e0vj#^hW0nubo?0h-d!) z{r(sjyVP?TWI8K~>ElPzU8J{UslLIoKP>;_JBII)R~Z?bn3}DAZ;kn%EG*ZqTff1I zW@Bsjf&GULj&vvIk6c_gZ`tbRzRkmv;pOeKeTOg8Z>Rsq0lRkpbx$CR9kQPjdf=1r zPoqvGr=+H(pFJn|XI|l@qAR68lwG?HODd~w-nv~=SKrdwcIWQB_KqJryQDI?LUq5l zZ*XXMM2(=MWB(qXnABj8rXJ(dGY3?;jwF)7NslcqJCDlL-GfKY`md~dptCaV;hGJL zb#yl9y!}SWKic11_t~)pngyB@y49{8F2#n$OxG&sACYzG-bi!LNDkaOZWDWbTxdNA zqsU#&l9k^!FJH||ai}xtGvMlp6BRDV^WPVSvyzt<0g3y6*3T}|!hfM@Rx&Sm>dP+n zotgD^*2e#`K4Y zNGeMq{TiwF)w9H^+{_yCW_Ax+U~R%CO_B_=r;5MGQ9IDW5^7@V=}~GV&FC@uCN7&qDES!U>xzuX0Hxkl!DBVilf2hnHE4~`JN#4&s zRXTHMbwArnZ3L7tv!wS~1&Y&Bc?6A14NVt!W+y35XR3`9^>uKDRHC#r$M)qgae8h8 zoFVI!0Zm$U$}pcIJD{t{vb4poK*1Or53@_*QZHz1Kv2!mR~zAu>8NB7RPG0GgZ_7l z2%0vQKy_g|g$F$kw$?v~37j!=1e&wF2QCBGxon^!dV4-M87@~1S*LKz%RzJ-?c|ZX zwZIJyZUVw#pF)pt@Oyyk>Tnvcwi!okfxQe_KmiM>9?`OT`f%9iynHT|lfD~~fXQ&$ zdYEwzvMPa{NRfA*-ISHaCm8$v-fXq=kto4IxlpyZfqilGoFbM=} zISiYRFQQ$HhAI@o2+>f(R9{s|k^>pAGIc|q=_Fs)-3C`FDcC#1a7`SZdQdj7k*lI$ zT`v%oA%#g+p8vSxS4GO3Fc%yJ< ztN{9yx_`nc2<0wA&aJ--iFgWtDeI*1(Z4yHWB1vjua$Tpo}@^GO3i~sRw@wV9u|4L z`w0cRZxFa&(g+))LD^QSWN_5fYFsRO<2hQZWy?Z2O*}2m!I6P-sqWvaK3>&m3^&rR z-4tthVnOe}rYDq;qP33BN6D(l^T84z+FsO{fo=wMRuUHvPf;*#Y)mj8?M{3)1AiDS z8D=3jv)RIuN-)r!bi(sMD5J{G&gfTaA+Sc^MVuB#a!E+S1K!lXV$A! mB>|j}-|k=kMJK2&3RztIUa^hmL-2Mcd2IFBa@lq7XFmfdn*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!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof 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 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/values/styles.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 500964b227d..00000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - 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 1865c0d76d3..00000000000 --- 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 c2c4160adfc..00000000000 --- 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 94adc3a3f97..00000000000 --- 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 bc6a58afdda..00000000000 --- 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 d3b6a4013d7..00000000000 --- 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 c1d992349a3..00000000000 --- 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 9ed37c0b830..00000000000 --- 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 0ce9b8b31da..00000000000 --- 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 5ca33bab443..00000000000 --- 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 60770a8bea1..00000000000 --- 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 7391168ddae..00000000000 --- 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 693ab4f0156..00000000000 --- 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 75374b421c2..00000000000 --- 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 1b21eb358c2..00000000000 --- 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 e69d944f3b9..00000000000 --- 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 78b3dc73b9f..00000000000 --- 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 a1a2caf2391..00000000000 --- 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 c73cb9f6ec4..00000000000 --- 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 a2af9968d0a..00000000000 --- 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 cc9a52694bc..00000000000 --- 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!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/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!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ 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!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof 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 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/ids.xml b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/values/ids.xml deleted file mode 100644 index 7b8ec33bc00..00000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_load_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_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 223593b1718..00000000000 --- 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 e69d944f3b9..00000000000 --- 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 c2c4160adfc..00000000000 --- 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 94adc3a3f97..00000000000 --- 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 bc6a58afdda..00000000000 --- 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 d3b6a4013d7..00000000000 --- 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 c1d992349a3..00000000000 --- 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 9afb8f91045..00000000000 --- 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 e74cbca4ce2..00000000000 --- 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 7391168ddae..00000000000 --- 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 693ab4f0156..00000000000 --- 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 88dfe1d7c3b..00000000000 --- 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 03dcb8ec558..00000000000 --- 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 c2666846dd5..00000000000 --- 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 a991113f4fd..00000000000 --- 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 0354aa47dc7..00000000000 --- 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 5569c97186c..00000000000 --- 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 d36c6793e0e..00000000000 --- 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 c1f6299ad34..00000000000 --- 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 9288233a392..00000000000 --- 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!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/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!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ 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!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof 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 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/colors.xml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/colors.xml deleted file mode 100644 index 08eb06d38bb..00000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - #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 7b8ec33bc00..00000000000 --- 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 1b6abb393be..00000000000 --- 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 c2666846dd5..00000000000 --- 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 c2c4160adfc..00000000000 --- 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 94adc3a3f97..00000000000 --- 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 bc6a58afdda..00000000000 --- 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 d3b6a4013d7..00000000000 --- 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 c1d992349a3..00000000000 --- 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 1a61c8d4e59..00000000000 --- 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 918f33b4465..00000000000 --- 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 44cc49a735a..00000000000 --- 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 be0f1a69ac6..00000000000 --- 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); - }); - }); -}