mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
[CP-stable] Add empty io.flutter.app.FlutterApplication to give deprecation notice, and un-break projects that have not migrated (#164730)
This is just the engine portion of https://github.com/flutter/flutter/pull/164343. I.e., it does not contain the test change. Copied from the original cherry pick pr: This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/blob/main/docs/releases/Flutter-Cherrypick-Process.md#automatically-creates-a-cherry-pick-request) Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request. ### Issue Link: What is the link to the issue this cherry-pick is addressing? https://github.com/flutter/flutter/issues/164024 ### Changelog Description: Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/blob/main/docs/releases/Hotfix-Documentation-Best-Practices.md) for examples https://github.com/flutter/flutter/issues/164024: Add back an empty `io.flutter.app.FlutterApplication` for Android apps that reference that class post v2 embedder migration ### Impact Description: What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch) The class does not provide any additional funcitonality, but it class was removed without sufficient notice in the breaking changes section of the Flutter documentation. As such, consumers of this class were broken without sufficient time to migrate. ### Workaround: Is there a workaround for this issue? Flutter projects which need a custom `Application` can instead simply extend an `android.app.Application`. There is no reason to extend a `FlutterApplication`. ### Risk: What is the risk level of this cherry-pick? ### Test Coverage: Are you confident that your fix is well-tested by automated tests? ### Validation Steps: What are the steps to validate that this fix works? Either make a flutter app which depends on this class, or run the spell check integration tests: ``` # from the .../flutter/dev/devicelab directory ../../bin/cache/dart-sdk/bin/dart bin/test_runner.dart test -t spell_check_test ```
This commit is contained in:
parent
bd5f99208a
commit
2cee248f3f
@ -30,6 +30,8 @@ INTERNAL NOTE
|
||||
|
||||
- [flutter/164628](https://github.com/flutter/flutter/issues/164628) - iOS Fixes crash when allocation of surface for toImage/toImageSync fails.
|
||||
- [flutter/164201](https://github.com/flutter/flutter/pull/164201) - Always use Android hardware buffers for platform views when supported.
|
||||
- [flutter/162198](https://github.com/flutter/flutter/issues/162198) Fixes double-download of canvaskit.wasm
|
||||
- [flutter/164024](https://github.com/flutter/flutter/issues/164024): - Add back an empty io.flutter.app.FlutterApplication for Android apps post v2 embedder migration.
|
||||
- [flutter/162198](https://github.com/flutter/flutter/issues/162198) - Fixes double-download of canvaskit.wasm
|
||||
- [flutter/164392](https://github.com/flutter/flutter/pull/164392) - All platforms, Fixes a crash that can occur when animating and interacting with a scrollable simultaneously.
|
||||
|
||||
|
||||
@ -43607,6 +43607,7 @@ ORIGIN: ../../../flutter/shell/platform/android/io/flutter/Build.java + ../../..
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/BuildConfig.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/FlutterInjector.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/Log.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/app/FlutterApplication.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/ExclusiveAppComponent.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java + ../../../flutter/LICENSE
|
||||
ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java + ../../../flutter/LICENSE
|
||||
@ -46557,6 +46558,7 @@ FILE: ../../../flutter/shell/platform/android/io/flutter/Build.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/BuildConfig.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/FlutterInjector.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/Log.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterApplication.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/ExclusiveAppComponent.java
|
||||
FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java
|
||||
|
||||
@ -207,6 +207,7 @@ android_java_sources = [
|
||||
"io/flutter/Build.java",
|
||||
"io/flutter/FlutterInjector.java",
|
||||
"io/flutter/Log.java",
|
||||
"io/flutter/app/FlutterApplication.java",
|
||||
"io/flutter/embedding/android/AndroidTouchProcessor.java",
|
||||
"io/flutter/embedding/android/ExclusiveAppComponent.java",
|
||||
"io/flutter/embedding/android/FlutterActivity.java",
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
// Copyright 2013 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.app;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
/**
|
||||
* Empty implementation of the {@link Application} class, provided to avoid breaking older Flutter
|
||||
* projects. Flutter projects which need to extend an Application should migrate to extending {@link
|
||||
* android.app.Application} instead.
|
||||
*
|
||||
* <p>For more information on the removal of Flutter's v1 Android embedding, see:
|
||||
* https://docs.flutter.dev/release/breaking-changes/v1-android-embedding.
|
||||
*/
|
||||
@Deprecated
|
||||
public class FlutterApplication extends Application {}
|
||||
@ -66,6 +66,7 @@ def main():
|
||||
classpath.append(args.build_config_path)
|
||||
|
||||
packages = [
|
||||
'io.flutter.app',
|
||||
'io.flutter.embedding.android',
|
||||
'io.flutter.embedding.engine',
|
||||
'io.flutter.embedding.engine.dart',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user