aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-12-17 13:39:22 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-12-17 13:39:36 +0100
commit730bad7792727fb20f01d9abe2cc2722633d54e9 (patch)
tree28e933740ddb13beff3db99d3924d96aaef2a6fd
parent7e36094fea4f1bb9f3d35f3faa732c74f321ba5e (diff)
downloadcgeo-730bad7792727fb20f01d9abe2cc2722633d54e9.zip
cgeo-730bad7792727fb20f01d9abe2cc2722633d54e9.tar.gz
cgeo-730bad7792727fb20f01d9abe2cc2722633d54e9.tar.bz2
fix #4541: some phones do not support SENSOR_DELAY_NORMAL for rotation
-rw-r--r--main/src/cgeo/geocaching/sensors/RotationProvider.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/sensors/RotationProvider.java b/main/src/cgeo/geocaching/sensors/RotationProvider.java
index 4c4eb97..5b5d288 100644
--- a/main/src/cgeo/geocaching/sensors/RotationProvider.java
+++ b/main/src/cgeo/geocaching/sensors/RotationProvider.java
@@ -62,7 +62,12 @@ public class RotationProvider extends LooperCallbacks<Float> implements SensorEv
public void onStart() {
if (rotationSensor != null) {
Log.d("RotationProvider: starting the rotation provider");
- sensorManager.registerListener(this, rotationSensor, SensorManager.SENSOR_DELAY_NORMAL);
+ try {
+ sensorManager.registerListener(this, rotationSensor, SensorManager.SENSOR_DELAY_NORMAL);
+ } catch (final Exception e) {
+ Log.w("RotationProvider: unable to register listener", e);
+ subject.onError(e);
+ }
} else {
subject.onError(new RuntimeException("rotation sensor is absent on this device"));
}