Stop accelerometer when the app is put to background, and start it when it's resumed - I did not test this patch yet.

This commit is contained in:
pelya
2011-07-28 16:11:35 +03:00
parent f3ce9cd045
commit 06e262ebdb
2 changed files with 20 additions and 11 deletions

View File

@@ -41,11 +41,26 @@ class AccelerometerReader implements SensorEventListener {
private SensorManager _manager = null;
public AccelerometerReader(Activity context) {
public AccelerometerReader(Activity context)
{
System.out.println("libSDL: accelerometer start required: " + String.valueOf(Globals.UseAccelerometerAsArrowKeys));
_manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
start();
}
public synchronized void stop()
{
if( _manager != null )
{
System.out.println("libSDL: stopping accelerometer");
_manager.unregisterListener(this);
}
}
public synchronized void start()
{
if( Globals.UseAccelerometerAsArrowKeys )
{
_manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
if( _manager != null )
{
System.out.println("libSDL: starting accelerometer");
@@ -55,13 +70,6 @@ class AccelerometerReader implements SensorEventListener {
}
}
}
public synchronized void stop() {
if( _manager != null )
{
_manager.unregisterListener(this);
}
}
public synchronized void onSensorChanged(SensorEvent event) {
@@ -84,7 +92,6 @@ class AccelerometerReader implements SensorEventListener {
public synchronized void onAccuracyChanged(Sensor s, int a) {
}
private native void nativeAccelerometer(float accX, float accY, float accZ);
private native void nativeOrientation(float accX, float accY, float accZ);