unit test and fix for mode switch

Change-Id: I6585adb2857a0ed16ceae605a7f763318c946136
diff --git a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationAdapter.java b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationAdapter.java
index fbd77aa..5085ae8 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationAdapter.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SubscriberAndDeviceInformationAdapter.java
@@ -92,7 +92,7 @@
         long cacheEntryTtl = cfg.getCacheTtl().getSeconds();
 
         // Rebuild cache if needed
-        if ((url != null && url != this.url) || maximumCacheSeize != this.maxiumCacheSize ||
+        if (isurlChanged(url) || maximumCacheSeize != this.maxiumCacheSize ||
                 cacheEntryTtl != this.cacheEntryTtl) {
             this.maxiumCacheSize = maximumCacheSeize;
             this.cacheEntryTtl = cacheEntryTtl;
@@ -111,6 +111,13 @@
         }
     }
 
+    private boolean isurlChanged(String url) {
+        if (url == null && this.url == null) {
+         return false;
+        }
+        return !((url == this.url) || (url != null && url.equals(this.url)));
+    }
+
     /*
      * (non-Javadoc)
      *