211 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
			
		
		
	
	
			211 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
.class public final Lcom/google/zxing/client/android/AmbientLightManager;
 | 
						|
.super Ljava/lang/Object;
 | 
						|
.source "AmbientLightManager.java"
 | 
						|
 | 
						|
# interfaces
 | 
						|
.implements Landroid/hardware/SensorEventListener;
 | 
						|
 | 
						|
 | 
						|
# static fields
 | 
						|
.field private static final BRIGHT_ENOUGH_LUX:F = 450.0f
 | 
						|
 | 
						|
.field private static final TOO_DARK_LUX:F = 45.0f
 | 
						|
 | 
						|
 | 
						|
# instance fields
 | 
						|
.field private cameraManager:Lcom/journeyapps/barcodescanner/camera/a;
 | 
						|
 | 
						|
.field private cameraSettings:Lcom/journeyapps/barcodescanner/camera/CameraSettings;
 | 
						|
 | 
						|
.field private context:Landroid/content/Context;
 | 
						|
 | 
						|
.field private handler:Landroid/os/Handler;
 | 
						|
 | 
						|
.field private lightSensor:Landroid/hardware/Sensor;
 | 
						|
 | 
						|
 | 
						|
# direct methods
 | 
						|
.method public constructor <init>(Landroid/content/Context;Lcom/journeyapps/barcodescanner/camera/a;Lcom/journeyapps/barcodescanner/camera/CameraSettings;)V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
 | 
						|
 | 
						|
    .line 2
 | 
						|
    iput-object p1, p0, Lcom/google/zxing/client/android/AmbientLightManager;->context:Landroid/content/Context;
 | 
						|
 | 
						|
    .line 3
 | 
						|
    iput-object p2, p0, Lcom/google/zxing/client/android/AmbientLightManager;->cameraManager:Lcom/journeyapps/barcodescanner/camera/a;
 | 
						|
 | 
						|
    .line 4
 | 
						|
    iput-object p3, p0, Lcom/google/zxing/client/android/AmbientLightManager;->cameraSettings:Lcom/journeyapps/barcodescanner/camera/CameraSettings;
 | 
						|
 | 
						|
    .line 5
 | 
						|
    new-instance p1, Landroid/os/Handler;
 | 
						|
 | 
						|
    invoke-direct {p1}, Landroid/os/Handler;-><init>()V
 | 
						|
 | 
						|
    iput-object p1, p0, Lcom/google/zxing/client/android/AmbientLightManager;->handler:Landroid/os/Handler;
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public static synthetic a(Lcom/google/zxing/client/android/AmbientLightManager;Z)V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    invoke-direct {p0, p1}, Lcom/google/zxing/client/android/AmbientLightManager;->lambda$setTorch$0(Z)V
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method private synthetic lambda$setTorch$0(Z)V
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .line 1
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->cameraManager:Lcom/journeyapps/barcodescanner/camera/a;
 | 
						|
 | 
						|
    invoke-virtual {v0, p1}, Lcom/journeyapps/barcodescanner/camera/a;->A(Z)V
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method private setTorch(Z)V
 | 
						|
    .locals 2
 | 
						|
 | 
						|
    .line 1
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->handler:Landroid/os/Handler;
 | 
						|
 | 
						|
    new-instance v1, Lcom/google/zxing/client/android/a;
 | 
						|
 | 
						|
    invoke-direct {v1, p0, p1}, Lcom/google/zxing/client/android/a;-><init>(Lcom/google/zxing/client/android/AmbientLightManager;Z)V
 | 
						|
 | 
						|
    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
 | 
						|
# virtual methods
 | 
						|
.method public onAccuracyChanged(Landroid/hardware/Sensor;I)V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public onSensorChanged(Landroid/hardware/SensorEvent;)V
 | 
						|
    .locals 2
 | 
						|
 | 
						|
    .line 1
 | 
						|
    iget-object p1, p1, Landroid/hardware/SensorEvent;->values:[F
 | 
						|
 | 
						|
    const/4 v0, 0x0
 | 
						|
 | 
						|
    aget p1, p1, v0
 | 
						|
 | 
						|
    .line 2
 | 
						|
    iget-object v1, p0, Lcom/google/zxing/client/android/AmbientLightManager;->cameraManager:Lcom/journeyapps/barcodescanner/camera/a;
 | 
						|
 | 
						|
    if-eqz v1, :cond_1
 | 
						|
 | 
						|
    const/high16 v1, 0x42340000    # 45.0f
 | 
						|
 | 
						|
    cmpg-float v1, p1, v1
 | 
						|
 | 
						|
    if-gtz v1, :cond_0
 | 
						|
 | 
						|
    const/4 p1, 0x1
 | 
						|
 | 
						|
    .line 3
 | 
						|
    invoke-direct {p0, p1}, Lcom/google/zxing/client/android/AmbientLightManager;->setTorch(Z)V
 | 
						|
 | 
						|
    goto :goto_0
 | 
						|
 | 
						|
    :cond_0
 | 
						|
    const/high16 v1, 0x43e10000    # 450.0f
 | 
						|
 | 
						|
    cmpl-float p1, p1, v1
 | 
						|
 | 
						|
    if-ltz p1, :cond_1
 | 
						|
 | 
						|
    .line 4
 | 
						|
    invoke-direct {p0, v0}, Lcom/google/zxing/client/android/AmbientLightManager;->setTorch(Z)V
 | 
						|
 | 
						|
    :cond_1
 | 
						|
    :goto_0
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public start()V
 | 
						|
    .locals 3
 | 
						|
 | 
						|
    .line 1
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->cameraSettings:Lcom/journeyapps/barcodescanner/camera/CameraSettings;
 | 
						|
 | 
						|
    invoke-virtual {v0}, Lcom/journeyapps/barcodescanner/camera/CameraSettings;->d()Z
 | 
						|
 | 
						|
    move-result v0
 | 
						|
 | 
						|
    if-eqz v0, :cond_0
 | 
						|
 | 
						|
    .line 2
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->context: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;
 | 
						|
 | 
						|
    const/4 v1, 0x5
 | 
						|
 | 
						|
    .line 3
 | 
						|
    invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
 | 
						|
 | 
						|
    move-result-object v1
 | 
						|
 | 
						|
    iput-object v1, p0, Lcom/google/zxing/client/android/AmbientLightManager;->lightSensor:Landroid/hardware/Sensor;
 | 
						|
 | 
						|
    if-eqz v1, :cond_0
 | 
						|
 | 
						|
    const/4 v2, 0x3
 | 
						|
 | 
						|
    .line 4
 | 
						|
    invoke-virtual {v0, p0, v1, v2}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
 | 
						|
 | 
						|
    :cond_0
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public stop()V
 | 
						|
    .locals 2
 | 
						|
 | 
						|
    .line 1
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->lightSensor:Landroid/hardware/Sensor;
 | 
						|
 | 
						|
    if-eqz v0, :cond_0
 | 
						|
 | 
						|
    .line 2
 | 
						|
    iget-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->context: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;
 | 
						|
 | 
						|
    .line 3
 | 
						|
    invoke-virtual {v0, p0}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
 | 
						|
 | 
						|
    const/4 v0, 0x0
 | 
						|
 | 
						|
    .line 4
 | 
						|
    iput-object v0, p0, Lcom/google/zxing/client/android/AmbientLightManager;->lightSensor:Landroid/hardware/Sensor;
 | 
						|
 | 
						|
    :cond_0
 | 
						|
    return-void
 | 
						|
.end method
 |