diff --git a/src/main/java/org/kde/kdeconnect/Backends/LanBackend/LanLink.java b/src/main/java/org/kde/kdeconnect/Backends/LanBackend/LanLink.java index 9dd283d8..728048d5 100644 --- a/src/main/java/org/kde/kdeconnect/Backends/LanBackend/LanLink.java +++ b/src/main/java/org/kde/kdeconnect/Backends/LanBackend/LanLink.java @@ -22,7 +22,7 @@ public class LanLink extends BaseLink { public void disconnect() { if (session == null) return; - Log.i("LanLink", "Disconnect: "+session.getRemoteAddress().toString()); + //Log.i("LanLink", "Disconnect: "+session.getRemoteAddress().toString()); session.close(true); } @@ -150,7 +150,7 @@ public class LanLink extends BaseLink { if (thread == null) return false; } - np.encrypt(key); + np = np.encrypt(key); WriteFuture future = session.write(np.serialize()); if (!future.await().isWritten()) return false; diff --git a/src/main/java/org/kde/kdeconnect/Backends/LoopbackBackend/LoopbackLink.java b/src/main/java/org/kde/kdeconnect/Backends/LoopbackBackend/LoopbackLink.java index 96c056e9..234b090e 100644 --- a/src/main/java/org/kde/kdeconnect/Backends/LoopbackBackend/LoopbackLink.java +++ b/src/main/java/org/kde/kdeconnect/Backends/LoopbackBackend/LoopbackLink.java @@ -26,7 +26,7 @@ public class LoopbackLink extends BaseLink { @Override public boolean sendPackageEncrypted(NetworkPackage in, PublicKey key) { try { - in.encrypt(key); + in = in.encrypt(key); String s = in.serialize(); NetworkPackage out= NetworkPackage.unserialize(s); out.decrypt(privateKey); diff --git a/src/main/java/org/kde/kdeconnect/Device.java b/src/main/java/org/kde/kdeconnect/Device.java index 41c1b8ab..4ab9f5b4 100644 --- a/src/main/java/org/kde/kdeconnect/Device.java +++ b/src/main/java/org/kde/kdeconnect/Device.java @@ -469,6 +469,7 @@ public class Device implements BaseLink.PackageReceiver { public void run() { //Log.e("sendPackage", "Sending package..."); + //Log.e("sendPackage", np.serialize()); boolean useEncryption = (!np.getType().equals(NetworkPackage.PACKAGE_TYPE_PAIR) && isPaired()); diff --git a/src/main/java/org/kde/kdeconnect/NetworkPackage.java b/src/main/java/org/kde/kdeconnect/NetworkPackage.java index 1dc9f196..b337abf2 100644 --- a/src/main/java/org/kde/kdeconnect/NetworkPackage.java +++ b/src/main/java/org/kde/kdeconnect/NetworkPackage.java @@ -76,6 +76,9 @@ public class NetworkPackage { public double getDouble(String key) { return mBody.optDouble(key,Double.NaN); } public double getDouble(String key, double defaultValue) { return mBody.optDouble(key,defaultValue); } public void set(String key, double value) { try { mBody.put(key,value); } catch(Exception e) { } } + public JSONArray getJSONArray(String key) { return mBody.optJSONArray(key); } + public void set(String key, JSONArray value) { try { mBody.put(key,value); } catch(Exception e) { } } + public ArrayList getStringList(String key) { JSONArray jsonArray = mBody.optJSONArray(key); ArrayList list = new ArrayList(); @@ -105,7 +108,6 @@ public class NetworkPackage { } } - public boolean has(String key) { return mBody.has(key); } public boolean isEncrypted() { return mType.equals(PACKAGE_TYPE_ENCRYPTED); } @@ -163,7 +165,7 @@ public class NetworkPackage { return np; } - public void encrypt(PublicKey publicKey) throws Exception { + public NetworkPackage encrypt(PublicKey publicKey) throws Exception { String serialized = serialize(); @@ -185,17 +187,11 @@ public class NetworkPackage { chunks.put(Base64.encodeToString(encryptedChunk, Base64.NO_WRAP)); } - mId = System.currentTimeMillis(); - mType = NetworkPackage.PACKAGE_TYPE_ENCRYPTED; - mBody = new JSONObject(); - try { - mBody.put("data", chunks); - }catch(Exception e){ - e.printStackTrace(); - Log.e("NetworkPackage","Exception"); - } + //Log.i("NetworkPackage", "Encrypted " + chunks.length()+" chunks"); - Log.i("NetworkPackage", "Encrypted " + chunks.length()+" chunks"); + NetworkPackage encrypted = new NetworkPackage(NetworkPackage.PACKAGE_TYPE_ENCRYPTED); + encrypted.set("data", chunks); + return encrypted; }