-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[webview_flutter_android] Fixes crash when the Java InstanceManager
was used after plugin was removed from engine
#6943
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!). 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. |
InstanceManager
was used after plugin was removed from engine.
InstanceManager
was used after plugin was removed from engine.InstanceManager
was used after plugin was removed from engine
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
…ceManager` was used after plugin was removed from engine (flutter/plugins#6943)
…ceManager` was used after plugin was removed from engine (flutter/plugins#6943)
…ceManager` was used after plugin was removed from engine (flutter/plugins#6943)
* d607cd910 Roll Flutter from 0d91c03 to 2201698 (28 revisions) (flutter/plugins#6953) * e2d174ca1 [tool] Check for search paths in Swift plugins (flutter/plugins#6954) * f80aabf03 [shared_preferences] Revert recent iOS example changes (flutter/plugins#6955) * f36fa6407 [android_webview_controller] Fixes bug where an `AndroidController` couldn't be reused (flutter/plugins#6910) * b751ff166 [webview_flutter_android] Fixes crash when the Java `InstanceManager` was used after plugin was removed from engine (flutter/plugins#6943) * 1efd51837 Roll Flutter from 2201698 to 68dd63d (9 revisions) (flutter/plugins#6956) * eda98cddb Roll Flutter from 68dd63d to 1220245 (4 revisions) (flutter/plugins#6957) * 4e5cf2d2d Roll Flutter from 1220245 to 8c2fdb8 (2 revisions) (flutter/plugins#6979)
…#118624) * d607cd910 Roll Flutter from 0d91c03 to 2201698 (28 revisions) (flutter/plugins#6953) * e2d174ca1 [tool] Check for search paths in Swift plugins (flutter/plugins#6954) * f80aabf03 [shared_preferences] Revert recent iOS example changes (flutter/plugins#6955) * f36fa6407 [android_webview_controller] Fixes bug where an `AndroidController` couldn't be reused (flutter/plugins#6910) * b751ff166 [webview_flutter_android] Fixes crash when the Java `InstanceManager` was used after plugin was removed from engine (flutter/plugins#6943) * 1efd51837 Roll Flutter from 2201698 to 68dd63d (9 revisions) (flutter/plugins#6956) * eda98cddb Roll Flutter from 68dd63d to 1220245 (4 revisions) (flutter/plugins#6957) * 4e5cf2d2d Roll Flutter from 1220245 to 8c2fdb8 (2 revisions) (flutter/plugins#6979)
… was used after plugin was removed from engine (flutter#6943) * dont throw errors on all instance manager methods * tests * version bump * change to logging a warning and ignore calls in other methods * the * documentation
This makes it so that the methods no longer throw and crash the app if the manager is closed. They now just ignore the call and log a warning. Similar to how
WebView.destroy
handles usage after it is called.An alternative solution was to have
if(instanceManager.isClosed()) return;
added to every Flutter API method, but this seemed to easy to forget to add to new additions.Fixes flutter/flutter#118199
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.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.