From 6b861d9eb8efa77d649e5899decdf21cbdf1d2ed Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 29 Oct 2017 19:12:47 +0100 Subject: Jingle: create output stream on demand --- .../de/pixart/messenger/xmpp/jingle/JingleConnection.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java') diff --git a/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java b/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java index d8bb0c21d..54e9bd205 100644 --- a/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java @@ -5,6 +5,7 @@ import android.util.Log; import android.util.Pair; import java.io.FileNotFoundException; +import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.text.SimpleDateFormat; @@ -157,7 +158,14 @@ public class JingleConnection implements Transferable { return this.mFileInputStream; } - public OutputStream getFileOutputStream() { + public OutputStream getFileOutputStream() throws IOException { + if (this.file == null) { + Log.d(Config.LOGTAG, "file object was not assigned"); + return null; + } + this.file.getParentFile().mkdirs(); + this.file.createNewFile(); + this.mFileOutputStream = AbstractConnectionManager.createOutputStream(this.file, message.getEncryption() == Message.ENCRYPTION_AXOLOTL); return this.mFileOutputStream; } @@ -463,7 +471,6 @@ public class JingleConnection implements Transferable { this.file.setKeyAndIv(key); } } - this.mFileOutputStream = AbstractConnectionManager.createOutputStream(this.file, message.getEncryption() == Message.ENCRYPTION_AXOLOTL); this.file.setExpectedSize(size); message.resetFileParams(); Log.d(Config.LOGTAG, "receiving file: expecting size of " + this.file.getExpectedSize()); -- cgit v1.2.3