.class public Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry; .super Ljava/lang/Object; .source "TranscoderRegistry.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry; } .end annotation # instance fields .field private final transcoders:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry<", "**>;>;" } .end annotation .end field # direct methods .method public constructor ()V .registers 2 .line 12 invoke-direct {p0}, Ljava/lang/Object;->()V .line 13 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry;->transcoders:Ljava/util/List; return-void .end method # virtual methods .method public declared-synchronized get(Ljava/lang/Class;Ljava/lang/Class;)Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TZ;>;", "Ljava/lang/Class<", "TR;>;)", "Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder<", "TZ;TR;>;" } .end annotation monitor-enter p0 .line 48 :try_start_1 invoke-virtual {p2, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v0 if-eqz v0, :cond_d .line 49 invoke-static {}, Lcom/bumptech/glide/load/resource/transcode/UnitTranscoder;->get()Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder; move-result-object p1 :try_end_b .catchall {:try_start_1 .. :try_end_b} :catchall_4c monitor-exit p0 return-object p1 .line 51 :cond_d :try_start_d iget-object v0, p0, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry;->transcoders:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_13 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_29 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry; .line 52 invoke-virtual {v1, p1, p2}, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry;->handles(Ljava/lang/Class;Ljava/lang/Class;)Z move-result v2 if-eqz v2, :cond_13 .line 53 iget-object p1, v1, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry;->transcoder:Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder; :try_end_27 .catchall {:try_start_d .. :try_end_27} :catchall_4c monitor-exit p0 return-object p1 .line 57 :cond_29 :try_start_29 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "No transcoder registered to transcode from " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, " to " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 :catchall_4c move-exception p1 monitor-exit p0 :try_end_4e .catchall {:try_start_29 .. :try_end_4e} :catchall_4c throw p1 .end method .method public declared-synchronized getTranscodeClasses(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/List; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TZ;>;", "Ljava/lang/Class<", "TR;>;)", "Ljava/util/List<", "Ljava/lang/Class<", "TR;>;>;" } .end annotation monitor-enter p0 .line 64 :try_start_1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 66 invoke-virtual {p2, p1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v1 if-eqz v1, :cond_11 .line 67 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z :try_end_f .catchall {:try_start_1 .. :try_end_f} :catchall_2f .line 68 monitor-exit p0 return-object v0 .line 71 :cond_11 :try_start_11 iget-object v1, p0, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry;->transcoders:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v1 :cond_17 :goto_17 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2d invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry; .line 72 invoke-virtual {v2, p1, p2}, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry;->handles(Ljava/lang/Class;Ljava/lang/Class;)Z move-result v2 if-eqz v2, :cond_17 .line 73 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z :try_end_2c .catchall {:try_start_11 .. :try_end_2c} :catchall_2f goto :goto_17 .line 77 :cond_2d monitor-exit p0 return-object v0 :catchall_2f move-exception p1 :try_start_30 monitor-exit p0 :try_end_31 .catchall {:try_start_30 .. :try_end_31} :catchall_2f throw p1 .end method .method public declared-synchronized register(Ljava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder;)V .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TZ;>;", "Ljava/lang/Class<", "TR;>;", "Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder<", "TZ;TR;>;)V" } .end annotation monitor-enter p0 .line 28 :try_start_1 iget-object v0, p0, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry;->transcoders:Ljava/util/List; new-instance v1, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry; invoke-direct {v1, p1, p2, p3}, Lcom/bumptech/glide/load/resource/transcode/TranscoderRegistry$Entry;->(Ljava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder;)V invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z :try_end_b .catchall {:try_start_1 .. :try_end_b} :catchall_d .line 29 monitor-exit p0 return-void :catchall_d move-exception p1 :try_start_e monitor-exit p0 :try_end_f .catchall {:try_start_e .. :try_end_f} :catchall_d throw p1 .end method