.class public final Lokhttp3/ResponseBody$BomAwareReader; .super Ljava/io/Reader; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lokhttp3/ResponseBody; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "BomAwareReader" .end annotation # instance fields .field public final charset:Ljava/nio/charset/Charset; .field public closed:Z .field public delegate:Ljava/io/Reader; .field public final source:Lokio/BufferedSource; # direct methods .method public constructor (Lokio/BufferedSource;Ljava/nio/charset/Charset;)V .locals 0 .line 250 invoke-direct {p0}, Ljava/io/Reader;->()V iput-object p1, p0, Lokhttp3/ResponseBody$BomAwareReader;->source:Lokio/BufferedSource; iput-object p2, p0, Lokhttp3/ResponseBody$BomAwareReader;->charset:Ljava/nio/charset/Charset; return-void .end method # virtual methods .method public close()V .locals 1 const/4 v0, 0x1 iput-boolean v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->closed:Z iget-object v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->delegate:Ljava/io/Reader; if-eqz v0, :cond_0 .line 269 invoke-virtual {v0}, Ljava/io/Reader;->close()V goto :goto_0 :cond_0 iget-object v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->source:Lokio/BufferedSource; .line 271 invoke-interface {v0}, Lokio/Source;->close()V :goto_0 return-void .end method .method public read([CII)I .locals 3 iget-boolean v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->closed:Z if-nez v0, :cond_1 iget-object v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->delegate:Ljava/io/Reader; if-nez v0, :cond_0 iget-object v0, p0, Lokhttp3/ResponseBody$BomAwareReader;->source:Lokio/BufferedSource; iget-object v1, p0, Lokhttp3/ResponseBody$BomAwareReader;->charset:Ljava/nio/charset/Charset; .line 260 invoke-static {v0, v1}, Lokhttp3/internal/Util;->bomAwareCharset(Lokio/BufferedSource;Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset; move-result-object v0 .line 261 new-instance v1, Ljava/io/InputStreamReader; iget-object v2, p0, Lokhttp3/ResponseBody$BomAwareReader;->source:Lokio/BufferedSource; invoke-interface {v2}, Lokio/BufferedSource;->inputStream()Ljava/io/InputStream; move-result-object v2 invoke-direct {v1, v2, v0}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V iput-object v1, p0, Lokhttp3/ResponseBody$BomAwareReader;->delegate:Ljava/io/Reader; move-object v0, v1 .line 263 :cond_0 invoke-virtual {v0, p1, p2, p3}, Ljava/io/Reader;->read([CII)I move-result p1 return p1 .line 256 :cond_1 new-instance p1, Ljava/io/IOException; const-string p2, "Stream closed" invoke-direct {p1, p2}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method