.class final Lcom/google/common/io/Files$FileByteSource; .super Lcom/google/common/io/ByteSource; .source "Files.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/io/Files; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "FileByteSource" .end annotation # instance fields .field private final file:Ljava/io/File; # direct methods .method private constructor (Ljava/io/File;)V .locals 0 .line 2 invoke-direct {p0}, Lcom/google/common/io/ByteSource;->()V .line 3 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/io/File; iput-object p1, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; return-void .end method .method public synthetic constructor (Ljava/io/File;Lcom/google/common/io/Files$1;)V .locals 0 .line 1 invoke-direct {p0, p1}, Lcom/google/common/io/Files$FileByteSource;->(Ljava/io/File;)V return-void .end method # virtual methods .method public openStream()Ljava/io/FileInputStream; .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 2 new-instance v0, Ljava/io/FileInputStream; iget-object v1, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-direct {v0, v1}, Ljava/io/FileInputStream;->(Ljava/io/File;)V return-object v0 .end method .method public bridge synthetic openStream()Ljava/io/InputStream; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lcom/google/common/io/Files$FileByteSource;->openStream()Ljava/io/FileInputStream; move-result-object v0 return-object v0 .end method .method public read()[B .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-static {}, Lcom/google/common/io/Closer;->create()Lcom/google/common/io/Closer; move-result-object v0 .line 2 :try_start_0 invoke-virtual {p0}, Lcom/google/common/io/Files$FileByteSource;->openStream()Ljava/io/FileInputStream; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/common/io/Closer;->register(Ljava/io/Closeable;)Ljava/io/Closeable; move-result-object v1 check-cast v1, Ljava/io/FileInputStream; .line 3 invoke-virtual {v1}, Ljava/io/FileInputStream;->getChannel()Ljava/nio/channels/FileChannel; move-result-object v2 invoke-virtual {v2}, Ljava/nio/channels/FileChannel;->size()J move-result-wide v2 invoke-static {v1, v2, v3}, Lcom/google/common/io/ByteStreams;->toByteArray(Ljava/io/InputStream;J)[B move-result-object v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V return-object v1 :catchall_0 move-exception v1 .line 5 :try_start_1 invoke-virtual {v0, v1}, Lcom/google/common/io/Closer;->rethrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object v1 throw v1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception v1 .line 6 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V .line 7 throw v1 .end method .method public size()J .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->isFile()Z move-result v0 if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->length()J move-result-wide v0 return-wide v0 .line 3 :cond_0 new-instance v0, Ljava/io/FileNotFoundException; iget-object v1, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {v1}, Ljava/io/File;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;->(Ljava/lang/String;)V throw v0 .end method .method public sizeIfKnown()Lcom/google/common/base/Optional; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/base/Optional<", "Ljava/lang/Long;", ">;" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->isFile()Z move-result v0 if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->length()J move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 invoke-static {v0}, Lcom/google/common/base/Optional;->of(Ljava/lang/Object;)Lcom/google/common/base/Optional; move-result-object v0 return-object v0 .line 3 :cond_0 invoke-static {}, Lcom/google/common/base/Optional;->absent()Lcom/google/common/base/Optional; move-result-object v0 return-object v0 .end method .method public toString()Ljava/lang/String; .locals 4 .line 1 iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v1 add-int/lit8 v1, v1, 0x14 const-string v2, "Files.asByteSource(" const-string v3, ")" invoke-static {v1, v2, v0, v3}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 return-object v0 .end method