aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/sensors/RotationProvider.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-08-26 12:48:57 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-08-26 12:48:57 +0200
commit4dde0bfad21b4e1c558416c8d0b12aa125cd48df (patch)
tree933f9add6810cda5aec1c932fc8aebc1555f7dcb /main/src/cgeo/geocaching/sensors/RotationProvider.java
parenta3b14204ae9dc244325c1b1c197967f2c92f6557 (diff)
downloadcgeo-4dde0bfad21b4e1c558416c8d0b12aa125cd48df.zip
cgeo-4dde0bfad21b4e1c558416c8d0b12aa125cd48df.tar.gz
cgeo-4dde0bfad21b4e1c558416c8d0b12aa125cd48df.tar.bz2
Decouple Google Play Services and low-power mode
Diffstat (limited to 'main/src/cgeo/geocaching/sensors/RotationProvider.java')
-rw-r--r--main/src/cgeo/geocaching/sensors/RotationProvider.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/sensors/RotationProvider.java b/main/src/cgeo/geocaching/sensors/RotationProvider.java
index fc434bf..a7c5cf0 100644
--- a/main/src/cgeo/geocaching/sensors/RotationProvider.java
+++ b/main/src/cgeo/geocaching/sensors/RotationProvider.java
@@ -1,6 +1,5 @@
package cgeo.geocaching.sensors;
-import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.Log;
import cgeo.geocaching.utils.RxUtils.LooperCallbacks;
@@ -21,12 +20,12 @@ public class RotationProvider extends LooperCallbacks<Float> implements SensorEv
private final float[] orientation = new float[4];
@TargetApi(19)
- protected RotationProvider(final Context context) {
+ protected RotationProvider(final Context context, final boolean lowPower) {
sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
// The geomagnetic rotation vector introduced in Android 4.4 (API 19) requires less power. Favour it
// even if it is more sensible to noise in low-power settings.
- final Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR);
- if (sensor != null && Settings.useLowPowerMode()) {
+ final Sensor sensor = lowPower ? sensorManager.getDefaultSensor(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR) : null;
+ if (sensor != null) {
rotationSensor = sensor;
Log.d("RotationProvider: geomagnetic (low-power) sensor found");
} else {
@@ -68,8 +67,8 @@ public class RotationProvider extends LooperCallbacks<Float> implements SensorEv
}
}
- public static Observable<Float> create(final Context context) {
- return Observable.create(new RotationProvider(context));
+ public static Observable<Float> create(final Context context, final boolean lowPower) {
+ return Observable.create(new RotationProvider(context, lowPower));
}
}