.class public Landroidx/webkit/internal/AssetHelper; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final DEFAULT_MIME_TYPE:Ljava/lang/String; = "text/plain" # instance fields .field private mContext:Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;)V .locals 0 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; return-void .end method .method public static getCanonicalDirPath(Ljava/io/File;)Ljava/lang/String; .locals 2 .param p0 # Ljava/io/File; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 171 invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String; move-result-object p0 const-string v0, "/" .line 172 invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 :cond_0 return-object p0 .end method .method public static getCanonicalFileIfChild(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; .locals 2 .param p0 # Ljava/io/File; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 152 invoke-static {p0}, Landroidx/webkit/internal/AssetHelper;->getCanonicalDirPath(Ljava/io/File;)Ljava/lang/String; move-result-object v0 .line 153 new-instance v1, Ljava/io/File; invoke-direct {v1, p0, p1}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V invoke-virtual {v1}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String; move-result-object p0 .line 154 invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result p1 if-eqz p1, :cond_0 .line 155 new-instance p1, Ljava/io/File; invoke-direct {p1, p0}, Ljava/io/File;->(Ljava/lang/String;)V return-object p1 :cond_0 const/4 p0, 0x0 return-object p0 .end method .method public static getDataDir(Landroid/content/Context;)Ljava/io/File; .locals 0 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .line 186 invoke-static {p0}, Landroidx/webkit/internal/ApiHelperForN;->getDataDir(Landroid/content/Context;)Ljava/io/File; move-result-object p0 return-object p0 .end method .method private getFieldId(Ljava/lang/String;Ljava/lang/String;)I .locals 2 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; .line 68 invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v0 iget-object v1, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; .line 69 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 invoke-virtual {v1, p2, p1, v0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I move-result p1 return p1 .end method .method private getValueType(I)I .locals 3 .line 74 new-instance v0, Landroid/util/TypedValue; invoke-direct {v0}, Landroid/util/TypedValue;->()V iget-object v1, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; .line 75 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 const/4 v2, 0x1 invoke-virtual {v1, p1, v0, v2}, Landroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V iget p1, v0, Landroid/util/TypedValue;->type:I return p1 .end method .method public static guessMimeType(Ljava/lang/String;)Ljava/lang/String; .locals 0 .param p0 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .line 202 invoke-static {p0}, Landroidx/webkit/internal/MimeUtil;->getMimeFromFileName(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 if-nez p0, :cond_0 const-string p0, "text/plain" :cond_0 return-object p0 .end method .method private static handleSvgzStream(Ljava/lang/String;Ljava/io/InputStream;)Ljava/io/InputStream; .locals 1 .param p0 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Ljava/io/InputStream; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string v0, ".svgz" .line 56 invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result p0 if-eqz p0, :cond_0 new-instance p0, Ljava/util/zip/GZIPInputStream; invoke-direct {p0, p1}, Ljava/util/zip/GZIPInputStream;->(Ljava/io/InputStream;)V move-object p1, p0 :cond_0 return-object p1 .end method .method public static openFile(Ljava/io/File;)Ljava/io/InputStream; .locals 1 .param p0 # Ljava/io/File; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/FileNotFoundException;, Ljava/io/IOException; } .end annotation .line 134 new-instance v0, Ljava/io/FileInputStream; invoke-direct {v0, p0}, Ljava/io/FileInputStream;->(Ljava/io/File;)V .line 135 invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String; move-result-object p0 invoke-static {p0, v0}, Landroidx/webkit/internal/AssetHelper;->handleSvgzStream(Ljava/lang/String;Ljava/io/InputStream;)Ljava/io/InputStream; move-result-object p0 return-object p0 .end method .method private static removeLeadingSlash(Ljava/lang/String;)Ljava/lang/String; .locals 3 .param p0 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .line 61 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 const/4 v1, 0x1 if-le v0, v1, :cond_0 const/4 v0, 0x0 invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v2, 0x2f if-ne v0, v2, :cond_0 .line 62 invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p0 :cond_0 return-object p0 .end method # virtual methods .method public openAsset(Ljava/lang/String;)Ljava/io/InputStream; .locals 2 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 120 invoke-static {p1}, Landroidx/webkit/internal/AssetHelper;->removeLeadingSlash(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 iget-object v0, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; .line 121 invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager; move-result-object v0 const/4 v1, 0x2 .line 122 invoke-virtual {v0, p1, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;I)Ljava/io/InputStream; move-result-object v0 invoke-static {p1, v0}, Landroidx/webkit/internal/AssetHelper;->handleSvgzStream(Ljava/lang/String;Ljava/io/InputStream;)Ljava/io/InputStream; move-result-object p1 return-object p1 .end method .method public openResource(Ljava/lang/String;)Ljava/io/InputStream; .locals 5 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Landroid/content/res/Resources$NotFoundException;, Ljava/io/IOException; } .end annotation .line 88 invoke-static {p1}, Landroidx/webkit/internal/AssetHelper;->removeLeadingSlash(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const-string v0, "/" const/4 v1, -0x1 .line 90 invoke-virtual {p1, v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String; move-result-object v0 .line 91 array-length v2, v0 const/4 v3, 0x2 if-ne v2, v3, :cond_2 const/4 v2, 0x0 .line 94 aget-object v3, v0, v2 const/4 v4, 0x1 .line 95 aget-object v0, v0, v4 const/16 v4, 0x2e .line 98 invoke-virtual {v0, v4}, Ljava/lang/String;->lastIndexOf(I)I move-result v4 if-eq v4, v1, :cond_0 .line 100 invoke-virtual {v0, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v0 .line 102 :cond_0 invoke-direct {p0, v3, v0}, Landroidx/webkit/internal/AssetHelper;->getFieldId(Ljava/lang/String;Ljava/lang/String;)I move-result v0 .line 103 invoke-direct {p0, v0}, Landroidx/webkit/internal/AssetHelper;->getValueType(I)I move-result v1 const/4 v2, 0x3 if-ne v1, v2, :cond_1 iget-object v1, p0, Landroidx/webkit/internal/AssetHelper;->mContext:Landroid/content/Context; .line 109 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 invoke-virtual {v1, v0}, Landroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream; move-result-object v0 invoke-static {p1, v0}, Landroidx/webkit/internal/AssetHelper;->handleSvgzStream(Ljava/lang/String;Ljava/io/InputStream;)Ljava/io/InputStream; move-result-object p1 return-object p1 .line 105 :cond_1 new-instance v0, Ljava/io/IOException; .line 107 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v1}, [Ljava/lang/Object; move-result-object p1 const-string v1, "Expected %s resource to be of TYPE_STRING but was %d" .line 106 invoke-static {v1, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 .line 92 :cond_2 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Incorrect resource path: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method