From ef0ce38bd8466f73b4dffa9b81c0eb71fb261850 Mon Sep 17 00:00:00 2001
From: mueller-ma <mueller-ma@users.noreply.github.com>
Date: Thu, 21 Feb 2019 19:24:43 +0100
Subject: [PATCH] Fix selection of HABPanel panel (#1214)

and one NPE.

Fixes #1207

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
---
 .../openhab/habdroid/ui/activity/ContentController.java   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/activity/ContentController.java b/mobile/src/main/java/org/openhab/habdroid/ui/activity/ContentController.java
index ea995ee2..d07a83c9 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/activity/ContentController.java
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/activity/ContentController.java
@@ -26,6 +26,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewStub;
+import android.webkit.WebChromeClient;
 import android.webkit.WebResourceError;
 import android.webkit.WebResourceRequest;
 import android.webkit.WebView;
@@ -720,7 +721,7 @@ public abstract class ContentController implements PageConnectionHolderFragment.
             TextView error = view.findViewById(R.id.empty_message);
             error.setText(getString(mErrorMessage));
             if (savedInstanceState != null) {
-                loadWebsite(savedInstanceState.getString(KEY_CURRENT_URL, ""));
+                loadWebsite(savedInstanceState.getString(KEY_CURRENT_URL, mUrltoLoad));
             } else {
                 loadWebsite();
             }
@@ -728,7 +729,9 @@ public abstract class ContentController implements PageConnectionHolderFragment.
 
         @Override
         public void onSaveInstanceState(@NonNull Bundle outState) {
-            outState.putString(KEY_CURRENT_URL, mWebview.getUrl());
+            if (mWebview != null) {
+                outState.putString(KEY_CURRENT_URL, mWebview.getUrl());
+            }
         }
 
         private void loadWebsite() {
@@ -782,6 +785,7 @@ public abstract class ContentController implements PageConnectionHolderFragment.
                     updateViewVisibility(true, false);
                 }
             });
+            mWebview.setWebChromeClient(new WebChromeClient());
             mWebview.getSettings().setDomStorageEnabled(true);
             mWebview.getSettings().setJavaScriptEnabled(true);
             mWebview.loadUrl(url);
-- 
GitLab