VirtualView.smali
.class public abstract Lcom/horcrux/svg/VirtualView;
.super Lcom/facebook/react/views/view/ReactViewGroup;
.source "VirtualView.java"
# annotations
.annotation build Landroid/annotation/SuppressLint;
value = {
"ViewConstructor"
}
.end annotation
# static fields
.field public static final CLIP_RULE_EVENODD:I = 0x0
.field public static final CLIP_RULE_NONZERO:I = 0x1
.field public static final M_SQRT1_2l:D = 0.7071067811865476
.field public static final sRawMatrix:[F
# instance fields
.field public canvasDiagonal:D
.field public canvasHeight:F
.field public canvasWidth:F
.field public elements:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lcom/horcrux/svg/PathElement;",
">;"
}
.end annotation
.end field
.field public fontSize:D
.field public glyphContext:Lcom/horcrux/svg/GlyphContext;
.field public mBox:Landroid/graphics/RectF;
.field public mCTM:Landroid/graphics/Matrix;
.field public mCTMInvertible:Z
.field public mCachedClipPath:Landroid/graphics/Path;
.field public mClientRect:Landroid/graphics/RectF;
.field public mClipBounds:Landroid/graphics/RectF;
.field public mClipPath:Ljava/lang/String;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field public mClipRegion:Landroid/graphics/Region;
.field public mClipRegionPath:Landroid/graphics/Path;
.field public mClipRule:I
.field public final mContext:Lcom/facebook/react/bridge/ReactContext;
.field public mDisplay:Ljava/lang/String;
.field public mFillBounds:Landroid/graphics/RectF;
.field public mFillPath:Landroid/graphics/Path;
.field public mInvCTM:Landroid/graphics/Matrix;
.field public mInvMatrix:Landroid/graphics/Matrix;
.field public final mInvTransform:Landroid/graphics/Matrix;
.field public mInvertible:Z
.field public mMarkerBounds:Landroid/graphics/RectF;
.field public mMarkerEnd:Ljava/lang/String;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field public mMarkerMid:Ljava/lang/String;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field public mMarkerPath:Landroid/graphics/Path;
.field public mMarkerRegion:Landroid/graphics/Region;
.field public mMarkerStart:Ljava/lang/String;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field public mMask:Ljava/lang/String;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end field
.field public mMatrix:Landroid/graphics/Matrix;
.field public mName:Ljava/lang/String;
.field public mOnLayout:Z
.field public mOpacity:F
.field public mPath:Landroid/graphics/Path;
.field public mRegion:Landroid/graphics/Region;
.field public mResponsible:Z
.field public final mScale:F
.field public mStrokeBounds:Landroid/graphics/RectF;
.field public mStrokePath:Landroid/graphics/Path;
.field public mStrokeRegion:Landroid/graphics/Region;
.field public mTextRoot:Lcom/horcrux/svg/GroupView;
.field public mTransform:Landroid/graphics/Matrix;
.field public mTransformInvertible:Z
.field public svgView:Lcom/horcrux/svg/SvgView;
# direct methods
.method public static constructor <clinit>()V
.registers 1
const/16 v0, 0x9
new-array v0, v0, [F
fill-array-data v0, :array_a
sput-object v0, Lcom/horcrux/svg/VirtualView;->sRawMatrix:[F
return-void
:array_a
.array-data 4
0x3f800000 # 1.0f
0x0
0x0
0x0
0x3f800000 # 1.0f
0x0
0x0
0x0
0x3f800000 # 1.0f
.end array-data
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactContext;)V
.registers 4
invoke-direct {p0, p1}, Lcom/facebook/react/views/view/ReactViewGroup;-><init>(Landroid/content/Context;)V
const/high16 v0, 0x3f800000 # 1.0f
iput v0, p0, Lcom/horcrux/svg/VirtualView;->mOpacity:F
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mCTM:Landroid/graphics/Matrix;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mTransform:Landroid/graphics/Matrix;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mInvCTM:Landroid/graphics/Matrix;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mInvMatrix:Landroid/graphics/Matrix;
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mInvTransform:Landroid/graphics/Matrix;
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/horcrux/svg/VirtualView;->mInvertible:Z
iput-boolean v0, p0, Lcom/horcrux/svg/VirtualView;->mCTMInvertible:Z
iput-boolean v0, p0, Lcom/horcrux/svg/VirtualView;->mTransformInvertible:Z
const-wide/high16 v0, -0x4010000000000000L # -1.0
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->fontSize:D
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->canvasDiagonal:D
const/high16 v0, -0x40800000 # -1.0f
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mContext:Lcom/facebook/react/bridge/ReactContext;
invoke-static {}, Lcom/facebook/react/uimanager/DisplayMetricsHolder;->getScreenDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iget p1, p1, Landroid/util/DisplayMetrics;->density:F
iput p1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
return-void
.end method
.method private clearParentCache()V
.registers 3
move-object v0, p0
:goto_1
invoke-virtual {v0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
instance-of v1, v0, Lcom/horcrux/svg/VirtualView;
if-nez v1, :cond_a
return-void
:cond_a
check-cast v0, Lcom/horcrux/svg/VirtualView;
iget-object v1, v0, Lcom/horcrux/svg/VirtualView;->mPath:Landroid/graphics/Path;
if-nez v1, :cond_11
return-void
:cond_11
invoke-virtual {v0}, Lcom/horcrux/svg/VirtualView;->clearCache()V
goto :goto_1
.end method
.method private fromRelativeFast(Lcom/horcrux/svg/SVGLength;)D
.registers 6
sget-object v0, Lcom/horcrux/svg/VirtualView$1;->$SwitchMap$com$horcrux$svg$SVGLength$UnitType:[I
iget-object v1, p1, Lcom/horcrux/svg/SVGLength;->unit:Lcom/horcrux/svg/SVGLength$UnitType;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_42
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
goto :goto_34
:pswitch_10
const-wide/high16 v0, 0x402e000000000000L # 15.0
goto :goto_34
:pswitch_13
const-wide/high16 v0, 0x3ff4000000000000L # 1.25
goto :goto_34
:pswitch_16
const-wide v0, 0x4056800000000000L # 90.0
goto :goto_34
:pswitch_1c
const-wide v0, 0x400c58b1572580c3L # 3.543307
goto :goto_34
:pswitch_22
const-wide v0, 0x4041b76ed677707aL # 35.43307
goto :goto_34
:pswitch_28
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getFontSizeFromContext()D
move-result-wide v0
const-wide/high16 v2, 0x4000000000000000L # 2.0
div-double/2addr v0, v2
goto :goto_34
:pswitch_30
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getFontSizeFromContext()D
move-result-wide v0
:goto_34
iget-wide v2, p1, Lcom/horcrux/svg/SVGLength;->value:D
mul-double v2, v2, v0
iget p1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
float-to-double v0, p1
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
mul-double v2, v2, v0
return-wide v2
nop
:pswitch_data_42
.packed-switch 0x1
:pswitch_30
:pswitch_28
:pswitch_22
:pswitch_1c
:pswitch_16
:pswitch_13
:pswitch_10
.end packed-switch
.end method
.method private getCanvasDiagonal()D
.registers 7
iget-wide v0, p0, Lcom/horcrux/svg/VirtualView;->canvasDiagonal:D
const-wide/high16 v2, -0x4010000000000000L # -1.0
cmpl-double v4, v0, v2
if-eqz v4, :cond_9
return-wide v0
:cond_9
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getCanvasWidth()F
move-result v0
float-to-double v0, v0
const-wide/high16 v2, 0x4000000000000000L # 2.0
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v0
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getCanvasHeight()F
move-result v4
float-to-double v4, v4
invoke-static {v4, v5, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v2
add-double/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
const-wide v2, 0x3fe6a09e667f3bcdL # 0.7071067811865476
mul-double v0, v0, v2
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->canvasDiagonal:D
return-wide v0
.end method
.method private getCanvasHeight()F
.registers 3
iget v0, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
const/high16 v1, -0x40800000 # -1.0f
cmpl-float v1, v0, v1
if-eqz v1, :cond_9
return v0
:cond_9
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getTextRoot()Lcom/horcrux/svg/GroupView;
move-result-object v0
if-nez v0, :cond_1f
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getSvgView()Lcom/horcrux/svg/SvgView;
move-result-object v0
invoke-virtual {v0}, Lcom/horcrux/svg/SvgView;->getCanvasBounds()Landroid/graphics/Rect;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v0
int-to-float v0, v0
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
goto :goto_29
:cond_1f
invoke-virtual {v0}, Lcom/horcrux/svg/GroupView;->getGlyphContext()Lcom/horcrux/svg/GlyphContext;
move-result-object v0
invoke-virtual {v0}, Lcom/horcrux/svg/GlyphContext;->getHeight()F
move-result v0
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
:goto_29
iget v0, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
return v0
.end method
.method private getCanvasWidth()F
.registers 3
iget v0, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
const/high16 v1, -0x40800000 # -1.0f
cmpl-float v1, v0, v1
if-eqz v1, :cond_9
return v0
:cond_9
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getTextRoot()Lcom/horcrux/svg/GroupView;
move-result-object v0
if-nez v0, :cond_1f
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getSvgView()Lcom/horcrux/svg/SvgView;
move-result-object v0
invoke-virtual {v0}, Lcom/horcrux/svg/SvgView;->getCanvasBounds()Landroid/graphics/Rect;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Rect;->width()I
move-result v0
int-to-float v0, v0
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
goto :goto_29
:cond_1f
invoke-virtual {v0}, Lcom/horcrux/svg/GroupView;->getGlyphContext()Lcom/horcrux/svg/GlyphContext;
move-result-object v0
invoke-virtual {v0}, Lcom/horcrux/svg/GlyphContext;->getWidth()F
move-result v0
iput v0, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
:goto_29
iget v0, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
return v0
.end method
.method private getFontSizeFromContext()D
.registers 6
iget-wide v0, p0, Lcom/horcrux/svg/VirtualView;->fontSize:D
const-wide/high16 v2, -0x4010000000000000L # -1.0
cmpl-double v4, v0, v2
if-eqz v4, :cond_9
return-wide v0
:cond_9
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getTextRoot()Lcom/horcrux/svg/GroupView;
move-result-object v0
if-nez v0, :cond_12
const-wide/high16 v0, 0x4028000000000000L # 12.0
return-wide v0
:cond_12
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->glyphContext:Lcom/horcrux/svg/GlyphContext;
if-nez v1, :cond_1c
invoke-virtual {v0}, Lcom/horcrux/svg/GroupView;->getGlyphContext()Lcom/horcrux/svg/GlyphContext;
move-result-object v0
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->glyphContext:Lcom/horcrux/svg/GlyphContext;
:cond_1c
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->glyphContext:Lcom/horcrux/svg/GlyphContext;
invoke-virtual {v0}, Lcom/horcrux/svg/GlyphContext;->getFontSize()D
move-result-wide v0
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->fontSize:D
return-wide v0
.end method
# virtual methods
.method public clearCache()V
.registers 4
const-wide/high16 v0, -0x4010000000000000L # -1.0
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->canvasDiagonal:D
const/high16 v2, -0x40800000 # -1.0f
iput v2, p0, Lcom/horcrux/svg/VirtualView;->canvasHeight:F
iput v2, p0, Lcom/horcrux/svg/VirtualView;->canvasWidth:F
iput-wide v0, p0, Lcom/horcrux/svg/VirtualView;->fontSize:D
const/4 v0, 0x0
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mStrokeRegion:Landroid/graphics/Region;
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mMarkerRegion:Landroid/graphics/Region;
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mRegion:Landroid/graphics/Region;
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mPath:Landroid/graphics/Path;
return-void
.end method
.method public clearChildCache()V
.registers 4
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->clearCache()V
const/4 v0, 0x0
:goto_4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
if-ge v0, v1, :cond_1a
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v1
instance-of v2, v1, Lcom/horcrux/svg/VirtualView;
if-eqz v2, :cond_17
check-cast v1, Lcom/horcrux/svg/VirtualView;
invoke-virtual {v1}, Lcom/horcrux/svg/VirtualView;->clearChildCache()V
:cond_17
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_1a
return-void
.end method
.method public clip(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
.registers 3
invoke-virtual {p0, p1, p2}, Lcom/horcrux/svg/VirtualView;->getClipPath(Landroid/graphics/Canvas;Landroid/graphics/Paint;)Landroid/graphics/Path;
move-result-object p2
if-eqz p2, :cond_9
invoke-virtual {p1, p2}, Landroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;)Z
:cond_9
return-void
.end method
.method public abstract draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;F)V
.end method
.method public getClientRect()Landroid/graphics/RectF;
.registers 2
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
return-object v0
.end method
.method public getClipPath()Landroid/graphics/Path;
.registers 2
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mCachedClipPath:Landroid/graphics/Path;
return-object v0
.end method
.method public getClipPath(Landroid/graphics/Canvas;Landroid/graphics/Paint;)Landroid/graphics/Path;
.registers 6
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClipPath:Ljava/lang/String;
if-eqz v0, :cond_6e
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getSvgView()Lcom/horcrux/svg/SvgView;
move-result-object v0
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->mClipPath:Ljava/lang/String;
invoke-virtual {v0, v1}, Lcom/horcrux/svg/SvgView;->getDefinedClipPath(Ljava/lang/String;)Lcom/horcrux/svg/VirtualView;
move-result-object v0
check-cast v0, Lcom/horcrux/svg/ClipPathView;
const-string v1, "ReactNative"
if-eqz v0, :cond_58
iget v2, v0, Lcom/horcrux/svg/VirtualView;->mClipRule:I
if-nez v2, :cond_1d
invoke-virtual {v0, p1, p2}, Lcom/horcrux/svg/GroupView;->getPath(Landroid/graphics/Canvas;Landroid/graphics/Paint;)Landroid/graphics/Path;
move-result-object p1
goto :goto_23
:cond_1d
sget-object v2, Landroid/graphics/Region$Op;->UNION:Landroid/graphics/Region$Op;
invoke-virtual {v0, p1, p2, v2}, Lcom/horcrux/svg/GroupView;->getPath(Landroid/graphics/Canvas;Landroid/graphics/Paint;Landroid/graphics/Region$Op;)Landroid/graphics/Path;
move-result-object p1
:goto_23
iget-object p2, v0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
invoke-virtual {p1, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget-object p2, v0, Lcom/horcrux/svg/VirtualView;->mTransform:Landroid/graphics/Matrix;
invoke-virtual {p1, p2}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
iget p2, v0, Lcom/horcrux/svg/VirtualView;->mClipRule:I
if-eqz p2, :cond_50
const/4 v0, 0x1
if-eq p2, v0, :cond_55
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "RNSVG: clipRule: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, p0, Lcom/horcrux/svg/VirtualView;->mClipRule:I
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " unrecognized"
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {v1, p2}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_55
:cond_50
sget-object p2, Landroid/graphics/Path$FillType;->EVEN_ODD:Landroid/graphics/Path$FillType;
invoke-virtual {p1, p2}, Landroid/graphics/Path;->setFillType(Landroid/graphics/Path$FillType;)V
:cond_55
:goto_55
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mCachedClipPath:Landroid/graphics/Path;
goto :goto_6e
:cond_58
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "RNSVG: Undefined clipPath: "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p2, p0, Lcom/horcrux/svg/VirtualView;->mClipPath:Ljava/lang/String;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_6e
:goto_6e
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getClipPath()Landroid/graphics/Path;
move-result-object p1
return-object p1
.end method
.method public getParentTextRoot()Lcom/horcrux/svg/GroupView;
.registers 3
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
instance-of v1, v0, Lcom/horcrux/svg/VirtualView;
if-nez v1, :cond_a
const/4 v0, 0x0
return-object v0
:cond_a
check-cast v0, Lcom/horcrux/svg/VirtualView;
invoke-virtual {v0}, Lcom/horcrux/svg/VirtualView;->getTextRoot()Lcom/horcrux/svg/GroupView;
move-result-object v0
return-object v0
.end method
.method public abstract getPath(Landroid/graphics/Canvas;Landroid/graphics/Paint;)Landroid/graphics/Path;
.end method
.method public getSvgView()Lcom/horcrux/svg/SvgView;
.registers 3
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->svgView:Lcom/horcrux/svg/SvgView;
if-eqz v0, :cond_5
return-object v0
:cond_5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-nez v0, :cond_d
const/4 v0, 0x0
return-object v0
:cond_d
instance-of v1, v0, Lcom/horcrux/svg/SvgView;
if-eqz v1, :cond_16
check-cast v0, Lcom/horcrux/svg/SvgView;
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->svgView:Lcom/horcrux/svg/SvgView;
goto :goto_46
:cond_16
instance-of v1, v0, Lcom/horcrux/svg/VirtualView;
if-eqz v1, :cond_23
check-cast v0, Lcom/horcrux/svg/VirtualView;
invoke-virtual {v0}, Lcom/horcrux/svg/VirtualView;->getSvgView()Lcom/horcrux/svg/SvgView;
move-result-object v0
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->svgView:Lcom/horcrux/svg/SvgView;
goto :goto_46
:cond_23
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "RNSVG: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " should be descendant of a SvgView."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "ReactNative"
invoke-static {v1, v0}, Lcom/facebook/common/logging/FLog;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_46
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->svgView:Lcom/horcrux/svg/SvgView;
return-object v0
.end method
.method public getTextRoot()Lcom/horcrux/svg/GroupView;
.registers 4
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mTextRoot:Lcom/horcrux/svg/GroupView;
if-nez v0, :cond_24
move-object v0, p0
:goto_5
if-eqz v0, :cond_24
instance-of v1, v0, Lcom/horcrux/svg/GroupView;
if-eqz v1, :cond_17
move-object v1, v0
check-cast v1, Lcom/horcrux/svg/GroupView;
invoke-virtual {v1}, Lcom/horcrux/svg/GroupView;->getGlyphContext()Lcom/horcrux/svg/GlyphContext;
move-result-object v2
if-eqz v2, :cond_17
iput-object v1, p0, Lcom/horcrux/svg/VirtualView;->mTextRoot:Lcom/horcrux/svg/GroupView;
goto :goto_24
:cond_17
invoke-virtual {v0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
instance-of v1, v0, Lcom/horcrux/svg/VirtualView;
if-nez v1, :cond_21
const/4 v0, 0x0
goto :goto_5
:cond_21
check-cast v0, Lcom/horcrux/svg/VirtualView;
goto :goto_5
:cond_24
:goto_24
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mTextRoot:Lcom/horcrux/svg/GroupView;
return-object v0
.end method
.method public abstract hitTest([F)I
.end method
.method public invalidate()V
.registers 2
instance-of v0, p0, Lcom/horcrux/svg/RenderableView;
if-eqz v0, :cond_9
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mPath:Landroid/graphics/Path;
if-nez v0, :cond_9
return-void
:cond_9
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->clearCache()V
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->clearParentCache()V
invoke-super {p0}, Landroid/view/ViewGroup;->invalidate()V
return-void
.end method
.method public isResponsible()Z
.registers 2
iget-boolean v0, p0, Lcom/horcrux/svg/VirtualView;->mResponsible:Z
return v0
.end method
.method public onLayout(ZIIII)V
.registers 6
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
if-nez p1, :cond_5
return-void
:cond_5
instance-of p2, p0, Lcom/horcrux/svg/GroupView;
if-nez p2, :cond_3b
iget p1, p1, Landroid/graphics/RectF;->left:F
float-to-double p1, p1
invoke-static {p1, p2}, Ljava/lang/Math;->floor(D)D
move-result-wide p1
double-to-int p1, p1
iget-object p2, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget p2, p2, Landroid/graphics/RectF;->top:F
float-to-double p2, p2
invoke-static {p2, p3}, Ljava/lang/Math;->floor(D)D
move-result-wide p2
double-to-int p2, p2
iget-object p3, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget p3, p3, Landroid/graphics/RectF;->right:F
float-to-double p3, p3
invoke-static {p3, p4}, Ljava/lang/Math;->ceil(D)D
move-result-wide p3
double-to-int p3, p3
iget-object p4, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget p4, p4, Landroid/graphics/RectF;->bottom:F
float-to-double p4, p4
invoke-static {p4, p5}, Ljava/lang/Math;->ceil(D)D
move-result-wide p4
double-to-int p4, p4
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setLeft(I)V
invoke-virtual {p0, p2}, Landroid/view/ViewGroup;->setTop(I)V
invoke-virtual {p0, p3}, Landroid/view/ViewGroup;->setRight(I)V
invoke-virtual {p0, p4}, Landroid/view/ViewGroup;->setBottom(I)V
:cond_3b
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
invoke-virtual {p1}, Landroid/graphics/RectF;->width()F
move-result p1
float-to-double p1, p1
invoke-static {p1, p2}, Ljava/lang/Math;->ceil(D)D
move-result-wide p1
double-to-int p1, p1
iget-object p2, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
invoke-virtual {p2}, Landroid/graphics/RectF;->height()F
move-result p2
float-to-double p2, p2
invoke-static {p2, p3}, Ljava/lang/Math;->ceil(D)D
move-result-wide p2
double-to-int p2, p2
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method public onMeasure(II)V
.registers 5
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
if-eqz v0, :cond_f
invoke-virtual {v0}, Landroid/graphics/RectF;->width()F
move-result p1
float-to-double v0, p1
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int p1, v0
goto :goto_17
:cond_f
invoke-virtual {p0}, Landroid/view/ViewGroup;->getSuggestedMinimumWidth()I
move-result v0
invoke-static {v0, p1}, Landroid/view/ViewGroup;->getDefaultSize(II)I
move-result p1
:goto_17
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
if-eqz v0, :cond_26
invoke-virtual {v0}, Landroid/graphics/RectF;->height()F
move-result p2
float-to-double v0, p2
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int p2, v0
goto :goto_2e
:cond_26
invoke-virtual {p0}, Landroid/view/ViewGroup;->getSuggestedMinimumHeight()I
move-result v0
invoke-static {v0, p2}, Landroid/view/ViewGroup;->getDefaultSize(II)I
move-result p2
:goto_2e
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method public relativeOnHeight(Lcom/horcrux/svg/SVGLength;)D
.registers 6
iget-object v0, p1, Lcom/horcrux/svg/SVGLength;->unit:Lcom/horcrux/svg/SVGLength$UnitType;
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->NUMBER:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_11
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
iget p1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
:goto_e
mul-double v0, v0, v2
return-wide v0
:cond_11
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->PERCENTAGE:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_23
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
const-wide/high16 v2, 0x4059000000000000L # 100.0
div-double/2addr v0, v2
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getCanvasHeight()F
move-result p1
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
goto :goto_e
:cond_23
invoke-direct {p0, p1}, Lcom/horcrux/svg/VirtualView;->fromRelativeFast(Lcom/horcrux/svg/SVGLength;)D
move-result-wide v0
return-wide v0
.end method
.method public relativeOnOther(Lcom/horcrux/svg/SVGLength;)D
.registers 6
iget-object v0, p1, Lcom/horcrux/svg/SVGLength;->unit:Lcom/horcrux/svg/SVGLength$UnitType;
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->NUMBER:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_11
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
iget p1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
:goto_e
mul-double v0, v0, v2
return-wide v0
:cond_11
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->PERCENTAGE:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_1f
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
const-wide/high16 v2, 0x4059000000000000L # 100.0
div-double/2addr v0, v2
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getCanvasDiagonal()D
move-result-wide v2
goto :goto_e
:cond_1f
invoke-direct {p0, p1}, Lcom/horcrux/svg/VirtualView;->fromRelativeFast(Lcom/horcrux/svg/SVGLength;)D
move-result-wide v0
return-wide v0
.end method
.method public relativeOnWidth(Lcom/horcrux/svg/SVGLength;)D
.registers 6
iget-object v0, p1, Lcom/horcrux/svg/SVGLength;->unit:Lcom/horcrux/svg/SVGLength$UnitType;
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->NUMBER:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_11
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
iget p1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
:goto_e
mul-double v0, v0, v2
return-wide v0
:cond_11
sget-object v1, Lcom/horcrux/svg/SVGLength$UnitType;->PERCENTAGE:Lcom/horcrux/svg/SVGLength$UnitType;
if-ne v0, v1, :cond_23
iget-wide v0, p1, Lcom/horcrux/svg/SVGLength;->value:D
const-wide/high16 v2, 0x4059000000000000L # 100.0
div-double/2addr v0, v2
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->getCanvasWidth()F
move-result p1
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
goto :goto_e
:cond_23
invoke-direct {p0, p1}, Lcom/horcrux/svg/VirtualView;->fromRelativeFast(Lcom/horcrux/svg/SVGLength;)D
move-result-wide v0
return-wide v0
.end method
.method public render(Landroid/graphics/Canvas;Landroid/graphics/Paint;F)V
.registers 4
invoke-virtual {p0, p1, p2, p3}, Lcom/horcrux/svg/VirtualView;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;F)V
return-void
.end method
.method public restoreCanvas(Landroid/graphics/Canvas;I)V
.registers 3
invoke-virtual {p1, p2}, Landroid/graphics/Canvas;->restoreToCount(I)V
return-void
.end method
.method public saveAndSetupCanvas(Landroid/graphics/Canvas;Landroid/graphics/Matrix;)I
.registers 7
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->mCTM:Landroid/graphics/Matrix;
iget-object v2, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
iget-object v3, p0, Lcom/horcrux/svg/VirtualView;->mTransform:Landroid/graphics/Matrix;
invoke-virtual {v1, v2, v3}, Landroid/graphics/Matrix;->setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->mCTM:Landroid/graphics/Matrix;
invoke-virtual {p1, v1}, Landroid/graphics/Canvas;->concat(Landroid/graphics/Matrix;)V
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mCTM:Landroid/graphics/Matrix;
invoke-virtual {p1, p2}, Landroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mCTM:Landroid/graphics/Matrix;
iget-object p2, p0, Lcom/horcrux/svg/VirtualView;->mInvCTM:Landroid/graphics/Matrix;
invoke-virtual {p1, p2}, Landroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z
move-result p1
iput-boolean p1, p0, Lcom/horcrux/svg/VirtualView;->mCTMInvertible:Z
return v0
.end method
.method public saveDefinition()V
.registers 3
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mName:Ljava/lang/String;
if-eqz v0, :cond_d
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->getSvgView()Lcom/horcrux/svg/SvgView;
move-result-object v0
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->mName:Ljava/lang/String;
invoke-virtual {v0, p0, v1}, Lcom/horcrux/svg/SvgView;->defineTemplate(Lcom/horcrux/svg/VirtualView;Ljava/lang/String;)V
:cond_d
return-void
.end method
.method public setClientRect(Landroid/graphics/RectF;)V
.registers 8
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
if-eqz v0, :cond_b
invoke-virtual {v0, p1}, Landroid/graphics/RectF;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b
return-void
:cond_b
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
if-nez p1, :cond_10
return-void
:cond_10
invoke-virtual {p1}, Landroid/graphics/RectF;->width()F
move-result p1
float-to-double v0, p1
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int p1, v0
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
invoke-virtual {v0}, Landroid/graphics/RectF;->height()F
move-result v0
float-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int v0, v0
iget-object v1, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget v1, v1, Landroid/graphics/RectF;->left:F
float-to-double v1, v1
invoke-static {v1, v2}, Ljava/lang/Math;->floor(D)D
move-result-wide v1
double-to-int v1, v1
iget-object v2, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->top:F
float-to-double v2, v2
invoke-static {v2, v3}, Ljava/lang/Math;->floor(D)D
move-result-wide v2
double-to-int v2, v2
iget-object v3, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget v3, v3, Landroid/graphics/RectF;->right:F
float-to-double v3, v3
invoke-static {v3, v4}, Ljava/lang/Math;->ceil(D)D
move-result-wide v3
double-to-int v3, v3
iget-object v4, p0, Lcom/horcrux/svg/VirtualView;->mClientRect:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->bottom:F
float-to-double v4, v4
invoke-static {v4, v5}, Ljava/lang/Math;->ceil(D)D
move-result-wide v4
double-to-int v4, v4
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
instance-of v5, p0, Lcom/horcrux/svg/GroupView;
if-nez v5, :cond_61
invoke-virtual {p0, v1}, Landroid/view/ViewGroup;->setLeft(I)V
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->setTop(I)V
invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->setRight(I)V
invoke-virtual {p0, v4}, Landroid/view/ViewGroup;->setBottom(I)V
:cond_61
iget-boolean v3, p0, Lcom/horcrux/svg/VirtualView;->mOnLayout:Z
if-nez v3, :cond_66
return-void
:cond_66
iget-object v3, p0, Lcom/horcrux/svg/VirtualView;->mContext:Lcom/facebook/react/bridge/ReactContext;
const-class v4, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v3, v4}, Lcom/facebook/react/bridge/ReactContext;->getNativeModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/NativeModule;
move-result-object v3
check-cast v3, Lcom/facebook/react/uimanager/UIManagerModule;
invoke-virtual {v3}, Lcom/facebook/react/uimanager/UIManagerModule;->getEventDispatcher()Lcom/facebook/react/uimanager/events/EventDispatcher;
move-result-object v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getId()I
move-result v4
invoke-static {v4, v1, v2, p1, v0}, Lcom/facebook/react/uimanager/OnLayoutEvent;->obtain(IIIII)Lcom/facebook/react/uimanager/OnLayoutEvent;
move-result-object p1
invoke-virtual {v3, p1}, Lcom/facebook/react/uimanager/events/EventDispatcher;->dispatchEvent(Lcom/facebook/react/uimanager/events/Event;)V
return-void
.end method
.method public setClipPath(Ljava/lang/String;)V
.registers 3
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "clipPath"
.end annotation
const/4 v0, 0x0
iput-object v0, p0, Lcom/horcrux/svg/VirtualView;->mCachedClipPath:Landroid/graphics/Path;
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mClipPath:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setClipRule(I)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
defaultInt = 0x1
name = "clipRule"
.end annotation
iput p1, p0, Lcom/horcrux/svg/VirtualView;->mClipRule:I
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setDisplay(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "display"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mDisplay:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setMarkerEnd(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "markerEnd"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMarkerEnd:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setMarkerMid(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "markerMid"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMarkerMid:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setMarkerStart(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "markerStart"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMarkerStart:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setMask(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "mask"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMask:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setMatrix(Lcom/facebook/react/bridge/Dynamic;)V
.registers 4
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "matrix"
.end annotation
invoke-interface {p1}, Lcom/facebook/react/bridge/Dynamic;->getType()Lcom/facebook/react/bridge/ReadableType;
move-result-object v0
invoke-interface {p1}, Lcom/facebook/react/bridge/Dynamic;->isNull()Z
move-result v1
if-nez v1, :cond_50
sget-object v1, Lcom/facebook/react/bridge/ReadableType;->Array:Lcom/facebook/react/bridge/ReadableType;
invoke-virtual {v0, v1}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_50
invoke-interface {p1}, Lcom/facebook/react/bridge/Dynamic;->asArray()Lcom/facebook/react/bridge/ReadableArray;
move-result-object p1
sget-object v0, Lcom/horcrux/svg/VirtualView;->sRawMatrix:[F
iget v1, p0, Lcom/horcrux/svg/VirtualView;->mScale:F
invoke-static {p1, v0, v1}, Lcom/horcrux/svg/PropHelper;->toMatrixData(Lcom/facebook/react/bridge/ReadableArray;[FF)I
move-result p1
const/4 v0, 0x6
if-ne p1, v0, :cond_45
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
if-nez p1, :cond_33
new-instance p1, Landroid/graphics/Matrix;
invoke-direct {p1}, Landroid/graphics/Matrix;-><init>()V
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
new-instance p1, Landroid/graphics/Matrix;
invoke-direct {p1}, Landroid/graphics/Matrix;-><init>()V
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mInvMatrix:Landroid/graphics/Matrix;
:cond_33
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
sget-object v0, Lcom/horcrux/svg/VirtualView;->sRawMatrix:[F
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->setValues([F)V
iget-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
iget-object v0, p0, Lcom/horcrux/svg/VirtualView;->mInvMatrix:Landroid/graphics/Matrix;
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z
move-result p1
iput-boolean p1, p0, Lcom/horcrux/svg/VirtualView;->mInvertible:Z
goto :goto_58
:cond_45
const/4 v0, -0x1
if-eq p1, v0, :cond_58
const-string p1, "ReactNative"
const-string v0, "RNSVG: Transform matrices must be of size 6"
invoke-static {p1, v0}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_58
:cond_50
const/4 p1, 0x0
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mMatrix:Landroid/graphics/Matrix;
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mInvMatrix:Landroid/graphics/Matrix;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/horcrux/svg/VirtualView;->mInvertible:Z
:cond_58
:goto_58
invoke-super {p0}, Landroid/view/ViewGroup;->invalidate()V
invoke-direct {p0}, Lcom/horcrux/svg/VirtualView;->clearParentCache()V
return-void
.end method
.method public setName(Ljava/lang/String;)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "name"
.end annotation
iput-object p1, p0, Lcom/horcrux/svg/VirtualView;->mName:Ljava/lang/String;
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setOnLayout(Z)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "onLayout"
.end annotation
iput-boolean p1, p0, Lcom/horcrux/svg/VirtualView;->mOnLayout:Z
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setOpacity(F)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
defaultFloat = 1.0f
name = "opacity"
.end annotation
iput p1, p0, Lcom/horcrux/svg/VirtualView;->mOpacity:F
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method
.method public setResponsible(Z)V
.registers 2
.annotation runtime Lcom/facebook/react/uimanager/annotations/ReactProp;
name = "responsible"
.end annotation
iput-boolean p1, p0, Lcom/horcrux/svg/VirtualView;->mResponsible:Z
invoke-virtual {p0}, Lcom/horcrux/svg/VirtualView;->invalidate()V
return-void
.end method