AnyMotionDetector$Vector3.smali

.class Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.super Ljava/lang/Object;
.source "AnyMotionDetector.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "Vector3"
.end annotation


# instance fields
.field public timeMillisSinceBoot:J

.field public x:F

.field public y:F

.field public z:F


# direct methods
.method public constructor <init>(JFFF)V
    .registers 7

    .prologue
    .line 343
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 344
    iput-wide p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    .line 345
    iput p3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    .line 346
    iput p4, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    .line 347
    iput p5, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    .line 348
    return-void
.end method

.method static synthetic access$000(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
    .registers 2

    .prologue
    .line 337
    invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->normalized()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;

    move-result-object v0

    return-object v0
.end method

.method private norm()F
    .registers 3

    .prologue
    .line 351
    invoke-virtual {p0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->dotProduct(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)F

    move-result v0

    float-to-double v0, v0

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    return v0
.end method

.method private normalized()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
    .registers 8

    .prologue
    .line 355
    invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->norm()F

    move-result v0

    .line 356
    new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;

    iget-wide v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    iget v4, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    div-float/2addr v4, v0

    iget v5, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    div-float/2addr v5, v0

    iget v6, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    div-float/2addr v6, v0

    invoke-direct/range {v1 .. v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;-><init>(JFFF)V

    return-object v1
.end method


# virtual methods
.method public angleBetween(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)F
    .registers 8

    .prologue
    .line 367
    if-nez p1, :cond_4

    .line 368
    const/4 v0, 0x0

    .line 375
    :goto_3
    return v0

    .line 370
    :cond_4
    invoke-virtual {p0, p1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->dotProduct(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)F

    move-result v0

    float-to-double v0, v0

    invoke-static {v0, v1}, Ljava/lang/Math;->acos(D)D

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide v2

    .line 371
    double-to-float v0, v2

    .line 372
    const-string v1, "AnyMotionDetector"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "angleBetween: this = "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, ", other = "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    .line 373
    invoke-virtual {p1}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 372
    invoke-static {v1, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 374
    const-string v1, "AnyMotionDetector"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "    degrees = "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, ", returnValue = "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_3
.end method

.method public dotProduct(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)F
    .registers 5

    .prologue
    .line 389
    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    iget v1, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    mul-float/2addr v0, v1

    iget v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    iget v2, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    iget v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    iget v2, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    return v0
.end method

.method public minus(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
    .registers 9

    .prologue
    .line 401
    new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;

    iget-wide v2, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    iget v4, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    sub-float v4, v0, v4

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    iget v5, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    sub-float v5, v0, v5

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    iget v6, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    sub-float v6, v0, v6

    invoke-direct/range {v1 .. v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;-><init>(JFFF)V

    return-object v1
.end method

.method public plus(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
    .registers 9

    .prologue
    .line 397
    new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;

    iget-wide v2, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    iget v4, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    add-float/2addr v4, v0

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    iget v5, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    add-float/2addr v5, v0

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    iget v6, p1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    add-float/2addr v6, v0

    invoke-direct/range {v1 .. v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;-><init>(JFFF)V

    return-object v1
.end method

.method public times(F)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
    .registers 9

    .prologue
    .line 393
    new-instance v1, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;

    iget-wide v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    mul-float v4, v0, p1

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    mul-float v5, v0, p1

    iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    mul-float v6, v0, p1

    invoke-direct/range {v1 .. v6}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;-><init>(JFFF)V

    return-object v1
.end method

.method public toString()Ljava/lang/String;
    .registers 5

    .prologue
    .line 380
    const-string v0, ""

    .line 381
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "timeMillisSinceBoot="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-wide v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J

    invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 382
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " | x="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->x:F

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 383
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ", y="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->y:F

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 384
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ", z="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->z:F

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 385
    return-object v0
.end method