diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-06-15 11:46:16 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-06-15 11:46:16 +0200 |
| commit | 2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea (patch) | |
| tree | faaae5908e5a8142756359c33e4c22dd0e8635a9 /main/src/cgeo | |
| parent | 5edd25823db0eb681c32c97b54fffe403ace3acf (diff) | |
| parent | ac3800351ee51a7a8d062dec5e61e128f1aefd5d (diff) | |
| download | cgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.zip cgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.tar.gz cgeo-2cf756cce8991c92d1b5f3ceba4c1cf92e4c73ea.tar.bz2 | |
Merge branch 'fix-2741' into release
Diffstat (limited to 'main/src/cgeo')
| -rw-r--r-- | main/src/cgeo/geocaching/cgeonavigate.java | 10 |
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) { |
