.class public Lcom/danikula/videocache/file/Md5FileNameGenerator; .super Ljava/lang/Object; .source "Md5FileNameGenerator.java" # interfaces .implements Lcom/danikula/videocache/file/FileNameGenerator; # static fields .field private static final MAX_EXTENSION_LENGTH:I = 0x4 # direct methods .method public constructor ()V .locals 0 .line 12 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private getExtension(Ljava/lang/String;)Ljava/lang/String; .locals 3 const/16 v0, 0x2e .line 24 invoke-virtual {p1, v0}, Ljava/lang/String;->lastIndexOf(I)I move-result v0 const/16 v1, 0x2f .line 25 invoke-virtual {p1, v1}, Ljava/lang/String;->lastIndexOf(I)I move-result v1 const/4 v2, -0x1 if-eq v0, v2, :cond_0 if-le v0, v1, :cond_0 add-int/lit8 v1, v0, 0x2 add-int/lit8 v1, v1, 0x4 .line 26 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v2 if-le v1, v2, :cond_0 add-int/lit8 v0, v0, 0x1 .line 27 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v1 invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_0 const-string p1, "" :goto_0 return-object p1 .end method # virtual methods .method public generate(Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 18 invoke-direct {p0, p1}, Lcom/danikula/videocache/file/Md5FileNameGenerator;->getExtension(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 19 invoke-static {p1}, Lcom/danikula/videocache/ProxyCacheUtils;->computeMD5(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 .line 20 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_0 goto :goto_0 :cond_0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "." invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v0}, 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 :goto_0 return-object p1 .end method