.class public Lorg/apache/http/conn/EofSensorInputStream; .super Ljava/io/InputStream; .source "EofSensorInputStream.java" # interfaces .implements Lorg/apache/http/conn/ConnectionReleaseTrigger; # instance fields .field private final eofWatcher:Lorg/apache/http/conn/EofSensorWatcher; .field private selfClosed:Z .field protected wrappedStream:Ljava/io/InputStream; # direct methods .method public constructor (Ljava/io/InputStream;Lorg/apache/http/conn/EofSensorWatcher;)V .registers 4 .line 81 invoke-direct {p0}, Ljava/io/InputStream;->()V .line 82 const-string v0, "Wrapped stream" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 83 iput-object p1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; const/4 p1, 0x0 .line 84 iput-boolean p1, p0, Lorg/apache/http/conn/EofSensorInputStream;->selfClosed:Z .line 85 iput-object p2, p0, Lorg/apache/http/conn/EofSensorInputStream;->eofWatcher:Lorg/apache/http/conn/EofSensorWatcher; return-void .end method # virtual methods .method public abortConnection()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x1 .line 288 iput-boolean v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->selfClosed:Z .line 289 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->checkAbort()V return-void .end method .method public available()I .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 155 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->isReadAllowed()Z move-result v0 if-eqz v0, :cond_12 .line 157 :try_start_6 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; invoke-virtual {v0}, Ljava/io/InputStream;->available()I move-result v0 :try_end_c .catch Ljava/io/IOException; {:try_start_6 .. :try_end_c} :catch_d goto :goto_13 :catch_d move-exception v0 .line 160 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->checkAbort()V .line 161 throw v0 :cond_12 const/4 v0, 0x0 :goto_13 return v0 .end method .method protected checkAbort()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 254 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; if-eqz v0, :cond_1b const/4 v1, 0x0 .line 258 :try_start_5 iget-object v2, p0, Lorg/apache/http/conn/EofSensorInputStream;->eofWatcher:Lorg/apache/http/conn/EofSensorWatcher; if-eqz v2, :cond_e .line 259 invoke-interface {v2, v0}, Lorg/apache/http/conn/EofSensorWatcher;->streamAbort(Ljava/io/InputStream;)Z move-result v2 goto :goto_f :cond_e const/4 v2, 0x1 :goto_f if-eqz v2, :cond_14 .line 262 invoke-virtual {v0}, Ljava/io/InputStream;->close()V :try_end_14 .catchall {:try_start_5 .. :try_end_14} :catchall_17 .line 265 :cond_14 iput-object v1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; goto :goto_1b :catchall_17 move-exception v0 iput-object v1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; throw v0 :cond_1b :goto_1b return-void .end method .method protected checkClose()V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 223 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; if-eqz v0, :cond_1b const/4 v1, 0x0 .line 227 :try_start_5 iget-object v2, p0, Lorg/apache/http/conn/EofSensorInputStream;->eofWatcher:Lorg/apache/http/conn/EofSensorWatcher; if-eqz v2, :cond_e .line 228 invoke-interface {v2, v0}, Lorg/apache/http/conn/EofSensorWatcher;->streamClosed(Ljava/io/InputStream;)Z move-result v2 goto :goto_f :cond_e const/4 v2, 0x1 :goto_f if-eqz v2, :cond_14 .line 231 invoke-virtual {v0}, Ljava/io/InputStream;->close()V :try_end_14 .catchall {:try_start_5 .. :try_end_14} :catchall_17 .line 234 :cond_14 iput-object v1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; goto :goto_1b :catchall_17 move-exception v0 iput-object v1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; throw v0 :cond_1b :goto_1b return-void .end method .method protected checkEOF(I)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 194 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; if-eqz v0, :cond_1d if-gez p1, :cond_1d const/4 p1, 0x0 .line 198 :try_start_7 iget-object v1, p0, Lorg/apache/http/conn/EofSensorInputStream;->eofWatcher:Lorg/apache/http/conn/EofSensorWatcher; if-eqz v1, :cond_10 .line 199 invoke-interface {v1, v0}, Lorg/apache/http/conn/EofSensorWatcher;->eofDetected(Ljava/io/InputStream;)Z move-result v1 goto :goto_11 :cond_10 const/4 v1, 0x1 :goto_11 if-eqz v1, :cond_16 .line 202 invoke-virtual {v0}, Ljava/io/InputStream;->close()V :try_end_16 .catchall {:try_start_7 .. :try_end_16} :catchall_19 .line 205 :cond_16 iput-object p1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; goto :goto_1d :catchall_19 move-exception v0 iput-object p1, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; throw v0 :cond_1d :goto_1d return-void .end method .method public close()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x1 .line 171 iput-boolean v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->selfClosed:Z .line 172 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->checkClose()V return-void .end method .method getWrappedStream()Ljava/io/InputStream; .registers 2 .line 93 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; return-object v0 .end method .method protected isReadAllowed()Z .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 106 iget-boolean v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->selfClosed:Z if-nez v0, :cond_c .line 109 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; if-eqz v0, :cond_a const/4 v0, 0x1 goto :goto_b :cond_a const/4 v0, 0x0 :goto_b return v0 .line 107 :cond_c new-instance v0, Ljava/io/IOException; const-string v1, "Attempted read on closed stream." invoke-direct {v0, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 .end method .method isSelfClosed()Z .registers 2 .line 89 iget-boolean v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->selfClosed:Z return v0 .end method .method public read()I .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 116 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->isReadAllowed()Z move-result v0 if-eqz v0, :cond_15 .line 118 :try_start_6 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; invoke-virtual {v0}, Ljava/io/InputStream;->read()I move-result v0 .line 119 invoke-virtual {p0, v0}, Lorg/apache/http/conn/EofSensorInputStream;->checkEOF(I)V :try_end_f .catch Ljava/io/IOException; {:try_start_6 .. :try_end_f} :catch_10 goto :goto_16 :catch_10 move-exception v0 .line 121 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->checkAbort()V .line 122 throw v0 :cond_15 const/4 v0, -0x1 :goto_16 return v0 .end method .method public read([B)I .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 .line 148 array-length v1, p1 invoke-virtual {p0, p1, v0, v1}, Lorg/apache/http/conn/EofSensorInputStream;->read([BII)I move-result p1 return p1 .end method .method public read([BII)I .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 133 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->isReadAllowed()Z move-result v0 if-eqz v0, :cond_15 .line 135 :try_start_6 iget-object v0, p0, Lorg/apache/http/conn/EofSensorInputStream;->wrappedStream:Ljava/io/InputStream; invoke-virtual {v0, p1, p2, p3}, Ljava/io/InputStream;->read([BII)I move-result p1 .line 136 invoke-virtual {p0, p1}, Lorg/apache/http/conn/EofSensorInputStream;->checkEOF(I)V :try_end_f .catch Ljava/io/IOException; {:try_start_6 .. :try_end_f} :catch_10 goto :goto_16 :catch_10 move-exception p1 .line 138 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->checkAbort()V .line 139 throw p1 :cond_15 const/4 p1, -0x1 :goto_16 return p1 .end method .method public releaseConnection()V .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 275 invoke-virtual {p0}, Lorg/apache/http/conn/EofSensorInputStream;->close()V return-void .end method