.class public Lcom/bumptech/glide/load/model/StreamEncoder; .super Ljava/lang/Object; .source "StreamEncoder.java" # interfaces .implements Lcom/bumptech/glide/load/Encoder; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Lcom/bumptech/glide/load/Encoder<", "Ljava/io/InputStream;", ">;" } .end annotation # static fields .field private static final TAG:Ljava/lang/String; = "StreamEncoder" # instance fields .field private final byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; # direct methods .method public constructor (Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V .registers 2 .line 22 invoke-direct {p0}, Ljava/lang/Object;->()V .line 23 iput-object p1, p0, Lcom/bumptech/glide/load/model/StreamEncoder;->byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; return-void .end method # virtual methods .method public encode(Ljava/io/InputStream;Ljava/io/File;Lcom/bumptech/glide/load/Options;)Z .registers 8 .line 28 const-string p3, "StreamEncoder" iget-object v0, p0, Lcom/bumptech/glide/load/model/StreamEncoder;->byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; const/high16 v1, 0x10000 const-class v2, [B invoke-interface {v0, v1, v2}, Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;->get(ILjava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, [B const/4 v1, 0x0 const/4 v2, 0x0 .line 32 :try_start_10 new-instance v3, Ljava/io/FileOutputStream; invoke-direct {v3, p2}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V :try_end_15 .catch Ljava/io/IOException; {:try_start_10 .. :try_end_15} :catch_35 .catchall {:try_start_10 .. :try_end_15} :catchall_33 .line 34 :goto_15 :try_start_15 invoke-virtual {p1, v0}, Ljava/io/InputStream;->read([B)I move-result p2 const/4 v2, -0x1 if-eq p2, v2, :cond_20 .line 35 invoke-virtual {v3, v0, v1, p2}, Ljava/io/OutputStream;->write([BII)V goto :goto_15 .line 37 :cond_20 invoke-virtual {v3}, Ljava/io/OutputStream;->close()V :try_end_23 .catch Ljava/io/IOException; {:try_start_15 .. :try_end_23} :catch_30 .catchall {:try_start_15 .. :try_end_23} :catchall_2d .line 46 :try_start_23 invoke-virtual {v3}, Ljava/io/OutputStream;->close()V :try_end_26 .catch Ljava/io/IOException; {:try_start_23 .. :try_end_26} :catch_26 .line 51 :catch_26 iget-object p1, p0, Lcom/bumptech/glide/load/model/StreamEncoder;->byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; invoke-interface {p1, v0}, Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;->put(Ljava/lang/Object;)V const/4 v1, 0x1 goto :goto_4c :catchall_2d move-exception p1 move-object v2, v3 goto :goto_4d :catch_30 move-exception p1 move-object v2, v3 goto :goto_36 :catchall_33 move-exception p1 goto :goto_4d :catch_35 move-exception p1 :goto_36 const/4 p2, 0x3 .line 40 :try_start_37 invoke-static {p3, p2}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result p2 if-eqz p2, :cond_42 .line 41 const-string p2, "Failed to encode data onto the OutputStream" invoke-static {p3, p2, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :try_end_42 .catchall {:try_start_37 .. :try_end_42} :catchall_33 :cond_42 if-eqz v2, :cond_47 .line 46 :try_start_44 invoke-virtual {v2}, Ljava/io/OutputStream;->close()V :try_end_47 .catch Ljava/io/IOException; {:try_start_44 .. :try_end_47} :catch_47 .line 51 :catch_47 :cond_47 iget-object p1, p0, Lcom/bumptech/glide/load/model/StreamEncoder;->byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; invoke-interface {p1, v0}, Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;->put(Ljava/lang/Object;)V :goto_4c return v1 :goto_4d if-eqz v2, :cond_52 .line 46 :try_start_4f invoke-virtual {v2}, Ljava/io/OutputStream;->close()V :try_end_52 .catch Ljava/io/IOException; {:try_start_4f .. :try_end_52} :catch_52 .line 51 :catch_52 :cond_52 iget-object p2, p0, Lcom/bumptech/glide/load/model/StreamEncoder;->byteArrayPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; invoke-interface {p2, v0}, Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;->put(Ljava/lang/Object;)V throw p1 .end method .method public bridge synthetic encode(Ljava/lang/Object;Ljava/io/File;Lcom/bumptech/glide/load/Options;)Z .registers 4 .line 18 check-cast p1, Ljava/io/InputStream; invoke-virtual {p0, p1, p2, p3}, Lcom/bumptech/glide/load/model/StreamEncoder;->encode(Ljava/io/InputStream;Ljava/io/File;Lcom/bumptech/glide/load/Options;)Z move-result p1 return p1 .end method