aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-06-15 11:46:16 +0200
committerSamuel Tardieu <sam@rfc1149.net>2013-06-15 11:46:16 +0200
commit2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea (patch)
treefaaae5908e5a8142756359c33e4c22dd0e8635a9
parent5edd25823db0eb681c32c97b54fffe403ace3acf (diff)
parentac3800351ee51a7a8d062dec5e61e128f1aefd5d (diff)
downloadcgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.zip
cgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.tar.gz
cgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.tar.bz2
Merge branch 'fix-2741' into release
-rw-r--r--main/src/cgeo/geocaching/cgeonavigate.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/cgeonavigate.java
index 17c2e20..c029ee7 100644
--- a/main/src/cgeo/geocaching/cgeonavigate.java
+++ b/main/src/cgeo/geocaching/cgeonavigate.java
@@ -12,6 +12,8 @@ import org.apache.commons.lang3.StringUtils;
import android.content.Context;
import android.content.Intent;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.PowerManager;
import android.view.Menu;
@@ -45,6 +47,7 @@ public class cgeonavigate extends AbstractActivity {
private TextView distanceView = null;
private TextView headingView = null;
private CompassView compassView = null;
+ private boolean hasMagneticFieldSensor;
public cgeonavigate() {
super("c:geo-compass", true);
@@ -58,6 +61,12 @@ public class cgeonavigate extends AbstractActivity {
setContentView(R.layout.navigate);
setTitle(res.getString(R.string.compass_title));
+ final SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
+ hasMagneticFieldSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) != null;
+ if (!hasMagneticFieldSensor) {
+ Settings.setUseCompass(false);
+ }
+
// get parameters
Bundle extras = getIntent().getExtras();
if (extras != null) {
@@ -118,6 +127,7 @@ public class cgeonavigate extends AbstractActivity {
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
menu.add(0, MENU_SWITCH_COMPASS_GPS, 0, res.getString(Settings.isUseCompass() ? R.string.use_gps : R.string.use_compass)).setIcon(R.drawable.ic_menu_compass);
+ menu.findItem(MENU_SWITCH_COMPASS_GPS).setVisible(hasMagneticFieldSensor);
menu.add(0, MENU_MAP, 0, res.getString(R.string.caches_on_map)).setIcon(R.drawable.ic_menu_mapmode);
menu.add(0, 2, 0, res.getString(R.string.destination_set)).setIcon(R.drawable.ic_menu_edit);
if (coordinates.size() > 1) {