From e658c8c20112de9322c464151a0b6f138850b39e Mon Sep 17 00:00:00 2001 From: Slayterik <59745613+Slayterik@users.noreply.github.com> Date: Fri, 20 Mar 2020 17:07:48 +0300 Subject: [PATCH] Android GH-470 InAppBrowser: java.lang.IllegalArgumentException (#616) Fix interacting with views when Activity destroyed Bug description https://stackoverflow.com/questions/22924825/view-not-attached-to-window-manager-crash Co-authored-by: Sarafanov Valeriy --- src/android/InAppBrowser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index 8414438..efec7ec 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -313,7 +313,7 @@ public class InAppBrowser extends CordovaPlugin { this.cordova.getActivity().runOnUiThread(new Runnable() { @Override public void run() { - if (dialog != null) { + if (dialog != null && !cordova.getActivity().isFinishing()) { dialog.show(); } } @@ -326,7 +326,7 @@ public class InAppBrowser extends CordovaPlugin { this.cordova.getActivity().runOnUiThread(new Runnable() { @Override public void run() { - if (dialog != null) { + if (dialog != null && !cordova.getActivity().isFinishing()) { dialog.hide(); } } @@ -537,7 +537,7 @@ public class InAppBrowser extends CordovaPlugin { childView.setWebViewClient(new WebViewClient() { // NB: wait for about:blank before dismissing public void onPageFinished(WebView view, String url) { - if (dialog != null) { + if (dialog != null && !cordova.getActivity().isFinishing()) { dialog.dismiss(); dialog = null; }