-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Add empty io.flutter.app.FlutterApplication to give deprecation notice, and un-break projects that have not migrated
#164233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add empty io.flutter.app.FlutterApplication to give deprecation notice, and un-break projects that have not migrated
#164233
Conversation
|
cc @reidbaker, as well as @loic-sharma and @stuartmorgan for thoughts as you were involved in the discord discussion. Does this seem like a reasonable thing to land and then cherry-pick? It won't help 3.29.0, but could help those that have waited for the next patch to upgrade. |
engine/src/flutter/shell/platform/android/io/flutter/app/FlutterApplication.java
Show resolved
Hide resolved
Why not cherry pick it into 3.29? |
Seems like a good way to compensate for us having missed the deprecation warning on this. |
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
…plication' into add_empty_flutterapplication
|
@matanlurey does your approval also count as an exemption re: the bot comment? The comment is wrong (it is tested) but we generally still don't land without exemption |
|
@gmackall: Test-exempt, this itself is a test. |
…ice, and un-break projects that have not migrated (flutter#164233) The removal of the v1 embedding missed that this class was not marked as deprecated, and did not provide a notice in the breaking changes section. V1 apps that needed the functionality of the old `FlutterApplication` were all broken in the previous release, but some V2 apps have been referencing the v1 `FlutterApplication`. For these apps, this is the same as extending the base `android.app.Application`. So we can provide an "empty extension" of that base class, to provide these v2 apps a deprecation notice, and avoid breaking them without warning (in 3.29.1). Arbitrarily chose the `spell_checker` integration test to reference this empty application, let me know if you think I should bring up an entirely new devicelab test instead. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Gray Mackall <[email protected]>
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
Roll Flutter from 2e570ca to 842db35 (59 revisions) flutter/flutter@2e570ca...842db35 2025-03-02 [email protected] Roll Skia from ad64415050aa to 101eee8fce59 (1 revision) (flutter/flutter#164449) 2025-03-02 [email protected] Roll Fuchsia Linux SDK from ln3joxJfRN2XGhvCv... to AO1KirSDI7-MVYNPN... (flutter/flutter#164440) 2025-03-02 [email protected] android: Clean up gen_snapshot artifact build (flutter/flutter#164418) 2025-03-02 [email protected] Start using `bin/cache/engine.{stamp|realm}` instead of `bin/internal/engine.{realm|version}`. (flutter/flutter#164352) 2025-03-01 [email protected] Add macos/android_debug_unopt to local_engine.json (flutter/flutter#164410) 2025-03-01 [email protected] Delete unused build archive targets (flutter/flutter#164414) 2025-03-01 [email protected] Roll Fuchsia Linux SDK from QMun2itYrV_zUYrvW... to ln3joxJfRN2XGhvCv... (flutter/flutter#164423) 2025-03-01 [email protected] Roll Skia from ac14158663ea to ad64415050aa (1 revision) (flutter/flutter#164413) 2025-03-01 [email protected] Update linux_host_engine.json ci/host_release description (flutter/flutter#164402) 2025-03-01 [email protected] In update_engine_version_test.dart, do not populate the test environment with the host platform environment (flutter/flutter#164395) 2025-03-01 [email protected] Roll-forward #164317: Use `bin/cache/engine.stamp` (flutter/flutter#164401) 2025-02-28 [email protected] Make pressing and moving on CupertinoButton closer to native behavior. (flutter/flutter#161731) 2025-02-28 [email protected] Roll Skia from 4005ba3ca7b6 to ac14158663ea (7 revisions) (flutter/flutter#164404) 2025-02-28 [email protected] [macOS] Prepare FlutterKeyboardManager for multi-view (flutter/flutter#163962) 2025-02-28 [email protected] Add PlatformDispatcher.engineId (flutter/flutter#163476) 2025-02-28 [email protected] Move `integration_test.FlutterDeviceScreenshotTest` to the framework slow shard (flutter/flutter#164398) 2025-02-28 [email protected] Fix: Update DelegatedTransition animation parameter correctly (flutter/flutter#163853) 2025-02-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Write an identical value to `bin/cache/engine.stamp` to prepare for migration (#164317)" (flutter/flutter#164396) 2025-02-28 [email protected] Add action for configuring default action of EditableText.onTapUpOutside (flutter/flutter#162575) 2025-02-28 [email protected] Align jvmTarget usages across codebase, while editing build.gradle files align them with android version documentation (flutter/flutter#164200) 2025-02-28 [email protected] Roll Packages from 01d3d5c to 70b41e1 (5 revisions) (flutter/flutter#164380) 2025-02-28 [email protected] [tool] Allow using archiveName in android bundle build (flutter/flutter#162390) 2025-02-28 [email protected] Fix incorrectly checking for invalid environment variables in the tool (flutter/flutter#164101) 2025-02-28 [email protected] Support forward and back buttons (flutter/flutter#164356) 2025-02-28 [email protected] Fix window creation callback for multi-window (flutter/flutter#164353) 2025-02-28 [email protected] Fix flutter doctor usage of eglinfo in failure cases. (flutter/flutter#164334) 2025-02-28 [email protected] Refactor writing of package config in tests (flutter/flutter#163734) 2025-02-28 [email protected] Fixed the issue that Slider's secondaryTrackValue is not updated. (flutter/flutter#163996) 2025-02-28 [email protected] Roll pub packages (flutter/flutter#164357) 2025-02-28 [email protected] Remove `Mac mac_unopt` presubmit retry count (flutter/flutter#164350) 2025-02-28 [email protected] Roll Fuchsia Linux SDK from 1elkOxihZuTEiTXzY... to QMun2itYrV_zUYrvW... (flutter/flutter#164351) 2025-02-28 [email protected] Drag handles only need to be tested on mobile platforms. (flutter/flutter#163723) 2025-02-28 [email protected] [Android] Use java for looking up Android API level. (flutter/flutter#163558) 2025-02-28 [email protected] Write an identical value to `bin/cache/engine.stamp` to prepare for migration (flutter/flutter#164317) 2025-02-27 [email protected] Wires up expanded state in web engine (flutter/flutter#164048) 2025-02-27 [email protected] Remove Cheserton's File (flutter/flutter#164340) 2025-02-27 [email protected] Replace update semantics handler with signal. (flutter/flutter#163583) 2025-02-27 [email protected] Split up the conical gradient fragment shader (flutter/flutter#164058) 2025-02-27 [email protected] Roll Skia from c16b145749d4 to 4005ba3ca7b6 (3 revisions) (flutter/flutter#164339) 2025-02-27 [email protected] Delete and update stale documentation regarding engine/engine hash. (flutter/flutter#164324) 2025-02-27 [email protected] Document how `engine.version` (is/will be) computed (flutter/flutter#164335) 2025-02-27 [email protected] Update conductor to write engine.version file (flutter/flutter#163350) 2025-02-27 [email protected] remove last usages of min/compile/target SdkVersion, align sourceCompatibility across repo and update android version documentation (flutter/flutter#164198) 2025-02-27 [email protected] Update links to the `flutter/engine` repository for the monorepo. (flutter/flutter#164328) 2025-02-27 [email protected] Add empty `io.flutter.app.FlutterApplication` to give deprecation notice, and un-break projects that have not migrated (flutter/flutter#164233) 2025-02-27 [email protected] Revert dart sdks that were causing dartaotruntime issues in g3 (flutter/flutter#164307) ...
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
…tion notice, and un-break projects that have not migrated (flutter/flutter#164233)
Roll Flutter from 2e570ca to 842db35 (59 revisions) flutter/flutter@2e570ca...842db35 2025-03-02 [email protected] Roll Skia from ad64415050aa to 101eee8fce59 (1 revision) (flutter/flutter#164449) 2025-03-02 [email protected] Roll Fuchsia Linux SDK from ln3joxJfRN2XGhvCv... to AO1KirSDI7-MVYNPN... (flutter/flutter#164440) 2025-03-02 [email protected] android: Clean up gen_snapshot artifact build (flutter/flutter#164418) 2025-03-02 [email protected] Start using `bin/cache/engine.{stamp|realm}` instead of `bin/internal/engine.{realm|version}`. (flutter/flutter#164352) 2025-03-01 [email protected] Add macos/android_debug_unopt to local_engine.json (flutter/flutter#164410) 2025-03-01 [email protected] Delete unused build archive targets (flutter/flutter#164414) 2025-03-01 [email protected] Roll Fuchsia Linux SDK from QMun2itYrV_zUYrvW... to ln3joxJfRN2XGhvCv... (flutter/flutter#164423) 2025-03-01 [email protected] Roll Skia from ac14158663ea to ad64415050aa (1 revision) (flutter/flutter#164413) 2025-03-01 [email protected] Update linux_host_engine.json ci/host_release description (flutter/flutter#164402) 2025-03-01 [email protected] In update_engine_version_test.dart, do not populate the test environment with the host platform environment (flutter/flutter#164395) 2025-03-01 [email protected] Roll-forward #164317: Use `bin/cache/engine.stamp` (flutter/flutter#164401) 2025-02-28 [email protected] Make pressing and moving on CupertinoButton closer to native behavior. (flutter/flutter#161731) 2025-02-28 [email protected] Roll Skia from 4005ba3ca7b6 to ac14158663ea (7 revisions) (flutter/flutter#164404) 2025-02-28 [email protected] [macOS] Prepare FlutterKeyboardManager for multi-view (flutter/flutter#163962) 2025-02-28 [email protected] Add PlatformDispatcher.engineId (flutter/flutter#163476) 2025-02-28 [email protected] Move `integration_test.FlutterDeviceScreenshotTest` to the framework slow shard (flutter/flutter#164398) 2025-02-28 [email protected] Fix: Update DelegatedTransition animation parameter correctly (flutter/flutter#163853) 2025-02-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Write an identical value to `bin/cache/engine.stamp` to prepare for migration (#164317)" (flutter/flutter#164396) 2025-02-28 [email protected] Add action for configuring default action of EditableText.onTapUpOutside (flutter/flutter#162575) 2025-02-28 [email protected] Align jvmTarget usages across codebase, while editing build.gradle files align them with android version documentation (flutter/flutter#164200) 2025-02-28 [email protected] Roll Packages from 01d3d5c to 70b41e1 (5 revisions) (flutter/flutter#164380) 2025-02-28 [email protected] [tool] Allow using archiveName in android bundle build (flutter/flutter#162390) 2025-02-28 [email protected] Fix incorrectly checking for invalid environment variables in the tool (flutter/flutter#164101) 2025-02-28 [email protected] Support forward and back buttons (flutter/flutter#164356) 2025-02-28 [email protected] Fix window creation callback for multi-window (flutter/flutter#164353) 2025-02-28 [email protected] Fix flutter doctor usage of eglinfo in failure cases. (flutter/flutter#164334) 2025-02-28 [email protected] Refactor writing of package config in tests (flutter/flutter#163734) 2025-02-28 [email protected] Fixed the issue that Slider's secondaryTrackValue is not updated. (flutter/flutter#163996) 2025-02-28 [email protected] Roll pub packages (flutter/flutter#164357) 2025-02-28 [email protected] Remove `Mac mac_unopt` presubmit retry count (flutter/flutter#164350) 2025-02-28 [email protected] Roll Fuchsia Linux SDK from 1elkOxihZuTEiTXzY... to QMun2itYrV_zUYrvW... (flutter/flutter#164351) 2025-02-28 [email protected] Drag handles only need to be tested on mobile platforms. (flutter/flutter#163723) 2025-02-28 [email protected] [Android] Use java for looking up Android API level. (flutter/flutter#163558) 2025-02-28 [email protected] Write an identical value to `bin/cache/engine.stamp` to prepare for migration (flutter/flutter#164317) 2025-02-27 [email protected] Wires up expanded state in web engine (flutter/flutter#164048) 2025-02-27 [email protected] Remove Cheserton's File (flutter/flutter#164340) 2025-02-27 [email protected] Replace update semantics handler with signal. (flutter/flutter#163583) 2025-02-27 [email protected] Split up the conical gradient fragment shader (flutter/flutter#164058) 2025-02-27 [email protected] Roll Skia from c16b145749d4 to 4005ba3ca7b6 (3 revisions) (flutter/flutter#164339) 2025-02-27 [email protected] Delete and update stale documentation regarding engine/engine hash. (flutter/flutter#164324) 2025-02-27 [email protected] Document how `engine.version` (is/will be) computed (flutter/flutter#164335) 2025-02-27 [email protected] Update conductor to write engine.version file (flutter/flutter#163350) 2025-02-27 [email protected] remove last usages of min/compile/target SdkVersion, align sourceCompatibility across repo and update android version documentation (flutter/flutter#164198) 2025-02-27 [email protected] Update links to the `flutter/engine` repository for the monorepo. (flutter/flutter#164328) 2025-02-27 [email protected] Add empty `io.flutter.app.FlutterApplication` to give deprecation notice, and un-break projects that have not migrated (flutter/flutter#164233) 2025-02-27 [email protected] Revert dart sdks that were causing dartaotruntime issues in g3 (flutter/flutter#164307) ...
Roll Flutter from 2e570ca to 842db35 (59 revisions) flutter/flutter@2e570ca...842db35 2025-03-02 [email protected] Roll Skia from ad64415050aa to 101eee8fce59 (1 revision) (flutter/flutter#164449) 2025-03-02 [email protected] Roll Fuchsia Linux SDK from ln3joxJfRN2XGhvCv... to AO1KirSDI7-MVYNPN... (flutter/flutter#164440) 2025-03-02 [email protected] android: Clean up gen_snapshot artifact build (flutter/flutter#164418) 2025-03-02 [email protected] Start using `bin/cache/engine.{stamp|realm}` instead of `bin/internal/engine.{realm|version}`. (flutter/flutter#164352) 2025-03-01 [email protected] Add macos/android_debug_unopt to local_engine.json (flutter/flutter#164410) 2025-03-01 [email protected] Delete unused build archive targets (flutter/flutter#164414) 2025-03-01 [email protected] Roll Fuchsia Linux SDK from QMun2itYrV_zUYrvW... to ln3joxJfRN2XGhvCv... (flutter/flutter#164423) 2025-03-01 [email protected] Roll Skia from ac14158663ea to ad64415050aa (1 revision) (flutter/flutter#164413) 2025-03-01 [email protected] Update linux_host_engine.json ci/host_release description (flutter/flutter#164402) 2025-03-01 [email protected] In update_engine_version_test.dart, do not populate the test environment with the host platform environment (flutter/flutter#164395) 2025-03-01 [email protected] Roll-forward #164317: Use `bin/cache/engine.stamp` (flutter/flutter#164401) 2025-02-28 [email protected] Make pressing and moving on CupertinoButton closer to native behavior. (flutter/flutter#161731) 2025-02-28 [email protected] Roll Skia from 4005ba3ca7b6 to ac14158663ea (7 revisions) (flutter/flutter#164404) 2025-02-28 [email protected] [macOS] Prepare FlutterKeyboardManager for multi-view (flutter/flutter#163962) 2025-02-28 [email protected] Add PlatformDispatcher.engineId (flutter/flutter#163476) 2025-02-28 [email protected] Move `integration_test.FlutterDeviceScreenshotTest` to the framework slow shard (flutter/flutter#164398) 2025-02-28 [email protected] Fix: Update DelegatedTransition animation parameter correctly (flutter/flutter#163853) 2025-02-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Write an identical value to `bin/cache/engine.stamp` to prepare for migration (#164317)" (flutter/flutter#164396) 2025-02-28 [email protected] Add action for configuring default action of EditableText.onTapUpOutside (flutter/flutter#162575) 2025-02-28 [email protected] Align jvmTarget usages across codebase, while editing build.gradle files align them with android version documentation (flutter/flutter#164200) 2025-02-28 [email protected] Roll Packages from 01d3d5c to 70b41e1 (5 revisions) (flutter/flutter#164380) 2025-02-28 [email protected] [tool] Allow using archiveName in android bundle build (flutter/flutter#162390) 2025-02-28 [email protected] Fix incorrectly checking for invalid environment variables in the tool (flutter/flutter#164101) 2025-02-28 [email protected] Support forward and back buttons (flutter/flutter#164356) 2025-02-28 [email protected] Fix window creation callback for multi-window (flutter/flutter#164353) 2025-02-28 [email protected] Fix flutter doctor usage of eglinfo in failure cases. (flutter/flutter#164334) 2025-02-28 [email protected] Refactor writing of package config in tests (flutter/flutter#163734) 2025-02-28 [email protected] Fixed the issue that Slider's secondaryTrackValue is not updated. (flutter/flutter#163996) 2025-02-28 [email protected] Roll pub packages (flutter/flutter#164357) 2025-02-28 [email protected] Remove `Mac mac_unopt` presubmit retry count (flutter/flutter#164350) 2025-02-28 [email protected] Roll Fuchsia Linux SDK from 1elkOxihZuTEiTXzY... to QMun2itYrV_zUYrvW... (flutter/flutter#164351) 2025-02-28 [email protected] Drag handles only need to be tested on mobile platforms. (flutter/flutter#163723) 2025-02-28 [email protected] [Android] Use java for looking up Android API level. (flutter/flutter#163558) 2025-02-28 [email protected] Write an identical value to `bin/cache/engine.stamp` to prepare for migration (flutter/flutter#164317) 2025-02-27 [email protected] Wires up expanded state in web engine (flutter/flutter#164048) 2025-02-27 [email protected] Remove Cheserton's File (flutter/flutter#164340) 2025-02-27 [email protected] Replace update semantics handler with signal. (flutter/flutter#163583) 2025-02-27 [email protected] Split up the conical gradient fragment shader (flutter/flutter#164058) 2025-02-27 [email protected] Roll Skia from c16b145749d4 to 4005ba3ca7b6 (3 revisions) (flutter/flutter#164339) 2025-02-27 [email protected] Delete and update stale documentation regarding engine/engine hash. (flutter/flutter#164324) 2025-02-27 [email protected] Document how `engine.version` (is/will be) computed (flutter/flutter#164335) 2025-02-27 [email protected] Update conductor to write engine.version file (flutter/flutter#163350) 2025-02-27 [email protected] remove last usages of min/compile/target SdkVersion, align sourceCompatibility across repo and update android version documentation (flutter/flutter#164198) 2025-02-27 [email protected] Update links to the `flutter/engine` repository for the monorepo. (flutter/flutter#164328) 2025-02-27 [email protected] Add empty `io.flutter.app.FlutterApplication` to give deprecation notice, and un-break projects that have not migrated (flutter/flutter#164233) 2025-02-27 [email protected] Revert dart sdks that were causing dartaotruntime issues in g3 (flutter/flutter#164307) ...
The removal of the v1 embedding missed that this class was not marked as deprecated, and did not provide a notice in the breaking changes section. V1 apps that needed the functionality of the old
FlutterApplicationwere all broken in the previous release, but some V2 apps have been referencing the v1FlutterApplication.For these apps, this is the same as extending the base
android.app.Application. So we can provide an "empty extension" of that base class, to provide these v2 apps a deprecation notice, and avoid breaking them without warning (in 3.29.1).Arbitrarily chose the
spell_checkerintegration test to reference this empty application, let me know if you think I should bring up an entirely new devicelab test instead.Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.