syncfusion / flutter-widgets

Syncfusion Flutter widgets libraries include high quality UI widgets and file-format packages to help you create rich, high-quality applications for iOS, Android, and web from a single code base.
1.47k stars 697 forks source link

Remove references to deprecated v1 Android embedding #1949

Open reidbaker opened 3 days ago

reidbaker commented 3 days ago

Use case

Apps can use your code when updating to future versions of flutter.

Proposal

To ensure this plugin will work with users running the next stable version of Flutter remove references to the v1 embedding.

The v1 embedding was deprecated around 6 and a half years ago. In Flutter 3.22, the Flutter tool dropped support for building v1 apps entirely. Flutter plans to delete version one of it's Android embedding in the next stable release, per https://medium.com/flutter/whats-new-in-flutter-3-22-fbde6c164fe3 (in the "Removal of v1 Android embedding" section).

When that deletion happens, any apps using plugins that still have references to the removed classes will fail to build when updating to the next stable version (probably Flutter 3.26).

As a part of this deprecation, the Flutter Android team is doing community outreach by filing bugs and submitting some pull requests to update plugins to minimize the impact this removal has on the community.

Some example PRs:

Consequences:

If this change doesn't land, this plugin will instead be broken for all apps building on the next stable version of Flutter and beyond.

Is there a way to support both v1 and v2 embedding apps in the next stable version of Flutter?

No.

This is the PR where we are removing the deprecated engine classes: https://github.com/flutter/engine/pull/52022

reidbaker commented 3 days ago

Query to find deprecated classes in your repo https://github.com/search?q=repo%3Asyncfusion%2Fflutter-widgets+%28%22io.flutter.view.FlutterMain%22+OR+%22io.flutter.view.FlutterNativeView%22+OR+%22io.flutter.view.FlutterView%22+OR+%22io.flutter.embedding.engine.plugins.shim%22+OR+%22io.flutter.app%22+OR+%22PluginRegistry.Registrar%22+OR+%22android%3Aname%3Dio.flutter.app.FlutterApplication%22%29&type=code