From 6e3d3d457fde5a4afbea461807304a182bcb6850 Mon Sep 17 00:00:00 2001 From: Gabriel Calero Date: Wed, 4 Jul 2018 17:38:42 -0300 Subject: [PATCH] Clean web resources before closing web PiP --- .../hifiinterface/InterfaceActivity.java | 12 ++++++++++-- .../hifiinterface/fragment/WebViewFragment.java | 11 ++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java b/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java index d000c229ed..7acb78efbd 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java @@ -131,7 +131,10 @@ public class InterfaceActivity extends QtActivity implements WebViewFragment.OnW webSlidingDrawer = (SlidingDrawer) inflater.inflate(R.layout.web_drawer, mainLayout, false); QtLayout qtLayout = (QtLayout) mainLayout.getChildAt(0); QtLayout.LayoutParams layoutParams = new QtLayout.LayoutParams(webSlidingDrawer.getLayoutParams()); - + webSlidingDrawer.setOnDrawerCloseListener(() -> { + WebViewFragment webViewFragment = (WebViewFragment) getFragmentManager().findFragmentByTag("webViewFragment"); + webViewFragment.close(); + }); int widthPx = Math.max(size.x, size.y); int heightPx = Math.min(size.x, size.y); @@ -299,7 +302,12 @@ public class InterfaceActivity extends QtActivity implements WebViewFragment.OnW WebViewFragment webViewFragment = (WebViewFragment) getFragmentManager().findFragmentByTag("webViewFragment"); webViewFragment.loadUrl((String) args.get(WebViewActivity.WEB_VIEW_ACTIVITY_EXTRA_URL), true); webViewFragment.setToolbarVisible(true); - webViewFragment.setCloseAction(() -> { webSlidingDrawer.animateClose(); webSlidingDrawer.setVisibility(View.GONE);} ); + webViewFragment.setCloseAction(() -> { + if (webSlidingDrawer.isOpened()) { + webSlidingDrawer.animateClose(); + } + webSlidingDrawer.setVisibility(View.GONE); + }); } }); break; diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/WebViewFragment.java b/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/WebViewFragment.java index b30c2d887c..b3990a1a7f 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/WebViewFragment.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/WebViewFragment.java @@ -133,6 +133,13 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu return false; } + public void close() { + myWebView.loadUrl("about:blank"); + if (mCloseAction != null) { + mCloseAction.run(); + } + } + public enum SafenessLevel { NOT_ANALYZED_YET(""), NOT_SECURE(""), @@ -205,9 +212,7 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu expand(); }); mToolbar.findViewById(R.id.close).setOnClickListener(view -> { - if (mCloseAction != null) { - mCloseAction.run(); - } + close(); }); if (mUrl != null) { loadUrl(myWebView, mUrl);