better handling of null streams
This commit is contained in:
parent
9c18d57e07
commit
f7c747ef4b
|
@ -41,12 +41,18 @@ public class TagWriter {
|
||||||
public TagWriter() {
|
public TagWriter() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOutputStream(OutputStream out) {
|
public void setOutputStream(OutputStream out) throws IOException {
|
||||||
|
if (out==null) {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
this.plainOutputStream = out;
|
this.plainOutputStream = out;
|
||||||
this.outputStream = new OutputStreamWriter(out);
|
this.outputStream = new OutputStreamWriter(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
public OutputStream getOutputStream() {
|
public OutputStream getOutputStream() throws IOException {
|
||||||
|
if (this.plainOutputStream==null) {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
return this.plainOutputStream;
|
return this.plainOutputStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,24 +28,33 @@ public class XmlReader {
|
||||||
this.wakeLock = wakeLock;
|
this.wakeLock = wakeLock;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setInputStream(InputStream inputStream) {
|
public void setInputStream(InputStream inputStream) throws IOException {
|
||||||
|
if (inputStream==null) {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
this.is = inputStream;
|
this.is = inputStream;
|
||||||
try {
|
try {
|
||||||
parser.setInput(new InputStreamReader(this.is));
|
parser.setInput(new InputStreamReader(this.is));
|
||||||
} catch (XmlPullParserException e) {
|
} catch (XmlPullParserException e) {
|
||||||
Log.d(LOGTAG,"error setting input stream");
|
throw new IOException("error resetting parser");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public InputStream getInputStream() {
|
public InputStream getInputStream() throws IOException {
|
||||||
|
if (this.is==null) {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
return is;
|
return is;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reset() {
|
public void reset() throws IOException {
|
||||||
|
if (this.is==null) {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
parser.setInput(new InputStreamReader(this.is));
|
parser.setInput(new InputStreamReader(this.is));
|
||||||
} catch (XmlPullParserException e) {
|
} catch (XmlPullParserException e) {
|
||||||
Log.d(LOGTAG,"error resetting input stream");
|
throw new IOException("error resetting parser");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -415,15 +415,8 @@ public class XmppConnection implements Runnable {
|
||||||
throws XmlPullParserException, IOException,
|
throws XmlPullParserException, IOException,
|
||||||
NoSuchAlgorithmException {
|
NoSuchAlgorithmException {
|
||||||
tagReader.readTag(); // read tag close
|
tagReader.readTag(); // read tag close
|
||||||
|
|
||||||
if (!tagWriter.isActive()) {
|
|
||||||
throw new IOException();
|
|
||||||
}
|
|
||||||
tagWriter.setOutputStream(new ZLibOutputStream(tagWriter
|
tagWriter.setOutputStream(new ZLibOutputStream(tagWriter
|
||||||
.getOutputStream()));
|
.getOutputStream()));
|
||||||
if (tagReader.getInputStream() == null) {
|
|
||||||
throw new IOException();
|
|
||||||
}
|
|
||||||
tagReader
|
tagReader
|
||||||
.setInputStream(new ZLibInputStream(tagReader.getInputStream()));
|
.setInputStream(new ZLibInputStream(tagReader.getInputStream()));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue