DrawableWrapperApi21.smali
.class Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;
.super Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;
.source "DrawableWrapperApi21.java"
# annotations
.annotation build Landroid/support/annotation/RequiresApi;
value = 0x15
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroid/support/v4/graphics/drawable/DrawableWrapperApi21$DrawableWrapperStateLollipop;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "DrawableWrapperApi21"
.field private static sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
# direct methods
.method constructor <init>(Landroid/graphics/drawable/Drawable;)V
.registers 2
.prologue
.line 46
invoke-direct {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;-><init>(Landroid/graphics/drawable/Drawable;)V
.line 47
invoke-direct {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->findAndCacheIsProjectedDrawableMethod()V
.line 48
return-void
.end method
.method constructor <init>(Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;Landroid/content/res/Resources;)V
.registers 3
.prologue
.line 51
invoke-direct {p0, p1, p2}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;-><init>(Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;Landroid/content/res/Resources;)V
.line 52
invoke-direct {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->findAndCacheIsProjectedDrawableMethod()V
.line 53
return-void
.end method
.method private findAndCacheIsProjectedDrawableMethod()V
.registers 4
.prologue
.line 160
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
if-nez v0, :cond_11
.line 162
:try_start_4
const-class v0, Landroid/graphics/drawable/Drawable;
const-string v1, "isProjected"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
:try_end_11
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_11} :catch_12
.line 167
:cond_11
:goto_11
return-void
.line 163
:catch_12
move-exception v0
.line 164
const-string v1, "DrawableWrapperApi21"
const-string v2, "Failed to retrieve Drawable#isProjected() method"
invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_11
.end method
# virtual methods
.method public getDirtyBounds()Landroid/graphics/Rect;
.registers 2
.prologue
.line 72
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getDirtyBounds()Landroid/graphics/Rect;
move-result-object v0
return-object v0
.end method
.method public getOutline(Landroid/graphics/Outline;)V
.registers 3
.prologue
.line 67
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->getOutline(Landroid/graphics/Outline;)V
.line 68
return-void
.end method
.method protected isCompatTintEnabled()Z
.registers 4
.prologue
const/4 v0, 0x0
.line 115
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-ne v1, v2, :cond_1a
.line 116
iget-object v1, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
.line 117
instance-of v2, v1, Landroid/graphics/drawable/GradientDrawable;
if-nez v2, :cond_19
instance-of v2, v1, Landroid/graphics/drawable/DrawableContainer;
if-nez v2, :cond_19
instance-of v2, v1, Landroid/graphics/drawable/InsetDrawable;
if-nez v2, :cond_19
instance-of v1, v1, Landroid/graphics/drawable/RippleDrawable;
if-eqz v1, :cond_1a
:cond_19
const/4 v0, 0x1
.line 122
:cond_1a
return v0
.end method
.method public isProjected()Z
.registers 5
.annotation build Landroid/support/annotation/RestrictTo;
value = {
.enum Landroid/support/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroid/support/annotation/RestrictTo$Scope;
}
.end annotation
.prologue
const/4 v1, 0x0
.line 130
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
if-eqz v0, :cond_23
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_23
.line 132
:try_start_9
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
iget-object v2, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Object;
invoke-virtual {v0, v2, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
:try_end_19
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_19} :catch_1b
move-result v0
.line 138
:goto_1a
return v0
.line 133
:catch_1b
move-exception v0
.line 134
const-string v2, "DrawableWrapperApi21"
const-string v3, "Error calling Drawable#isProjected() method"
invoke-static {v2, v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_23
move v0, v1
.line 138
goto :goto_1a
.end method
.method mutateConstantState()Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;
.registers 4
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.prologue
.line 144
new-instance v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21$DrawableWrapperStateLollipop;
iget-object v1, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mState:Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21$DrawableWrapperStateLollipop;-><init>(Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;Landroid/content/res/Resources;)V
return-object v0
.end method
.method public setHotspot(FF)V
.registers 4
.prologue
.line 57
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1, p2}, Landroid/graphics/drawable/Drawable;->setHotspot(FF)V
.line 58
return-void
.end method
.method public setHotspotBounds(IIII)V
.registers 6
.prologue
.line 62
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1, p2, p3, p4}, Landroid/graphics/drawable/Drawable;->setHotspotBounds(IIII)V
.line 63
return-void
.end method
.method public setState([I)Z
.registers 3
.prologue
.line 104
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setState([I)Z
move-result v0
if-eqz v0, :cond_b
.line 107
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->invalidateSelf()V
.line 108
const/4 v0, 0x1
.line 110
:goto_a
return v0
:cond_b
const/4 v0, 0x0
goto :goto_a
.end method
.method public setTint(I)V
.registers 3
.prologue
.line 86
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
.line 87
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTint(I)V
.line 91
:goto_9
return-void
.line 89
:cond_a
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
goto :goto_9
.end method
.method public setTintList(Landroid/content/res/ColorStateList;)V
.registers 3
.prologue
.line 77
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
.line 78
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTintList(Landroid/content/res/ColorStateList;)V
.line 82
:goto_9
return-void
.line 80
:cond_a
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setTintList(Landroid/content/res/ColorStateList;)V
goto :goto_9
.end method
.method public setTintMode(Landroid/graphics/PorterDuff$Mode;)V
.registers 3
.prologue
.line 95
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
.line 96
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
.line 100
:goto_9
return-void
.line 98
:cond_a
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
goto :goto_9
.end method