.class public Lcom/google/android/material/resources/TextAppearance; .super Ljava/lang/Object; .source "TextAppearance.java" # static fields .field private static final TAG:Ljava/lang/String; = "TextAppearance" .field private static final TYPEFACE_MONOSPACE:I = 0x3 .field private static final TYPEFACE_SANS:I = 0x1 .field private static final TYPEFACE_SERIF:I = 0x2 # instance fields .field private font:Landroid/graphics/Typeface; .field public final fontFamily:Ljava/lang/String; .field private final fontFamilyResourceId:I .field private fontResolved:Z .field public final shadowColor:Landroid/content/res/ColorStateList; .field public final shadowDx:F .field public final shadowDy:F .field public final shadowRadius:F .field public final textAllCaps:Z .field public final textColor:Landroid/content/res/ColorStateList; .field public final textColorHint:Landroid/content/res/ColorStateList; .field public final textColorLink:Landroid/content/res/ColorStateList; .field public final textSize:F .field public final textStyle:I .field public final typeface:I # direct methods .method public constructor (Landroid/content/Context;I)V .registers 7 .line 73 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 69 iput-boolean v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z .line 74 sget-object v1, Lcom/google/android/material/R$styleable;->TextAppearance:[I invoke-virtual {p1, p2, v1}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; move-result-object p2 .line 76 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_textSize:I const/4 v2, 0x0 invoke-virtual {p2, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v1 iput v1, p0, Lcom/google/android/material/resources/TextAppearance;->textSize:F .line 77 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_textColor:I .line 78 invoke-static {p1, p2, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v1 iput-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->textColor:Landroid/content/res/ColorStateList; .line 80 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_textColorHint:I .line 81 invoke-static {p1, p2, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v1 iput-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->textColorHint:Landroid/content/res/ColorStateList; .line 83 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_textColorLink:I .line 84 invoke-static {p1, p2, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v1 iput-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->textColorLink:Landroid/content/res/ColorStateList; .line 86 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_textStyle:I invoke-virtual {p2, v1, v0}, Landroid/content/res/TypedArray;->getInt(II)I move-result v1 iput v1, p0, Lcom/google/android/material/resources/TextAppearance;->textStyle:I .line 87 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_android_typeface:I const/4 v3, 0x1 invoke-virtual {p2, v1, v3}, Landroid/content/res/TypedArray;->getInt(II)I move-result v1 iput v1, p0, Lcom/google/android/material/resources/TextAppearance;->typeface:I .line 88 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_fontFamily:I sget v3, Lcom/google/android/material/R$styleable;->TextAppearance_android_fontFamily:I .line 89 invoke-static {p2, v1, v3}, Lcom/google/android/material/resources/MaterialResources;->getIndexWithValue(Landroid/content/res/TypedArray;II)I move-result v1 .line 93 invoke-virtual {p2, v1, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result v3 iput v3, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamilyResourceId:I .line 94 invoke-virtual {p2, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamily:Ljava/lang/String; .line 95 sget v1, Lcom/google/android/material/R$styleable;->TextAppearance_textAllCaps:I invoke-virtual {p2, v1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, p0, Lcom/google/android/material/resources/TextAppearance;->textAllCaps:Z .line 96 sget v0, Lcom/google/android/material/R$styleable;->TextAppearance_android_shadowColor:I .line 97 invoke-static {p1, p2, v0}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowColor:Landroid/content/res/ColorStateList; .line 99 sget p1, Lcom/google/android/material/R$styleable;->TextAppearance_android_shadowDx:I invoke-virtual {p2, p1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p1 iput p1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowDx:F .line 100 sget p1, Lcom/google/android/material/R$styleable;->TextAppearance_android_shadowDy:I invoke-virtual {p2, p1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p1 iput p1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowDy:F .line 101 sget p1, Lcom/google/android/material/R$styleable;->TextAppearance_android_shadowRadius:I invoke-virtual {p2, p1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p1 iput p1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowRadius:F .line 103 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method static synthetic access$002(Lcom/google/android/material/resources/TextAppearance;Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .registers 2 .line 45 iput-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; return-object p1 .end method .method static synthetic access$102(Lcom/google/android/material/resources/TextAppearance;Z)Z .registers 2 .line 45 iput-boolean p1, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z return p1 .end method .method static synthetic access$200(Lcom/google/android/material/resources/TextAppearance;)V .registers 1 .line 45 invoke-direct {p0}, Lcom/google/android/material/resources/TextAppearance;->createFallbackTypeface()V return-void .end method .method private createFallbackTypeface()V .registers 3 .line 193 iget-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; if-nez v0, :cond_e .line 194 iget-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamily:Ljava/lang/String; iget v1, p0, Lcom/google/android/material/resources/TextAppearance;->textStyle:I invoke-static {v0, v1}, Landroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; .line 198 :cond_e iget-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; if-nez v0, :cond_3c .line 199 iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->typeface:I const/4 v1, 0x1 if-eq v0, v1, :cond_2c const/4 v1, 0x2 if-eq v0, v1, :cond_27 const/4 v1, 0x3 if-eq v0, v1, :cond_22 .line 210 sget-object v0, Landroid/graphics/Typeface;->DEFAULT:Landroid/graphics/Typeface; iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; goto :goto_30 .line 207 :cond_22 sget-object v0, Landroid/graphics/Typeface;->MONOSPACE:Landroid/graphics/Typeface; iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; goto :goto_30 .line 204 :cond_27 sget-object v0, Landroid/graphics/Typeface;->SERIF:Landroid/graphics/Typeface; iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; goto :goto_30 .line 201 :cond_2c sget-object v0, Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface; iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; .line 213 :goto_30 iget-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; if-eqz v0, :cond_3c .line 214 iget v1, p0, Lcom/google/android/material/resources/TextAppearance;->textStyle:I invoke-static {v0, v1}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; :cond_3c return-void .end method # virtual methods .method public getFont(Landroid/content/Context;)Landroid/graphics/Typeface; .registers 4 .line 114 iget-boolean v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z if-eqz v0, :cond_7 .line 115 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; return-object p1 .line 119 :cond_7 invoke-virtual {p1}, Landroid/content/Context;->isRestricted()Z move-result v0 if-nez v0, :cond_37 .line 121 :try_start_d iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamilyResourceId:I invoke-static {p1, v0}, Landroidx/core/content/res/ResourcesCompat;->getFont(Landroid/content/Context;I)Landroid/graphics/Typeface; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; if-eqz p1, :cond_37 .line 123 iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->textStyle:I invoke-static {p1, v0}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; :try_end_1f .catch Ljava/lang/UnsupportedOperationException; {:try_start_d .. :try_end_1f} :catch_37 .catch Landroid/content/res/Resources$NotFoundException; {:try_start_d .. :try_end_1f} :catch_37 .catch Ljava/lang/Exception; {:try_start_d .. :try_end_1f} :catch_20 goto :goto_37 :catch_20 move-exception p1 .line 128 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Error loading font " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamily:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "TextAppearance" invoke-static {v1, v0, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 132 :catch_37 :cond_37 :goto_37 invoke-direct {p0}, Lcom/google/android/material/resources/TextAppearance;->createFallbackTypeface()V const/4 p1, 0x1 .line 133 iput-boolean p1, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z .line 134 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; return-object p1 .end method .method public getFontAsync(Landroid/content/Context;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V .registers 6 .line 147 iget-boolean v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z if-eqz v0, :cond_a .line 148 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; invoke-virtual {p0, p2, p1}, Lcom/google/android/material/resources/TextAppearance;->updateTextPaintMeasureState(Landroid/text/TextPaint;Landroid/graphics/Typeface;)V return-void .line 154 :cond_a invoke-direct {p0}, Lcom/google/android/material/resources/TextAppearance;->createFallbackTypeface()V .line 156 invoke-virtual {p1}, Landroid/content/Context;->isRestricted()Z move-result v0 if-eqz v0, :cond_1c const/4 p1, 0x1 .line 157 iput-boolean p1, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z .line 158 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; invoke-virtual {p0, p2, p1}, Lcom/google/android/material/resources/TextAppearance;->updateTextPaintMeasureState(Landroid/text/TextPaint;Landroid/graphics/Typeface;)V return-void .line 164 :cond_1c :try_start_1c iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamilyResourceId:I new-instance v1, Lcom/google/android/material/resources/TextAppearance$1; invoke-direct {v1, p0, p2, p3}, Lcom/google/android/material/resources/TextAppearance$1;->(Lcom/google/android/material/resources/TextAppearance;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V const/4 p2, 0x0 invoke-static {p1, v0, v1, p2}, Landroidx/core/content/res/ResourcesCompat;->getFont(Landroid/content/Context;ILandroidx/core/content/res/ResourcesCompat$FontCallback;Landroid/os/Handler;)V :try_end_27 .catch Ljava/lang/UnsupportedOperationException; {:try_start_1c .. :try_end_27} :catch_3f .catch Landroid/content/res/Resources$NotFoundException; {:try_start_1c .. :try_end_27} :catch_3f .catch Ljava/lang/Exception; {:try_start_1c .. :try_end_27} :catch_28 goto :goto_3f :catch_28 move-exception p1 .line 187 new-instance p2, Ljava/lang/StringBuilder; const-string p3, "Error loading font " invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object p3, p0, Lcom/google/android/material/resources/TextAppearance;->fontFamily:Ljava/lang/String; invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 const-string p3, "TextAppearance" invoke-static {p3, p2, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :catch_3f :goto_3f return-void .end method .method public updateDrawState(Landroid/content/Context;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V .registers 8 .line 226 invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/material/resources/TextAppearance;->updateMeasureState(Landroid/content/Context;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V .line 228 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->textColor:Landroid/content/res/ColorStateList; if-eqz p1, :cond_14 iget-object p3, p2, Landroid/text/TextPaint;->drawableState:[I iget-object v0, p0, Lcom/google/android/material/resources/TextAppearance;->textColor:Landroid/content/res/ColorStateList; .line 230 invoke-virtual {v0}, Landroid/content/res/ColorStateList;->getDefaultColor()I move-result v0 invoke-virtual {p1, p3, v0}, Landroid/content/res/ColorStateList;->getColorForState([II)I move-result p1 goto :goto_16 :cond_14 const/high16 p1, -0x1000000 .line 228 :goto_16 invoke-virtual {p2, p1}, Landroid/text/TextPaint;->setColor(I)V .line 232 iget p1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowRadius:F iget p3, p0, Lcom/google/android/material/resources/TextAppearance;->shadowDx:F iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->shadowDy:F iget-object v1, p0, Lcom/google/android/material/resources/TextAppearance;->shadowColor:Landroid/content/res/ColorStateList; if-eqz v1, :cond_30 iget-object v2, p2, Landroid/text/TextPaint;->drawableState:[I iget-object v3, p0, Lcom/google/android/material/resources/TextAppearance;->shadowColor:Landroid/content/res/ColorStateList; .line 237 invoke-virtual {v3}, Landroid/content/res/ColorStateList;->getDefaultColor()I move-result v3 invoke-virtual {v1, v2, v3}, Landroid/content/res/ColorStateList;->getColorForState([II)I move-result v1 goto :goto_31 :cond_30 const/4 v1, 0x0 .line 232 :goto_31 invoke-virtual {p2, p1, p3, v0, v1}, Landroid/text/TextPaint;->setShadowLayer(FFFI)V return-void .end method .method public updateMeasureState(Landroid/content/Context;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V .registers 5 .line 249 invoke-static {}, Lcom/google/android/material/resources/TextAppearanceConfig;->shouldLoadFontSynchronously()Z move-result v0 if-eqz v0, :cond_e .line 250 invoke-virtual {p0, p1}, Lcom/google/android/material/resources/TextAppearance;->getFont(Landroid/content/Context;)Landroid/graphics/Typeface; move-result-object p1 invoke-virtual {p0, p2, p1}, Lcom/google/android/material/resources/TextAppearance;->updateTextPaintMeasureState(Landroid/text/TextPaint;Landroid/graphics/Typeface;)V goto :goto_1a .line 252 :cond_e invoke-virtual {p0, p1, p2, p3}, Lcom/google/android/material/resources/TextAppearance;->getFontAsync(Landroid/content/Context;Landroid/text/TextPaint;Landroidx/core/content/res/ResourcesCompat$FontCallback;)V .line 253 iget-boolean p1, p0, Lcom/google/android/material/resources/TextAppearance;->fontResolved:Z if-nez p1, :cond_1a .line 255 iget-object p1, p0, Lcom/google/android/material/resources/TextAppearance;->font:Landroid/graphics/Typeface; invoke-virtual {p0, p2, p1}, Lcom/google/android/material/resources/TextAppearance;->updateTextPaintMeasureState(Landroid/text/TextPaint;Landroid/graphics/Typeface;)V :cond_1a :goto_1a return-void .end method .method public updateTextPaintMeasureState(Landroid/text/TextPaint;Landroid/graphics/Typeface;)V .registers 4 .line 267 invoke-virtual {p1, p2}, Landroid/text/TextPaint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .line 269 iget v0, p0, Lcom/google/android/material/resources/TextAppearance;->textStyle:I invoke-virtual {p2}, Landroid/graphics/Typeface;->getStyle()I move-result p2 not-int p2, p2 and-int/2addr p2, v0 and-int/lit8 v0, p2, 0x1 if-eqz v0, :cond_11 const/4 v0, 0x1 goto :goto_12 :cond_11 const/4 v0, 0x0 .line 270 :goto_12 invoke-virtual {p1, v0}, Landroid/text/TextPaint;->setFakeBoldText(Z)V and-int/lit8 p2, p2, 0x2 if-eqz p2, :cond_1c const/high16 p2, -0x41800000 # -0.25f goto :goto_1d :cond_1c const/4 p2, 0x0 .line 271 :goto_1d invoke-virtual {p1, p2}, Landroid/text/TextPaint;->setTextSkewX(F)V .line 273 iget p2, p0, Lcom/google/android/material/resources/TextAppearance;->textSize:F invoke-virtual {p1, p2}, Landroid/text/TextPaint;->setTextSize(F)V return-void .end method