.class public Lcom/firemint/realracing/Input; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroid/hardware/SensorEventListener; # instance fields .field private m_accelerometer:Landroid/hardware/Sensor; .field private m_gyroscope:Landroid/hardware/Sensor; .field private m_sensorManager:Landroid/hardware/SensorManager; # direct methods .method public constructor ()V .locals 2 .line 18 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-object v0, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; iput-object v0, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; iput-object v0, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; .line 19 sget-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity; 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/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; const/4 v1, 0x1 .line 20 invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor; move-result-object v0 iput-object v0, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; iget-object v0, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; const/16 v1, 0x9 .line 21 invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor; move-result-object v0 iput-object v0, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; return-void .end method .method private native updateAccelValues(FFF)V .end method .method private native updateGyroValues(FFF)V .end method # virtual methods .method public enableAccelerometer(Z)V .locals 2 iget-object v0, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; if-eqz v0, :cond_1 if-eqz p1, :cond_0 iget-object p1, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; const/4 v1, 0x1 .line 43 invoke-virtual {p1, p0, v0, v1}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z goto :goto_0 :cond_0 iget-object p1, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; .line 48 invoke-virtual {p1, p0, v0}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V :cond_1 :goto_0 return-void .end method .method public enableGyroscope(Z)V .locals 2 iget-object v0, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; if-eqz v0, :cond_1 if-eqz p1, :cond_0 iget-object p1, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; const/4 v1, 0x1 .line 60 invoke-virtual {p1, p0, v0, v1}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z goto :goto_0 :cond_0 iget-object p1, p0, Lcom/firemint/realracing/Input;->m_sensorManager:Landroid/hardware/SensorManager; .line 65 invoke-virtual {p1, p0, v0}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V :cond_1 :goto_0 return-void .end method .method public isAccelerometerAvailable()Z .locals 1 iget-object v0, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isGyroscopeAvailable()Z .locals 1 iget-object v0, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public onAccuracyChanged(Landroid/hardware/Sensor;I)V .locals 2 iget-object v0, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; if-ne p1, v0, :cond_0 const-string v0, "gyro" goto :goto_0 :cond_0 const-string v0, "unknown" :goto_0 iget-object v1, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; if-ne p1, v1, :cond_1 const-string v0, "accel" .line 77 :cond_1 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string v1, "ACCURACY CHANGED! sensor = " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, ", accuracy = " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; return-void .end method .method public onSensorChanged(Landroid/hardware/SensorEvent;)V .locals 5 .line 83 iget-object v0, p1, Landroid/hardware/SensorEvent;->sensor:Landroid/hardware/Sensor; iget-object v1, p0, Lcom/firemint/realracing/Input;->m_accelerometer:Landroid/hardware/Sensor; const/4 v2, 0x2 const/4 v3, 0x1 const/4 v4, 0x0 if-ne v0, v1, :cond_0 .line 85 iget-object p1, p1, Landroid/hardware/SensorEvent;->values:[F aget v0, p1, v4 aget v1, p1, v3 aget p1, p1, v2 invoke-direct {p0, v0, v1, p1}, Lcom/firemint/realracing/Input;->updateAccelValues(FFF)V goto :goto_0 :cond_0 iget-object v1, p0, Lcom/firemint/realracing/Input;->m_gyroscope:Landroid/hardware/Sensor; if-ne v0, v1, :cond_1 .line 89 iget-object p1, p1, Landroid/hardware/SensorEvent;->values:[F aget v0, p1, v4 aget v1, p1, v3 aget p1, p1, v2 invoke-direct {p0, v0, v1, p1}, Lcom/firemint/realracing/Input;->updateGyroValues(FFF)V :cond_1 :goto_0 return-void .end method