ModulusAnimatedNode.smali
.class Lcom/facebook/react/animated/ModulusAnimatedNode;
.super Lcom/facebook/react/animated/ValueAnimatedNode;
.source "SourceFile"
# instance fields
.field private final mInputNode:I
.field private final mModulus:D
.field private final mNativeAnimatedNodesManager:Lcom/facebook/react/animated/NativeAnimatedNodesManager;
# direct methods
.method public constructor <init>(Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/animated/NativeAnimatedNodesManager;)V
.registers 3
.line 1
invoke-direct {p0}, Lcom/facebook/react/animated/ValueAnimatedNode;-><init>()V
.line 2
iput-object p2, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mNativeAnimatedNodesManager:Lcom/facebook/react/animated/NativeAnimatedNodesManager;
const-string p2, "input"
.line 3
invoke-interface {p1, p2}, Lcom/facebook/react/bridge/ReadableMap;->getInt(Ljava/lang/String;)I
move-result p2
iput p2, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mInputNode:I
const-string p2, "modulus"
.line 4
invoke-interface {p1, p2}, Lcom/facebook/react/bridge/ReadableMap;->getDouble(Ljava/lang/String;)D
move-result-wide p1
iput-wide p1, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mModulus:D
return-void
.end method
# virtual methods
.method public update()V
.registers 5
.line 1
iget-object v0, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mNativeAnimatedNodesManager:Lcom/facebook/react/animated/NativeAnimatedNodesManager;
iget v1, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mInputNode:I
invoke-virtual {v0, v1}, Lcom/facebook/react/animated/NativeAnimatedNodesManager;->getNodeById(I)Lcom/facebook/react/animated/AnimatedNode;
move-result-object v0
if-eqz v0, :cond_1c
.line 2
instance-of v1, v0, Lcom/facebook/react/animated/ValueAnimatedNode;
if-eqz v1, :cond_1c
.line 3
check-cast v0, Lcom/facebook/react/animated/ValueAnimatedNode;
invoke-virtual {v0}, Lcom/facebook/react/animated/ValueAnimatedNode;->getValue()D
move-result-wide v0
.line 4
iget-wide v2, p0, Lcom/facebook/react/animated/ModulusAnimatedNode;->mModulus:D
rem-double/2addr v0, v2
add-double/2addr v0, v2
rem-double/2addr v0, v2
iput-wide v0, p0, Lcom/facebook/react/animated/ValueAnimatedNode;->mValue:D
return-void
.line 5
:cond_1c
new-instance v0, Lcom/facebook/react/bridge/JSApplicationCausedNativeException;
const-string v1, "Illegal node ID set as an input for Animated.modulus node"
invoke-direct {v0, v1}, Lcom/facebook/react/bridge/JSApplicationCausedNativeException;-><init>(Ljava/lang/String;)V
throw v0
.end method