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 ca0a37c7ae0..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land-xxhdpi/flutter_splash_screen.png and /dev/null differ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml deleted file mode 100644 index b4f0e2a9353..00000000000 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-land/launch_background.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png deleted file mode 100644 index 63ca9f7d38e..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/drawable-xxhdpi/flutter_splash_screen.png and /dev/null differ 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 db77bb4b7b0..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ 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 ca0a37c7ae0..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-land-xxhdpi/flutter_splash_screen.png and /dev/null differ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391482b..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ 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 63ca9f7d38e..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/flutter_splash_screen.png and /dev/null differ 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 d5f1c8d34e7..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ 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 4d6372eebdb..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ 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 db77bb4b7b0..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ 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 17987b79bb8..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391482b..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ 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 d5f1c8d34e7..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ 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 4d6372eebdb..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_load_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ 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 db77bb4b7b0..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ 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 17987b79bb8..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391482b..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ 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 d5f1c8d34e7..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ 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 4d6372eebdb..00000000000 Binary files a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ 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); - }); - }); -}