DrawableWrapperApi21.smali
.class Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;
.super Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;
# 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
invoke-direct {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;-><init>(Landroid/graphics/drawable/Drawable;)V
invoke-direct {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->findAndCacheIsProjectedDrawableMethod()V
return-void
.end method
.method constructor <init>(Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;Landroid/content/res/Resources;)V
.registers 3
invoke-direct {p0, p1, p2}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;-><init>(Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;Landroid/content/res/Resources;)V
invoke-direct {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->findAndCacheIsProjectedDrawableMethod()V
return-void
.end method
.method private findAndCacheIsProjectedDrawableMethod()V
.registers 4
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
if-nez v0, :cond_12
:try_start_4
const-class v0, Landroid/graphics/drawable/Drawable;
const-string/jumbo 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_12
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_12} :catch_13
:cond_12
:goto_12
return-void
:catch_13
move-exception v0
const-string/jumbo v1, "DrawableWrapperApi21"
const-string/jumbo 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_12
.end method
# virtual methods
.method public getDirtyBounds()Landroid/graphics/Rect;
.registers 2
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
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
return-void
.end method
.method protected isCompatTintEnabled()Z
.registers 4
const/4 v0, 0x0
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-ne v1, v2, :cond_1a
iget-object v1, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
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
: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
const/4 v1, 0x0
iget-object v0, p0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->mDrawable:Landroid/graphics/drawable/Drawable;
if-eqz v0, :cond_25
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->sIsProjectedDrawableMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_25
: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
:goto_1a
return v0
:catch_1b
move-exception v0
const-string/jumbo v2, "DrawableWrapperApi21"
const-string/jumbo 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_25
move v0, v1
goto :goto_1a
.end method
.method mutateConstantState()Landroid/support/v4/graphics/drawable/DrawableWrapperApi14$DrawableWrapperState;
.registers 4
.annotation build Landroid/support/annotation/NonNull;
.end annotation
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
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
return-void
.end method
.method public setHotspotBounds(IIII)V
.registers 6
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
return-void
.end method
.method public setState([I)Z
.registers 3
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setState([I)Z
move-result v0
if-eqz v0, :cond_b
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->invalidateSelf()V
const/4 v0, 0x1
:goto_a
return v0
:cond_b
const/4 v0, 0x0
goto :goto_a
.end method
.method public setTint(I)V
.registers 3
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTint(I)V
:goto_9
return-void
: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
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTintList(Landroid/content/res/ColorStateList;)V
:goto_9
return-void
: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
invoke-virtual {p0}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi21;->isCompatTintEnabled()Z
move-result v0
if-eqz v0, :cond_a
invoke-super {p0, p1}, Landroid/support/v4/graphics/drawable/DrawableWrapperApi19;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
:goto_9
return-void
: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