.class public Lcom/bumptech/glide/load/model/GlideUrl; .super Ljava/lang/Object; .source "GlideUrl.java" # interfaces .implements Lcom/bumptech/glide/load/Key; # static fields .field private static final ALLOWED_URI_CHARS:Ljava/lang/String; = "@#&=*+-_.,:!?()/~\'%;$" # instance fields .field private volatile cacheKeyBytes:[B .field private hashCode:I .field private final headers:Lcom/bumptech/glide/load/model/Headers; .field private safeStringUrl:Ljava/lang/String; .field private safeUrl:Ljava/net/URL; .field private final stringUrl:Ljava/lang/String; .field private final url:Ljava/net/URL; # direct methods .method public constructor (Ljava/lang/String;)V .registers 3 .line 46 sget-object v0, Lcom/bumptech/glide/load/model/Headers;->DEFAULT:Lcom/bumptech/glide/load/model/Headers; invoke-direct {p0, p1, v0}, Lcom/bumptech/glide/load/model/GlideUrl;->(Ljava/lang/String;Lcom/bumptech/glide/load/model/Headers;)V return-void .end method .method public constructor (Ljava/lang/String;Lcom/bumptech/glide/load/model/Headers;)V .registers 4 .line 55 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 56 iput-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->url:Ljava/net/URL; .line 57 invoke-static {p1}, Lcom/bumptech/glide/util/Preconditions;->checkNotEmpty(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 iput-object p1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->stringUrl:Ljava/lang/String; .line 58 invoke-static {p2}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/bumptech/glide/load/model/Headers; iput-object p1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; return-void .end method .method public constructor (Ljava/net/URL;)V .registers 3 .line 42 sget-object v0, Lcom/bumptech/glide/load/model/Headers;->DEFAULT:Lcom/bumptech/glide/load/model/Headers; invoke-direct {p0, p1, v0}, Lcom/bumptech/glide/load/model/GlideUrl;->(Ljava/net/URL;Lcom/bumptech/glide/load/model/Headers;)V return-void .end method .method public constructor (Ljava/net/URL;Lcom/bumptech/glide/load/model/Headers;)V .registers 3 .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V .line 50 invoke-static {p1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/net/URL; iput-object p1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->url:Ljava/net/URL; const/4 p1, 0x0 .line 51 iput-object p1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->stringUrl:Ljava/lang/String; .line 52 invoke-static {p2}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/bumptech/glide/load/model/Headers; iput-object p1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; return-void .end method .method private getCacheKeyBytes()[B .registers 3 .line 129 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->cacheKeyBytes:[B if-nez v0, :cond_10 .line 130 invoke-virtual {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKey()Ljava/lang/String; move-result-object v0 sget-object v1, Lcom/bumptech/glide/load/model/GlideUrl;->CHARSET:Ljava/nio/charset/Charset; invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object v0 iput-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->cacheKeyBytes:[B .line 132 :cond_10 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->cacheKeyBytes:[B return-object v0 .end method .method private getSafeStringUrl()Ljava/lang/String; .registers 3 .line 87 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeStringUrl:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_24 .line 88 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->stringUrl:Ljava/lang/String; .line 89 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_1c .line 90 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->url:Ljava/net/URL; invoke-static {v0}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/net/URL; invoke-virtual {v0}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v0 .line 92 :cond_1c const-string v1, "@#&=*+-_.,:!?()/~\'%;$" invoke-static {v0, v1}, Landroid/net/Uri;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeStringUrl:Ljava/lang/String; .line 94 :cond_24 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeStringUrl:Ljava/lang/String; return-object v0 .end method .method private getSafeUrl()Ljava/net/URL; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/net/MalformedURLException; } .end annotation .line 70 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeUrl:Ljava/net/URL; if-nez v0, :cond_f .line 71 new-instance v0, Ljava/net/URL; invoke-direct {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getSafeStringUrl()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/net/URL;->(Ljava/lang/String;)V iput-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeUrl:Ljava/net/URL; .line 73 :cond_f iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->safeUrl:Ljava/net/URL; return-object v0 .end method # virtual methods .method public equals(Ljava/lang/Object;)Z .registers 5 .line 137 instance-of v0, p1, Lcom/bumptech/glide/load/model/GlideUrl; const/4 v1, 0x0 if-eqz v0, :cond_20 .line 138 check-cast p1, Lcom/bumptech/glide/load/model/GlideUrl; .line 139 invoke-virtual {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKey()Ljava/lang/String; move-result-object v0 invoke-virtual {p1}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKey()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_20 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; iget-object p1, p1, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; .line 140 invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_20 const/4 v1, 0x1 :cond_20 return v1 .end method .method public getCacheKey()Ljava/lang/String; .registers 2 .line 115 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->stringUrl:Ljava/lang/String; if-eqz v0, :cond_5 goto :goto_11 :cond_5 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->url:Ljava/net/URL; invoke-static {v0}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/net/URL; invoke-virtual {v0}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v0 :goto_11 return-object v0 .end method .method public getHeaders()Ljava/util/Map; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .line 101 iget-object v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; invoke-interface {v0}, Lcom/bumptech/glide/load/model/Headers;->getHeaders()Ljava/util/Map; move-result-object v0 return-object v0 .end method .method public hashCode()I .registers 3 .line 147 iget v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->hashCode:I if-nez v0, :cond_19 .line 148 invoke-virtual {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKey()Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->hashCode()I move-result v0 iput v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->hashCode:I mul-int/lit8 v0, v0, 0x1f .line 149 iget-object v1, p0, Lcom/bumptech/glide/load/model/GlideUrl;->headers:Lcom/bumptech/glide/load/model/Headers; invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I move-result v1 add-int/2addr v0, v1 iput v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->hashCode:I .line 151 :cond_19 iget v0, p0, Lcom/bumptech/glide/load/model/GlideUrl;->hashCode:I return v0 .end method .method public toString()Ljava/lang/String; .registers 2 .line 120 invoke-virtual {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKey()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public toStringUrl()Ljava/lang/String; .registers 2 .line 83 invoke-direct {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getSafeStringUrl()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public toURL()Ljava/net/URL; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/net/MalformedURLException; } .end annotation .line 62 invoke-direct {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getSafeUrl()Ljava/net/URL; move-result-object v0 return-object v0 .end method .method public updateDiskCacheKey(Ljava/security/MessageDigest;)V .registers 3 .line 125 invoke-direct {p0}, Lcom/bumptech/glide/load/model/GlideUrl;->getCacheKeyBytes()[B move-result-object v0 invoke-virtual {p1, v0}, Ljava/security/MessageDigest;->update([B)V return-void .end method