TypefaceUtil.smali
.class public Lcom/rey/material/util/TypefaceUtil;
.super Ljava/lang/Object;
.source "TypefaceUtil.java"
# static fields
.field private static final PREFIX_ASSET:Ljava/lang/String; = "asset:"
.field private static final sCachedFonts:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroid/graphics/Typeface;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 13
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/rey/material/util/TypefaceUtil;->sCachedFonts:Ljava/util/HashMap;
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static load(Landroid/content/Context;Ljava/lang/String;I)Landroid/graphics/Typeface;
.registers 4
if-eqz p1, :cond_3b
const-string v0, "asset:"
.line 24
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_3b
.line 25
sget-object v0, Lcom/rey/material/util/TypefaceUtil;->sCachedFonts:Ljava/util/HashMap;
monitor-enter v0
.line 27
:try_start_d
sget-object p2, Lcom/rey/material/util/TypefaceUtil;->sCachedFonts:Ljava/util/HashMap;
invoke-virtual {p2, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_29
.line 28
invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object p0
const/4 p2, 0x6
invoke-virtual {p1, p2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p2
invoke-static {p0, p2}, Landroid/graphics/Typeface;->createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
move-result-object p0
.line 29
sget-object p2, Lcom/rey/material/util/TypefaceUtil;->sCachedFonts:Ljava/util/HashMap;
invoke-virtual {p2, p1, p0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_27
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_27} :catch_35
.catchall {:try_start_d .. :try_end_27} :catchall_33
.line 30
:try_start_27
monitor-exit v0
return-object p0
.line 36
:cond_29
sget-object p0, Lcom/rey/material/util/TypefaceUtil;->sCachedFonts:Ljava/util/HashMap;
invoke-virtual {p0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/graphics/Typeface;
monitor-exit v0
return-object p0
:catchall_33
move-exception p0
goto :goto_39
.line 33
:catch_35
sget-object p0, Landroid/graphics/Typeface;->DEFAULT:Landroid/graphics/Typeface;
monitor-exit v0
return-object p0
.line 37
:goto_39
monitor-exit v0
:try_end_3a
.catchall {:try_start_27 .. :try_end_3a} :catchall_33
throw p0
.line 39
:cond_3b
invoke-static {p1, p2}, Landroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface;
move-result-object p0
return-object p0
.end method