]> Pileus Git - ~andy/iBeaconNav/blobdiff - src/edu/ucla/iBeaconNav/Sensors.java
Add connect/disconnect and iBeacon data
[~andy/iBeaconNav] / src / edu / ucla / iBeaconNav / Sensors.java
index 5d6fb2dd1e94fc4302a868b8bc9c19500ec7e593..e52d1c306c335fc50574db50482e2d7a73a8b673 100644 (file)
@@ -120,11 +120,13 @@ public class Sensors implements SensorEventListener
                this.sensorManager = (SensorManager)task.getSystemService(Context.SENSOR_SERVICE);
 
                // Get sensors
-               accSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
-               grvSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
-               magSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
-               gyrSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
-
+               this.accSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+               this.grvSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
+               this.magSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
+               this.gyrSensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
+       }
+       
+       public void connect() {
                // Connect sensor listeners
                sensorManager.registerListener(this, accSensor, SensorManager.SENSOR_DELAY_FASTEST);
                sensorManager.registerListener(this, grvSensor, SensorManager.SENSOR_DELAY_FASTEST);
@@ -132,6 +134,14 @@ public class Sensors implements SensorEventListener
                sensorManager.registerListener(this, gyrSensor, SensorManager.SENSOR_DELAY_FASTEST);
        }
 
+       public void disconnect() {
+               // Remove sensor listeners
+               sensorManager.unregisterListener(this, accSensor);
+               sensorManager.unregisterListener(this, grvSensor);
+               sensorManager.unregisterListener(this, magSensor);
+               sensorManager.unregisterListener(this, gyrSensor);
+       }
+
        public void reset_heading() {
                Util.debug("Sensors: handle - reset heading");
                this.rotation = new Quat();