ArgbEvaluator.smali
.class public Landroid/support/graphics/drawable/ArgbEvaluator;
.super Ljava/lang/Object;
# interfaces
.implements Landroid/animation/TypeEvaluator;
# annotations
.annotation build Landroid/support/annotation/RestrictTo;
value = {
.enum Landroid/support/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroid/support/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static final sInstance:Landroid/support/graphics/drawable/ArgbEvaluator;
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Landroid/support/graphics/drawable/ArgbEvaluator;
invoke-direct {v0}, Landroid/support/graphics/drawable/ArgbEvaluator;-><init>()V
sput-object v0, Landroid/support/graphics/drawable/ArgbEvaluator;->sInstance:Landroid/support/graphics/drawable/ArgbEvaluator;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getInstance()Landroid/support/graphics/drawable/ArgbEvaluator;
.registers 1
sget-object v0, Landroid/support/graphics/drawable/ArgbEvaluator;->sInstance:Landroid/support/graphics/drawable/ArgbEvaluator;
return-object v0
.end method
# virtual methods
.method public evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 16
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result v0
shr-int/lit8 v1, v0, 0x18
and-int/lit16 v1, v1, 0xff
int-to-float v1, v1
const/high16 v2, 0x437f0000 # 255.0f
div-float/2addr v1, v2
shr-int/lit8 v2, v0, 0x10
and-int/lit16 v2, v2, 0xff
int-to-float v2, v2
const/high16 v3, 0x437f0000 # 255.0f
div-float/2addr v2, v3
shr-int/lit8 v3, v0, 0x8
and-int/lit16 v3, v3, 0xff
int-to-float v3, v3
const/high16 v4, 0x437f0000 # 255.0f
div-float/2addr v3, v4
and-int/lit16 v0, v0, 0xff
int-to-float v0, v0
const/high16 v4, 0x437f0000 # 255.0f
div-float/2addr v0, v4
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result v4
shr-int/lit8 v5, v4, 0x18
and-int/lit16 v5, v5, 0xff
int-to-float v5, v5
const/high16 v6, 0x437f0000 # 255.0f
div-float/2addr v5, v6
shr-int/lit8 v6, v4, 0x10
and-int/lit16 v6, v6, 0xff
int-to-float v6, v6
const/high16 v7, 0x437f0000 # 255.0f
div-float/2addr v6, v7
shr-int/lit8 v7, v4, 0x8
and-int/lit16 v7, v7, 0xff
int-to-float v7, v7
const/high16 v8, 0x437f0000 # 255.0f
div-float/2addr v7, v8
and-int/lit16 v4, v4, 0xff
int-to-float v4, v4
const/high16 v8, 0x437f0000 # 255.0f
div-float/2addr v4, v8
float-to-double v8, v2
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v2, v8
float-to-double v8, v3
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v3, v8
float-to-double v8, v0
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v0, v8
float-to-double v8, v6
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v6, v8
float-to-double v8, v7
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v7, v8
float-to-double v8, v4
const-wide v10, 0x400199999999999aL # 2.2
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->pow(DD)D
move-result-wide v8
double-to-float v4, v8
sub-float/2addr v5, v1
mul-float/2addr v5, p1
add-float/2addr v1, v5
sub-float v5, v6, v2
mul-float/2addr v5, p1
add-float/2addr v2, v5
sub-float v5, v7, v3
mul-float/2addr v5, p1
add-float/2addr v3, v5
sub-float/2addr v4, v0
mul-float/2addr v4, p1
add-float/2addr v0, v4
const/high16 v4, 0x437f0000 # 255.0f
mul-float/2addr v1, v4
float-to-double v4, v2
const-wide v6, 0x3fdd1745d1745d17L # 0.45454545454545453
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->pow(DD)D
move-result-wide v4
double-to-float v2, v4
const/high16 v4, 0x437f0000 # 255.0f
mul-float/2addr v2, v4
float-to-double v4, v3
const-wide v6, 0x3fdd1745d1745d17L # 0.45454545454545453
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->pow(DD)D
move-result-wide v4
double-to-float v3, v4
const/high16 v4, 0x437f0000 # 255.0f
mul-float/2addr v3, v4
float-to-double v4, v0
const-wide v6, 0x3fdd1745d1745d17L # 0.45454545454545453
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->pow(DD)D
move-result-wide v4
double-to-float v0, v4
const/high16 v4, 0x437f0000 # 255.0f
mul-float/2addr v0, v4
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result v1
shl-int/lit8 v1, v1, 0x18
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v2
shl-int/lit8 v2, v2, 0x10
or-int/2addr v1, v2
invoke-static {v3}, Ljava/lang/Math;->round(F)I
move-result v2
shl-int/lit8 v2, v2, 0x8
or-int/2addr v1, v2
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result v0
or-int/2addr v0, v1
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method