-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[webview_flutter_android] Updates plugin to use ProxyApis
s
#7794
[webview_flutter_android] Updates plugin to use ProxyApis
s
#7794
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with some contributing docs fixes. We should fix the @protected
thing, but that doesn't have to block landing; the workaround is fine for now.
This plugin serves as a platform implementation plugin as outlined in [federated plugin](https://docs.flutter.dev/packages-and-plugins/developing-packages#federated-plugins). | ||
The sections below will provide an overview of how this plugin implements this portion with Android. | ||
|
||
For making changes to this package, please take a look at [changing federated plugin](https://github.com/flutter/flutter/blob/master/docs/ecosystem/contributing/README.md#changing-federated-plugins). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: plugins
|
||
## Package Structure | ||
|
||
This plugin serves as a platform implementation plugin as outlined in [federated plugin](https://docs.flutter.dev/packages-and-plugins/developing-packages#federated-plugins). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: plugins
|
||
##### 3. Run the code generator from the terminal | ||
|
||
Run: `dart run pigeon --input pigeons/interactive_media_ads_android.dart` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copypasta on the input file name here.
``` | ||
|
||
to `AndroidWebkitLibraryPigeonInstanceManager.remove`. The current implementation of the native | ||
doesn't currently support handling when the Dart instance is garbage collected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a missing word between the lines here I think. "native code"?
### Calling `WebView.destroy()` after Dart Instance is Garbage Collected | ||
|
||
To avoid a potentially breaking change, the code in `android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt` | ||
needs to be updated after the pigeon generator is ran. Please add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
run
|
||
### 4. Work can be started on the feature request or you can wait for feedback from a Flutter contributor. | ||
|
||
[IMA SDKs]: https://developers.google.com/interactive-media-ads |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not needed.
to `AndroidWebkitLibraryPigeonInstanceManager.remove`. The current implementation of the native | ||
doesn't currently support handling when the Dart instance is garbage collected. | ||
|
||
## Recommended Process for Adding a New Feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this section? This sounds like the process for adding a feature to any of our plugins.
* `lib/src/android_webkit.g.dart` | ||
* `android/src/main/java/io/flutter/plugins/webviewflutter/AndroidWebkitLibrary.g.kt` | ||
|
||
To update a wrapper for a platform, follow the steps: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"a wrapper for a platform" -> "the wrapper" (since this package is single-platform).
flutter/packages@fc4adc7...e95f6d8 2024-11-19 [email protected] [in_app_purchase_storekit] disallow ios versions lower than supported from enabling storekit (flutter/packages#8110) 2024-11-19 49699333+dependabot[bot]@users.noreply.github.com [interactive_media_ads]: Bump com.google.ads.interactivemedia.v3:interactivemedia from 3.35.1 to 3.36.0 in /packages/interactive_media_ads/android (flutter/packages#8046) 2024-11-19 49699333+dependabot[bot]@users.noreply.github.com [interactive_media_ads]: Bump androidx.annotation:annotation from 1.8.2 to 1.9.1 in /packages/interactive_media_ads/android (flutter/packages#7980) 2024-11-19 [email protected] [webview_flutter_android] Updates plugin to use `ProxyApis`s (flutter/packages#7794) 2024-11-19 [email protected] [interactive_media_ads] Adds support to define parameters that control the rendering of ads (flutter/packages#8057) 2024-11-19 [email protected] Roll Flutter from b3818f6 to 8536b96 (22 revisions) (flutter/packages#8124) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
… field of the `PigeonInternalProxyApiBaseClass` (#8125) It's common to access the `InstanceManager` when creating platform views, so this removes the `@protected` annotation to prevent lint warnings. See #7794 (comment)
@@ -20,7 +20,7 @@ pluginManagement { | |||
plugins { | |||
id "dev.flutter.flutter-plugin-loader" version "1.0.0" | |||
id "com.android.application" version "8.5.1" apply false | |||
id "org.jetbrains.kotlin.android" version "1.7.10" apply false | |||
id "org.jetbrains.kotlin.android" version "1.9.10" apply false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Judging from roller failures (example) I think this needs to be done in webview_flutter
's example as well now that this has been published.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing this!
* main: (64 commits) [quick_actions_plaform_interface] add localizedSubtitle (flutter#8112) [tools] Don't check license of generated Swift package (flutter#8137) Roll Flutter from 8536b96ebb3e to 93d772c5cdd8 (37 revisions) (flutter#8147) [go_router] Fix: Consistent PopScope Handling on Root Routes issue #140869 (flutter#8045) [in_app_purchase_storekit] fix price displayed with wrong precision (flutter#8127) [pigeon] Removes the `@protected` annotation from the InstanceManager field of the `PigeonInternalProxyApiBaseClass` (flutter#8125) [google_maps_flutter] Use structured Pigeon data on iOS (flutter#8142) [vector_graphics] handle errors from bytes loader (flutter#8080) [flutter_svg] Fix SvgNetworkLoader not closing internal http client (flutter#8126) [video_player_avfoundation] send video load failure even when eventsink was initialized late (flutter#7194) [flutter_markdown] enable Wasm support (flutter#8120) Reverts "[url_launcher] Add Swift Package Manager integration to example app (flutter#8128)" (flutter#8136) [url_launcher] Add Swift Package Manager integration to example app (flutter#8128) [pigeon] Enable example app build in CI (flutter#8119) [in_app_purchase_storekit] disallow ios versions lower than supported from enabling storekit (flutter#8110) [interactive_media_ads]: Bump com.google.ads.interactivemedia.v3:interactivemedia from 3.35.1 to 3.36.0 in /packages/interactive_media_ads/android (flutter#8046) [interactive_media_ads]: Bump androidx.annotation:annotation from 1.8.2 to 1.9.1 in /packages/interactive_media_ads/android (flutter#7980) [webview_flutter_android] Updates plugin to use `ProxyApis`s (flutter#7794) [interactive_media_ads] Adds support to define parameters that control the rendering of ads (flutter#8057) Roll Flutter from b3818f6b5979 to 8536b96ebb3e (22 revisions) (flutter#8124) ... # Conflicts: # packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style, or this PR is exempt from CHANGELOG changes.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.