.class public Lcom/bumptech/glide/load/engine/LoadPath; .super Ljava/lang/Object; .source "LoadPath.java" # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;" } .end annotation # instance fields .field private final dataClass:Ljava/lang/Class; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Class<", "TData;>;" } .end annotation .end field .field private final decodePaths:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "+", "Lcom/bumptech/glide/load/engine/DecodePath<", "TData;TResourceType;TTranscode;>;>;" } .end annotation .end field .field private final failureMessage:Ljava/lang/String; .field private final listPool:Landroidx/core/util/Pools$Pool; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/core/util/Pools$Pool<", "Ljava/util/List<", "Ljava/lang/Throwable;", ">;>;" } .end annotation .end field # direct methods .method public constructor (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/List;Landroidx/core/util/Pools$Pool;)V .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TData;>;", "Ljava/lang/Class<", "TResourceType;>;", "Ljava/lang/Class<", "TTranscode;>;", "Ljava/util/List<", "Lcom/bumptech/glide/load/engine/DecodePath<", "TData;TResourceType;TTranscode;>;>;", "Landroidx/core/util/Pools$Pool<", "Ljava/util/List<", "Ljava/lang/Throwable;", ">;>;)V" } .end annotation .line 31 invoke-direct {p0}, Ljava/lang/Object;->()V .line 32 iput-object p1, p0, Lcom/bumptech/glide/load/engine/LoadPath;->dataClass:Ljava/lang/Class; .line 33 iput-object p5, p0, Lcom/bumptech/glide/load/engine/LoadPath;->listPool:Landroidx/core/util/Pools$Pool; .line 34 invoke-static {p4}, Lcom/bumptech/glide/util/Preconditions;->checkNotEmpty(Ljava/util/Collection;)Ljava/util/Collection; move-result-object p4 check-cast p4, Ljava/util/List; iput-object p4, p0, Lcom/bumptech/glide/load/engine/LoadPath;->decodePaths:Ljava/util/List; .line 35 new-instance p4, Ljava/lang/StringBuilder; const-string p5, "Failed LoadPath{" invoke-direct {p4, p5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object p1 invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string p4, "->" invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 .line 36 invoke-virtual {p2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, "}" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 iput-object p1, p0, Lcom/bumptech/glide/load/engine/LoadPath;->failureMessage:Ljava/lang/String; return-void .end method .method private loadWithExceptionList(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;Ljava/util/List;)Lcom/bumptech/glide/load/engine/Resource; .registers 19 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/data/DataRewinder<", "TData;>;", "Lcom/bumptech/glide/load/Options;", "II", "Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback<", "TResourceType;>;", "Ljava/util/List<", "Ljava/lang/Throwable;", ">;)", "Lcom/bumptech/glide/load/engine/Resource<", "TTranscode;>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Lcom/bumptech/glide/load/engine/GlideException; } .end annotation move-object v1, p0 move-object/from16 v2, p6 .line 55 iget-object v0, v1, Lcom/bumptech/glide/load/engine/LoadPath;->decodePaths:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v3 const/4 v0, 0x0 const/4 v4, 0x0 move v5, v4 move-object v4, v0 :goto_d if-ge v5, v3, :cond_30 .line 56 iget-object v0, v1, Lcom/bumptech/glide/load/engine/LoadPath;->decodePaths:Ljava/util/List; invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 move-object v6, v0 check-cast v6, Lcom/bumptech/glide/load/engine/DecodePath; move-object v7, p1 move v8, p3 move/from16 v9, p4 move-object v10, p2 move-object/from16 v11, p5 .line 58 :try_start_1f invoke-virtual/range {v6 .. v11}, Lcom/bumptech/glide/load/engine/DecodePath;->decode(Lcom/bumptech/glide/load/data/DataRewinder;IILcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; move-result-object v0 :try_end_23 .catch Lcom/bumptech/glide/load/engine/GlideException; {:try_start_1f .. :try_end_23} :catch_25 move-object v4, v0 goto :goto_2a :catch_25 move-exception v0 move-object v6, v0 .line 60 invoke-interface {v2, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z :goto_2a if-eqz v4, :cond_2d goto :goto_30 :cond_2d add-int/lit8 v5, v5, 0x1 goto :goto_d :cond_30 :goto_30 if-eqz v4, :cond_33 return-object v4 .line 68 :cond_33 new-instance v0, Lcom/bumptech/glide/load/engine/GlideException; iget-object v3, v1, Lcom/bumptech/glide/load/engine/LoadPath;->failureMessage:Ljava/lang/String; new-instance v4, Ljava/util/ArrayList; invoke-direct {v4, v2}, Ljava/util/ArrayList;->(Ljava/util/Collection;)V invoke-direct {v0, v3, v4}, Lcom/bumptech/glide/load/engine/GlideException;->(Ljava/lang/String;Ljava/util/List;)V throw v0 .end method # virtual methods .method public getDataClass()Ljava/lang/Class; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/lang/Class<", "TData;>;" } .end annotation .line 75 iget-object v0, p0, Lcom/bumptech/glide/load/engine/LoadPath;->dataClass:Ljava/lang/Class; return-object v0 .end method .method public load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource; .registers 14 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/data/DataRewinder<", "TData;>;", "Lcom/bumptech/glide/load/Options;", "II", "Lcom/bumptech/glide/load/engine/DecodePath$DecodeCallback<", "TResourceType;>;)", "Lcom/bumptech/glide/load/engine/Resource<", "TTranscode;>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Lcom/bumptech/glide/load/engine/GlideException; } .end annotation .line 41 iget-object v0, p0, Lcom/bumptech/glide/load/engine/LoadPath;->listPool:Landroidx/core/util/Pools$Pool; invoke-interface {v0}, Landroidx/core/util/Pools$Pool;->acquire()Ljava/lang/Object; move-result-object v0 invoke-static {v0}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/List; move-object v1, p0 move-object v2, p1 move-object v3, p2 move v4, p3 move v5, p4 move-object v6, p5 move-object v7, v0 .line 43 :try_start_13 invoke-direct/range {v1 .. v7}, Lcom/bumptech/glide/load/engine/LoadPath;->loadWithExceptionList(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;Ljava/util/List;)Lcom/bumptech/glide/load/engine/Resource; move-result-object p1 :try_end_17 .catchall {:try_start_13 .. :try_end_17} :catchall_1d .line 45 iget-object p2, p0, Lcom/bumptech/glide/load/engine/LoadPath;->listPool:Landroidx/core/util/Pools$Pool; invoke-interface {p2, v0}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z return-object p1 :catchall_1d move-exception p1 iget-object p2, p0, Lcom/bumptech/glide/load/engine/LoadPath;->listPool:Landroidx/core/util/Pools$Pool; invoke-interface {p2, v0}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z throw p1 .end method .method public toString()Ljava/lang/String; .registers 3 .line 80 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "LoadPath{decodePaths=" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lcom/bumptech/glide/load/engine/LoadPath;->decodePaths:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->toArray()[Ljava/lang/Object; move-result-object v1 invoke-static {v1}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const/16 v1, 0x7d invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method