diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-05-19 20:23:13 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-05-19 20:23:13 +0200 |
| commit | 75cf13232b57532a046fb40b9c6990088c1b93e1 (patch) | |
| tree | 577da8435187cf777ba997b63475223ddae95208 | |
| parent | 2877ae13cb8084ab777cbb89b7c546a36abb0884 (diff) | |
| parent | ac3800351ee51a7a8d062dec5e61e128f1aefd5d (diff) | |
| download | cgeo-75cf13232b57532a046fb40b9c6990088c1b93e1.zip cgeo-75cf13232b57532a046fb40b9c6990088c1b93e1.tar.gz cgeo-75cf13232b57532a046fb40b9c6990088c1b93e1.tar.bz2 | |
Merge branch 'fix-2741' into upstream
Conflicts:
main/src/cgeo/geocaching/CompassActivity.java
| -rw-r--r-- | main/src/cgeo/geocaching/CompassActivity.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java index 7e97e46..d0f980e 100644 --- a/main/src/cgeo/geocaching/CompassActivity.java +++ b/main/src/cgeo/geocaching/CompassActivity.java @@ -13,6 +13,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.view.Menu; import android.view.MenuItem; @@ -43,11 +45,18 @@ public class CompassActivity extends AbstractActivity { private TextView distanceView = null; private TextView headingView = null; private CompassView compassView = null; + private boolean hasMagneticFieldSensor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState, R.layout.navigate); + 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) { @@ -104,6 +113,7 @@ public class CompassActivity extends AbstractActivity { @Override public boolean onCreateOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.compass_activity_options, menu); + menu.findItem(R.id.menu_switch_compass_gps).setVisible(hasMagneticFieldSensor); final SubMenu subMenu = menu.findItem(R.id.menu_select_destination).getSubMenu(); if (coordinates.size() > 1) { for (int i = 0; i < coordinates.size(); i++) { |
