AnyMotionDetector.smali
.class public Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
.super Ljava/lang/Object;
.source "AnyMotionDetector.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;,
Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;,
Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
}
.end annotation
# static fields
.field private static final ACCELEROMETER_DATA_TIMEOUT_MILLIS:J = 0xbb8L
.field private static final DEBUG:Z = false
.field private static final ORIENTATION_MEASUREMENT_DURATION_MILLIS:J = 0x3e8L
.field private static final ORIENTATION_MEASUREMENT_INTERVAL_MILLIS:J = 0x1388L
.field public static final RESULT_MOVED:I = 0x1
.field public static final RESULT_STATIONARY:I = 0x0
.field public static final RESULT_UNKNOWN:I = -0x1
.field private static final SAMPLING_INTERVAL_MILLIS:I = 0x1e
.field private static final STALE_MEASUREMENT_TIMEOUT_MILLIS:I = 0x1d4c0
.field private static final STATE_ACTIVE:I = 0x1
.field private static final STATE_INACTIVE:I = 0x0
.field private static final TAG:Ljava/lang/String; = "AnyMotionDetector"
# instance fields
.field private final THRESHOLD_ANGLE:F
.field private final THRESHOLD_ENERGY:F
.field private mAccelSensor:Landroid/hardware/Sensor;
.field private mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.field private mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.field private mDetectionStartTime:J
.field private mHandler:Landroid/os/Handler;
.field private final mListener:Landroid/hardware/SensorEventListener;
.field private final mLock:Ljava/lang/Object;
.field private mMeasurementInProgress:Z
.field private final mMeasurementTimeout:Ljava/lang/Runnable;
.field private mNumSufficientSamples:I
.field private mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.field private mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
.field private mSensorManager:Landroid/hardware/SensorManager;
.field private final mSensorRestart:Ljava/lang/Runnable;
.field private mState:I
# direct methods
.method public constructor <init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;)V
.registers 7
.prologue
const/4 v2, 0x0
const/4 v1, 0x0
.line 127
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 60
const/high16 v0, 0x40000000 # 2.0f
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->THRESHOLD_ANGLE:F
.line 63
const/high16 v0, 0x40a00000 # 5.0f
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->THRESHOLD_ENERGY:F
.line 84
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
.line 99
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 102
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 107
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.line 278
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$1;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$1;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mListener:Landroid/hardware/SensorEventListener;
.line 307
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$2;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$2;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorRestart:Ljava/lang/Runnable;
.line 316
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$3;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$3;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementTimeout:Ljava/lang/Runnable;
.line 130
iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
.line 131
iput-object p2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
.line 132
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
if-eqz v0, :cond_40
.line 133
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mAccelSensor:Landroid/hardware/Sensor;
.line 135
:cond_40
iput-boolean v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
.line 136
iput v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mState:I
.line 137
iput-object p3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.line 138
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-direct {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
.line 139
const-wide v0, 0x4040aaaaaaaaaaabL # 33.333333333333336
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int v0, v0
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mNumSufficientSamples:I
.line 142
return-void
.end method
.method public constructor <init>(Landroid/os/PowerManager;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;)V
.registers 8
.prologue
const/4 v2, 0x0
const/4 v1, 0x0
.line 110
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 60
const/high16 v0, 0x40000000 # 2.0f
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->THRESHOLD_ANGLE:F
.line 63
const/high16 v0, 0x40a00000 # 5.0f
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->THRESHOLD_ENERGY:F
.line 84
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
.line 99
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 102
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 107
iput-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.line 278
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$1;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$1;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mListener:Landroid/hardware/SensorEventListener;
.line 307
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$2;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$2;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorRestart:Ljava/lang/Runnable;
.line 316
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$3;
invoke-direct {v0, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$3;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementTimeout:Ljava/lang/Runnable;
.line 114
iput-object p2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
.line 115
iput-object p3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
.line 116
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mAccelSensor:Landroid/hardware/Sensor;
.line 117
iput-boolean v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
.line 118
iput v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mState:I
.line 119
iput-object p4, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.line 120
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-direct {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
.line 121
const-wide v0, 0x4040aaaaaaaaaaabL # 33.333333333333336
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int v0, v0
iput v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mNumSufficientSamples:I
.line 124
return-void
.end method
.method static synthetic access$100(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
.registers 2
.prologue
.line 32
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
return-object v0
.end method
.method static synthetic access$200(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)Ljava/lang/Object;
.registers 2
.prologue
.line 32
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$300(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)I
.registers 2
.prologue
.line 32
iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mNumSufficientSamples:I
return v0
.end method
.method static synthetic access$400(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)I
.registers 2
.prologue
.line 32
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->stopOrientationMeasurementLocked()I
move-result v0
return v0
.end method
.method static synthetic access$500(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.registers 2
.prologue
.line 32
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
return-object v0
.end method
.method static synthetic access$600(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;)V
.registers 1
.prologue
.line 32
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->startOrientationMeasurement()V
return-void
.end method
.method private startOrientationMeasurement()V
.registers 5
.prologue
.line 166
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
if-eqz v0, :cond_c
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
if-eqz v0, :cond_c
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
if-nez v0, :cond_d
.line 190
:cond_c
:goto_c
return-void
.line 175
:cond_d
iget-boolean v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
if-nez v0, :cond_c
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mAccelSensor:Landroid/hardware/Sensor;
if-eqz v0, :cond_c
.line 176
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mListener:Landroid/hardware/SensorEventListener;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mAccelSensor:Landroid/hardware/Sensor;
const/16 v3, 0x7530
invoke-virtual {v0, v1, v2, v3}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
move-result v0
if-eqz v0, :cond_35
.line 179
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
.line 180
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iput-wide v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mDetectionStartTime:J
.line 181
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
monitor-enter v1
.line 182
:try_start_2f
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;->reset()V
.line 183
monitor-exit v1
:try_end_35
.catchall {:try_start_2f .. :try_end_35} :catchall_45
.line 186
:cond_35
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementTimeout:Ljava/lang/Runnable;
invoke-static {v0, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;
move-result-object v0
.line 188
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
const-wide/16 v2, 0xbb8
invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
goto :goto_c
.line 183
:catchall_45
move-exception v0
:try_start_46
monitor-exit v1
:try_end_47
.catchall {:try_start_46 .. :try_end_47} :catchall_45
throw v0
.end method
.method private stopOrientationMeasurementLocked()I
.registers 7
.prologue
const/4 v3, 0x0
const/4 v1, -0x1
.line 193
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
if-eqz v0, :cond_e
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
if-eqz v0, :cond_e
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
if-nez v0, :cond_10
:cond_e
move v0, v1
.line 244
:goto_f
return v0
.line 202
:cond_10
iget-boolean v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
if-eqz v0, :cond_58
.line 203
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorManager:Landroid/hardware/SensorManager;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mListener:Landroid/hardware/SensorEventListener;
invoke-virtual {v0, v2}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
.line 204
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementTimeout:Ljava/lang/Runnable;
invoke-virtual {v0, v2}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
.line 208
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
.line 209
iput-boolean v3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mMeasurementInProgress:Z
.line 210
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 211
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;->getRunningAverage()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 221
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
monitor-enter v2
.line 222
:try_start_36
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;->reset()V
.line 223
monitor-exit v2
:try_end_3c
.catchall {:try_start_36 .. :try_end_3c} :catchall_45
.line 224
invoke-virtual {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->getStationaryStatus()I
move-result v0
.line 226
if-eq v0, v1, :cond_48
.line 229
iput v3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mState:I
goto :goto_f
.line 223
:catchall_45
move-exception v0
:try_start_46
monitor-exit v2
:try_end_47
.catchall {:try_start_46 .. :try_end_47} :catchall_45
throw v0
.line 238
:cond_48
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mSensorRestart:Ljava/lang/Runnable;
invoke-static {v1, v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;
move-result-object v1
.line 241
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mHandler:Landroid/os/Handler;
const-wide/16 v4, 0x1388
invoke-virtual {v2, v1, v4, v5}, Landroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
goto :goto_f
:cond_58
move v0, v1
goto :goto_f
.end method
# virtual methods
.method public checkForAnyMotion()V
.registers 4
.prologue
const/4 v2, 0x0
const/4 v1, 0x1
.line 156
iget v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mState:I
if-eq v0, v1, :cond_f
.line 157
iput v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mState:I
.line 159
iput-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 160
iput-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
.line 161
invoke-direct {p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->startOrientationMeasurement()V
.line 163
:cond_f
return-void
.end method
.method public getStationaryStatus()I
.registers 7
.prologue
const/4 v0, 0x1
const/4 v1, -0x1
.line 251
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
if-eqz v2, :cond_e
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
if-eqz v2, :cond_e
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
if-nez v2, :cond_10
:cond_e
move v0, v1
.line 275
:cond_f
:goto_f
return v0
.line 254
:cond_10
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
# invokes: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->normalized()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
invoke-static {v2}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->access$000(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
move-result-object v2
.line 255
iget-object v3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
# invokes: Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->normalized()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
invoke-static {v3}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->access$000(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
move-result-object v3
.line 256
invoke-virtual {v2, v3}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->angleBetween(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;)F
move-result v2
.line 258
const/high16 v3, 0x40000000 # 2.0f
cmpg-float v3, v2, v3
if-gez v3, :cond_34
iget-object v3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mRunningStats:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;
invoke-virtual {v3}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$RunningSignalStats;->getEnergy()F
move-result v3
const/high16 v4, 0x40a00000 # 5.0f
cmpg-float v3, v3, v4
if-gez v3, :cond_34
.line 259
const/4 v0, 0x0
goto :goto_f
.line 260
:cond_34
invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-nez v2, :cond_f
.line 268
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCurrentGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
iget-wide v2, v2, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J
iget-object v4, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mPreviousGravityVector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;
iget-wide v4, v4, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$Vector3;->timeMillisSinceBoot:J
sub-long/2addr v2, v4
.line 270
const-wide/32 v4, 0x1d4c0
cmp-long v2, v2, v4
if-lez v2, :cond_f
move v0, v1
.line 273
goto :goto_f
.end method
.method public setCallback(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;)V
.registers 4
.prologue
.line 144
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mLock:Ljava/lang/Object;
monitor-enter v1
.line 145
if-eqz p1, :cond_7
.line 146
:try_start_5
iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->mCallback:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;
.line 148
:cond_7
monitor-exit v1
.line 149
return-void
.line 148
:catchall_9
move-exception v0
monitor-exit v1
:try_end_b
.catchall {:try_start_5 .. :try_end_b} :catchall_9
throw v0
.end method