remove unused code from DownloadableFile

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/DownloadableFile.java                | 163 
src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java |   5 
src/main/java/im/conversations/android/xmpp/model/disco/external/Services.java     |   2 
3 files changed, 83 insertions(+), 87 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/DownloadableFile.java 🔗

@@ -1,94 +1,87 @@
 package eu.siacs.conversations.entities;
 
 import android.util.Log;
-
-import java.io.File;
-
 import eu.siacs.conversations.Config;
 import eu.siacs.conversations.utils.MimeUtils;
+import java.io.File;
 
 public class DownloadableFile extends File {
 
-	private static final long serialVersionUID = 2247012619505115863L;
-
-	private long expectedSize = 0;
-	private byte[] sha1sum;
-	private byte[] aeskey;
-	private byte[] iv;
-
-	public DownloadableFile(final File parent, final String file) {
-		super(parent, file);
-	}
-
-	public DownloadableFile(String path) {
-		super(path);
-	}
-
-	public long getSize() {
-		return super.length();
-	}
-
-	public long getExpectedSize() {
-		return this.expectedSize;
-	}
-
-	public String getMimeType() {
-		String path = this.getAbsolutePath();
-		int start = path.lastIndexOf('.') + 1;
-		if (start < path.length()) {
-			String mime = MimeUtils.guessMimeTypeFromExtension(path.substring(start));
-			return mime == null ? "" : mime;
-		} else {
-			return "";
-		}
-	}
-
-	public void setExpectedSize(long size) {
-		this.expectedSize = size;
-	}
-
-	public byte[] getSha1Sum() {
-		return this.sha1sum;
-	}
-
-	public void setSha1Sum(byte[] sum) {
-		this.sha1sum = sum;
-	}
-
-	public void setKeyAndIv(byte[] keyIvCombo) {
-		// originally, we used a 16 byte IV, then found for aes-gcm a 12 byte IV is ideal
-		// this code supports reading either length, with sending 12 byte IV to be done in future
-		if (keyIvCombo.length == 48) {
-			this.aeskey = new byte[32];
-			this.iv = new byte[16];
-			System.arraycopy(keyIvCombo, 0, this.iv, 0, 16);
-			System.arraycopy(keyIvCombo, 16, this.aeskey, 0, 32);
-		} else if (keyIvCombo.length == 44) {
-			this.aeskey = new byte[32];
-			this.iv = new byte[12];
-			System.arraycopy(keyIvCombo, 0, this.iv, 0, 12);
-			System.arraycopy(keyIvCombo, 12, this.aeskey, 0, 32);
-		} else if (keyIvCombo.length >= 32) {
-			this.aeskey = new byte[32];
-			this.iv = new byte[]{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0xf };
-			System.arraycopy(keyIvCombo, 0, aeskey, 0, 32);
-		}
-		Log.d(Config.LOGTAG,"using "+this.iv.length+"-byte IV for file transmission");
-	}
-
-	public void setKey(byte[] key) {
-		this.aeskey = key;
-	}
-
-	public void setIv(byte[] iv) {
-		this.iv = iv;
-	}
-
-	public byte[] getKey() {
-		return this.aeskey;
-	}
-
-	public byte[] getIv() {
-		return this.iv;
-	}
+    private static final long serialVersionUID = 2247012619505115863L;
+
+    private long expectedSize = 0;
+    private byte[] aeskey;
+    private byte[] iv;
+
+    public DownloadableFile(final File parent, final String file) {
+        super(parent, file);
+    }
+
+    public DownloadableFile(String path) {
+        super(path);
+    }
+
+    public long getSize() {
+        return super.length();
+    }
+
+    public long getExpectedSize() {
+        return this.expectedSize;
+    }
+
+    public String getMimeType() {
+        String path = this.getAbsolutePath();
+        int start = path.lastIndexOf('.') + 1;
+        if (start < path.length()) {
+            String mime = MimeUtils.guessMimeTypeFromExtension(path.substring(start));
+            return mime == null ? "" : mime;
+        } else {
+            return "";
+        }
+    }
+
+    public void setExpectedSize(long size) {
+        this.expectedSize = size;
+    }
+
+    public void setKeyAndIv(byte[] keyIvCombo) {
+        // originally, we used a 16 byte IV, then found for aes-gcm a 12 byte IV is ideal
+        // this code supports reading either length, with sending 12 byte IV to be done in future
+        if (keyIvCombo.length == 48) {
+            this.aeskey = new byte[32];
+            this.iv = new byte[16];
+            System.arraycopy(keyIvCombo, 0, this.iv, 0, 16);
+            System.arraycopy(keyIvCombo, 16, this.aeskey, 0, 32);
+        } else if (keyIvCombo.length == 44) {
+            this.aeskey = new byte[32];
+            this.iv = new byte[12];
+            System.arraycopy(keyIvCombo, 0, this.iv, 0, 12);
+            System.arraycopy(keyIvCombo, 12, this.aeskey, 0, 32);
+        } else if (keyIvCombo.length >= 32) {
+            this.aeskey = new byte[32];
+            this.iv =
+                    new byte[] {
+                        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
+                        0x0c, 0x0d, 0x0e, 0xf
+                    };
+            System.arraycopy(keyIvCombo, 0, aeskey, 0, 32);
+        }
+        Log.d(Config.LOGTAG, "using " + this.iv.length + "-byte IV for file transmission");
+    }
+
+    public void setKey(byte[] key) {
+        this.aeskey = key;
+    }
+
+    public void setIv(byte[] iv) {
+        this.iv = iv;
+    }
+
+    public byte[] getKey() {
+        return this.aeskey;
+    }
+
+    public byte[] getIv() {
+        return this.iv;
+    }
 }

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleFileTransferConnection.java 🔗

@@ -355,6 +355,7 @@ public class JingleFileTransferConnection extends AbstractJingleConnection
             Log.d(
                     Config.LOGTAG,
                     "got file offer " + file + " jet=" + Objects.nonNull(keyTransportMessage));
+            // TODO store hashes if there are any
             setFileOffer(file);
             if (keyTransportMessage != null) {
                 this.transportSecurity =
@@ -548,10 +549,13 @@ public class JingleFileTransferConnection extends AbstractJingleConnection
 
     private void receiveSessionInfoChecksum(final FileTransferDescription.Checksum checksum) {
         Log.d(Config.LOGTAG, "received checksum " + checksum);
+        // TODO check that we are receiver
+        // TODO store hashes
     }
 
     private void receiveSessionInfoReceived(final FileTransferDescription.Received received) {
         Log.d(Config.LOGTAG, "peer confirmed received " + received);
+        // TODO check that we are sender
     }
 
     private synchronized void receiveSessionTerminate(final Iq jinglePacket, final Jingle jingle) {
@@ -902,6 +906,7 @@ public class JingleFileTransferConnection extends AbstractJingleConnection
             sendSessionInfoChecksum(hashes);
         } else {
             Log.d(Config.LOGTAG, "file transfer complete " + hashes);
+            // TODO compare with stored file hashes
             sendFileSessionInfoReceived();
             terminateTransport();
             messageReceivedSuccess();