SceneSensorUtil.smali
.class public Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;
.super Ljava/lang/Object;
.source "SceneSensorUtil.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil$MotionSensorListener;
}
.end annotation
# static fields
.field private static mMotionDetector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
# instance fields
.field private isLightFinished:Z
.field private isMotionFinished:Z
.field private mContext:Landroid/content/Context;
.field private mHandler:Landroid/os/Handler;
.field private mLightLock:Ljava/lang/Object;
.field private mMotionLock:Ljava/lang/Object;
.field private mSensorManager:Landroid/hardware/SensorManager;
.field private mbIsMotion:Z
.field private mfLightValue:F
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/os/Handler;)V
.registers 5
.prologue
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 20
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionLock:Ljava/lang/Object;
.line 23
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mLightLock:Ljava/lang/Object;
.line 34
iput-object p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mContext:Landroid/content/Context;
.line 35
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mContext:Landroid/content/Context;
if-eqz v0, :cond_19
if-nez p2, :cond_1a
.line 40
:cond_19
:goto_19
return-void
.line 38
:cond_1a
iput-object p2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mHandler:Landroid/os/Handler;
.line 39
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mContext:Landroid/content/Context;
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mContext:Landroid/content/Context;
const-string v1, "sensor"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/SensorManager;
iput-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mSensorManager:Landroid/hardware/SensorManager;
goto :goto_19
.end method
.method static synthetic access$002(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;Z)Z
.registers 2
.prologue
.line 15
iput-boolean p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mbIsMotion:Z
return p1
.end method
.method static synthetic access$100(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;)Ljava/lang/Object;
.registers 2
.prologue
.line 15
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionLock:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$202(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;Z)Z
.registers 2
.prologue
.line 15
iput-boolean p1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->isMotionFinished:Z
return p1
.end method
# virtual methods
.method public getDeviceLight()F
.registers 2
.prologue
.line 60
invoke-static {}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/LightSceneSensorMonitor;->getInstance()Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/LightSceneSensorMonitor;
move-result-object v0
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/LightSceneSensorMonitor;->getDeviceLight()F
move-result v0
return v0
.end method
.method public getDeviceMotion()Z
.registers 6
.prologue
.line 64
iget-object v1, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionLock:Ljava/lang/Object;
monitor-enter v1
.line 65
:try_start_3
sget-object v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionDetector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
if-nez v0, :cond_17
.line 66
new-instance v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
iget-object v2, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mHandler:Landroid/os/Handler;
iget-object v3, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mSensorManager:Landroid/hardware/SensorManager;
new-instance v4, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil$MotionSensorListener;
invoke-direct {v4, p0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil$MotionSensorListener;-><init>(Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;)V
invoke-direct {v0, v2, v3, v4}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector$DeviceIdleCallback;)V
sput-object v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionDetector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
.line 68
:cond_17
sget-object v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionDetector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
if-eqz v0, :cond_20
.line 69
sget-object v0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionDetector:Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;
invoke-virtual {v0}, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/AnyMotionDetector;->checkForAnyMotion()V
:try_end_20
.catchall {:try_start_3 .. :try_end_20} :catchall_34
.line 72
:cond_20
:try_start_20
iget-boolean v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->isMotionFinished:Z
if-nez v0, :cond_2b
.line 73
iget-object v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mMotionLock:Ljava/lang/Object;
const-wide/16 v2, 0xbb8
invoke-virtual {v0, v2, v3}, Ljava/lang/Object;->wait(J)V
:try_end_2b
.catch Ljava/lang/InterruptedException; {:try_start_20 .. :try_end_2b} :catch_2f
.catchall {:try_start_20 .. :try_end_2b} :catchall_34
.line 78
:cond_2b
:goto_2b
:try_start_2b
monitor-exit v1
:try_end_2c
.catchall {:try_start_2b .. :try_end_2c} :catchall_34
.line 79
iget-boolean v0, p0, Lcom/cleanmaster/boost/sceneengine/mainengine/monitor/SceneSensorUtil;->mbIsMotion:Z
return v0
.line 75
:catch_2f
move-exception v0
.line 76
:try_start_30
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
goto :goto_2b
.line 78
:catchall_34
move-exception v0
monitor-exit v1
:try_end_36
.catchall {:try_start_30 .. :try_end_36} :catchall_34
throw v0
.end method