From 5a7d5aaf8e1988625ce38a376dece3014069c045 Mon Sep 17 00:00:00 2001
From: mueller-ma <mueller-ma@users.noreply.github.com>
Date: Sun, 30 Sep 2018 13:50:06 +0200
Subject: [PATCH] Make beautifyUrl() null safe (#1021)

Fixes https://console.firebase.google.com/project/openhab-mobile/crashlytics/app/android:org.openhab.habdroid/issues/5bab56f2f8b88c29635b445a

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
---
 .../habdroid/ui/OpenHABPreferencesActivity.java      |  4 ++--
 .../habdroid/ui/OpenHABPreferencesActivityTest.java  | 12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/OpenHABPreferencesActivity.java b/mobile/src/main/java/org/openhab/habdroid/ui/OpenHABPreferencesActivity.java
index 3ef3091e..fe8cb455 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/OpenHABPreferencesActivity.java
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/OpenHABPreferencesActivity.java
@@ -425,8 +425,8 @@ public class OpenHABPreferencesActivity extends AppCompatActivity {
             pref.setSummary(summary);
         }
 
-        private static String beautifyUrl(String url) {
-            return url.contains("myopenhab.org") ? "myopenHAB" : url;
+        public static @Nullable String beautifyUrl(@Nullable String url) {
+            return url != null && url.contains("myopenhab.org") ? "myopenHAB" : url;
         }
     }
 
diff --git a/mobile/src/test/java/org/openhab/habdroid/ui/OpenHABPreferencesActivityTest.java b/mobile/src/test/java/org/openhab/habdroid/ui/OpenHABPreferencesActivityTest.java
index ed02cd27..0f12e445 100644
--- a/mobile/src/test/java/org/openhab/habdroid/ui/OpenHABPreferencesActivityTest.java
+++ b/mobile/src/test/java/org/openhab/habdroid/ui/OpenHABPreferencesActivityTest.java
@@ -10,8 +10,10 @@ package org.openhab.habdroid.ui;
 
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.openhab.habdroid.ui.OpenHABPreferencesActivity.AbstractSettingsFragment.isWeakPassword;
+import static org.openhab.habdroid.ui.OpenHABPreferencesActivity.MainSettingsFragment.beautifyUrl;
 
 public class OpenHABPreferencesActivityTest {
     @Test
@@ -25,4 +27,14 @@ public class OpenHABPreferencesActivityTest {
         assertTrue(!isWeakPassword("Mb2.r5oHf-0t"));
         assertTrue(!isWeakPassword("abcdefg1+"));
     }
+
+    @Test
+    public void testBeautifyUrl() {
+        assertEquals("abc", beautifyUrl("abc"));
+        assertEquals("", beautifyUrl(""));
+        assertEquals("myopenHAB", beautifyUrl("myopenhab.org"));
+        assertEquals("myopenHAB", beautifyUrl("home.myopenhab.org"));
+        assertEquals("myopenhab.WRONG_TLD", beautifyUrl("myopenhab.WRONG_TLD"));
+        assertEquals(null, beautifyUrl(null));
+    }
 }
-- 
GitLab