Skip to content

Commit

Permalink
InAppWebViewManager: fix nullptr in InAppWebViewManager.dispose
Browse files Browse the repository at this point in the history
  • Loading branch information
Zhao Wen committed Feb 20, 2024
1 parent 4c58653 commit 1d4b8f3
Showing 1 changed file with 17 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -178,22 +178,24 @@ public Map<String, Object> convertWebViewPackageToMap(@NonNull PackageInfo webVi
}

public void disposeKeepAlive(@NonNull String keepAliveId) {
FlutterWebView flutterWebView = keepAliveWebViews.get(keepAliveId);
if (flutterWebView != null) {
flutterWebView.keepAliveId = null;
// be sure to remove the view from the previous parent.
View view = flutterWebView.getView();
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
}
flutterWebView.dispose();
FlutterWebView flutterWebView = keepAliveWebViews.remove(keepAliveId);
disposeKeepAlive(flutterWebView);
}

public void disposeKeepAlive(@Nullable FlutterWebView flutterWebView) {
if (flutterWebView == null || flutterWebView.keepAliveId == null) {
return;
}
if (keepAliveWebViews.containsKey(keepAliveId)) {
keepAliveWebViews.put(keepAliveId, null);
flutterWebView.keepAliveId = null;
// be sure to remove the view from the previous parent.
View view = flutterWebView.getView();
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null) {
parent.removeView(view);
}
}
flutterWebView.dispose();
}

public void clearAllCache(@NonNull Context context, boolean includeDiskFiles) {
Expand All @@ -207,10 +209,7 @@ public void dispose() {
super.dispose();
Collection<FlutterWebView> flutterWebViews = keepAliveWebViews.values();
for (FlutterWebView flutterWebView : flutterWebViews) {
String keepAliveId = flutterWebView.keepAliveId;
if (keepAliveId != null) {
disposeKeepAlive(flutterWebView.keepAliveId);
}
disposeKeepAlive(flutterWebView);
}
keepAliveWebViews.clear();
windowWebViewMessages.clear();
Expand Down

0 comments on commit 1d4b8f3

Please sign in to comment.