From 73ad5bd6b3bc5564cd09657401b68f08e7cb4d47 Mon Sep 17 00:00:00 2001
From: Hans-Christoph Steiner <hans@eds.org>
Date: Wed, 11 Apr 2018 14:04:11 +0200
Subject: [PATCH] update to latest jmDNS for more reliable detection

closes #612
---
 app/build.gradle                              |  5 +++--
 app/proguard-rules.pro                        |  1 +
 .../javax/jmdns/impl/FDroidServiceInfo.java   | 22 +++++++++----------
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 714fc10e5..c6699eda9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -40,7 +40,7 @@ dependencies {
     compile "info.guardianproject.panic:panic:0.5"
     compile 'commons-io:commons-io:2.5'
     compile 'commons-net:commons-net:3.5'
-    compile 'org.openhab.jmdns:jmdns:3.4.2'
+    compile 'org.jmdns:jmdns:3.5.3'
     compile 'ch.acra:acra:4.9.1'
     compile 'io.reactivex:rxjava:1.1.0'
     compile 'io.reactivex:rxandroid:0.23.0'
@@ -137,7 +137,8 @@ if (!hasProperty('sourceDeps')) {
                 'info.guardianproject.panic:panic:a7ed9439826db2e9901649892cf9afbe76f00991b768d8f4c26332d7c9406cb2',
                 'io.reactivex:rxandroid:35c1a90f8c1f499db3c1f3d608e1f191ac8afddb10c02dd91ef04c03a0a4bcda',
                 'io.reactivex:rxjava:2c162afd78eba217cdfee78b60e85d3bfb667db61e12bc95e3cf2ddc5beeadf6',
-                'org.openhab.jmdns:jmdns:7a4b34b5606bbd2aff7fdfe629edcb0416fccd367fb59a099f210b9aba4f0bce',
+                'org.jmdns:jmdns:24e7e3a50a579136400e8c9b0750399eb3c7558918bdf52c0ffa5e0fa5aad503',
+                'org.slf4j:slf4j-api:e56288031f5e60652c06e7bb6e9fa410a61231ab54890f7b708fc6adc4107c5b',
         ]
     }
 
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 159f2ab7d..06752191a 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -7,6 +7,7 @@
 -dontwarn com.android.support.test.**
 
 -dontwarn javax.naming.**
+-dontwarn org.slf4j.**
 -dontnote org.apache.http.**
 -dontnote android.net.http.**
 -dontnote android.support.**
diff --git a/app/src/main/java/javax/jmdns/impl/FDroidServiceInfo.java b/app/src/main/java/javax/jmdns/impl/FDroidServiceInfo.java
index 2851cb2d1..2fed8a798 100644
--- a/app/src/main/java/javax/jmdns/impl/FDroidServiceInfo.java
+++ b/app/src/main/java/javax/jmdns/impl/FDroidServiceInfo.java
@@ -4,12 +4,12 @@ import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
 
+import javax.jmdns.ServiceInfo;
+import javax.jmdns.impl.util.ByteWrangler;
 import java.net.Inet4Address;
 import java.net.Inet6Address;
 import java.net.UnknownHostException;
 
-import javax.jmdns.ServiceInfo;
-
 /**
  * The ServiceInfo class needs to be serialized in order to be sent as an Android broadcast.
  * In order to make it Parcelable (or Serializable for that matter), there are some package-scope
@@ -32,7 +32,7 @@ public class FDroidServiceInfo extends ServiceInfoImpl implements Parcelable {
         if (data == null || data.length == 0) {
             return null;
         }
-        String fingerprint = this.readUTF(data, 0, data.length);
+        String fingerprint = ByteWrangler.readUTF(data, 0, data.length);
         if (TextUtils.isEmpty(fingerprint)) {
             return null;
         }
@@ -51,14 +51,14 @@ public class FDroidServiceInfo extends ServiceInfoImpl implements Parcelable {
 
     public FDroidServiceInfo(Parcel in) {
         super(
-            in.readString(),
-            in.readString(),
-            in.readString(),
-            in.readInt(),
-            in.readInt(),
-            in.readInt(),
-            in.readByte() != 0,
-            readBytes(in)
+                in.readString(),
+                in.readString(),
+                in.readString(),
+                in.readInt(),
+                in.readInt(),
+                in.readInt(),
+                in.readByte() != 0,
+                readBytes(in)
         );
 
         int addressCount = in.readInt();