better handling of null streams
This commit is contained in:
		
							parent
							
								
									9c18d57e07
								
							
						
					
					
						commit
						f7c747ef4b
					
				| @ -41,12 +41,18 @@ public class 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.outputStream = new OutputStreamWriter(out); | ||||
| 	} | ||||
| 
 | ||||
| 	public OutputStream getOutputStream() { | ||||
| 	public OutputStream getOutputStream() throws IOException { | ||||
| 		if (this.plainOutputStream==null) { | ||||
| 			throw new IOException(); | ||||
| 		} | ||||
| 		return this.plainOutputStream; | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -28,24 +28,33 @@ public class XmlReader { | ||||
| 		this.wakeLock = wakeLock; | ||||
| 	} | ||||
| 	 | ||||
| 	public void setInputStream(InputStream inputStream) { | ||||
| 	public void setInputStream(InputStream inputStream) throws IOException { | ||||
| 		if (inputStream==null) { | ||||
| 			throw new IOException(); | ||||
| 		} | ||||
| 		this.is = inputStream; | ||||
| 		try { | ||||
| 			parser.setInput(new InputStreamReader(this.is)); | ||||
| 		} 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; | ||||
| 	} | ||||
| 
 | ||||
| 	public void reset() { | ||||
| 	public void reset() throws IOException { | ||||
| 		if (this.is==null) { | ||||
| 			throw new IOException(); | ||||
| 		} | ||||
| 		try { | ||||
| 			parser.setInput(new InputStreamReader(this.is)); | ||||
| 		} 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, | ||||
| 			NoSuchAlgorithmException { | ||||
| 		tagReader.readTag(); // read tag close | ||||
| 
 | ||||
| 		if (!tagWriter.isActive()) { | ||||
| 			throw new IOException(); | ||||
| 		} | ||||
| 		tagWriter.setOutputStream(new ZLibOutputStream(tagWriter | ||||
| 				.getOutputStream())); | ||||
| 		if (tagReader.getInputStream() == null) { | ||||
| 			throw new IOException(); | ||||
| 		} | ||||
| 		tagReader | ||||
| 				.setInputStream(new ZLibInputStream(tagReader.getInputStream())); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 iNPUTmice
						iNPUTmice