aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-05-19 20:23:13 +0200
committerSamuel Tardieu <sam@rfc1149.net>2013-05-19 20:23:13 +0200
commit75cf13232b57532a046fb40b9c6990088c1b93e1 (patch)
tree577da8435187cf777ba997b63475223ddae95208
parent2877ae13cb8084ab777cbb89b7c546a36abb0884 (diff)
parentac3800351ee51a7a8d062dec5e61e128f1aefd5d (diff)
downloadcgeo-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.java10
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++) {