aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CompassActivity.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-05-10 18:35:55 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-05-10 18:35:55 +0200
commit780b883f8b98c7f2074bccb5f6fd931c74758a46 (patch)
treeb82e441ab96609a5c9f3ad99951b35040b603610 /main/src/cgeo/geocaching/CompassActivity.java
parent96085791963ff0bfb1e50dc5769800648d887cdb (diff)
downloadcgeo-780b883f8b98c7f2074bccb5f6fd931c74758a46.zip
cgeo-780b883f8b98c7f2074bccb5f6fd931c74758a46.tar.gz
cgeo-780b883f8b98c7f2074bccb5f6fd931c74758a46.tar.bz2
refactoring: avoid magic constants
Diffstat (limited to 'main/src/cgeo/geocaching/CompassActivity.java')
-rw-r--r--main/src/cgeo/geocaching/CompassActivity.java29
1 files changed, 13 insertions, 16 deletions
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java
index cf13af2..5aa159c 100644
--- a/main/src/cgeo/geocaching/CompassActivity.java
+++ b/main/src/cgeo/geocaching/CompassActivity.java
@@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.os.PowerManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
@@ -31,7 +30,7 @@ public class CompassActivity extends AbstractActivity {
private static final String EXTRAS_GEOCODE = "geocode";
private static final String EXTRAS_CACHE_INFO = "cacheinfo";
private static final List<IWaypoint> coordinates = new ArrayList<IWaypoint>();
- private PowerManager pm = null;
+ private static final int COORDINATES_OFFSET = 10;
private Geopoint dstCoords = null;
private float cacheHeading = 0;
private String title = null;
@@ -86,11 +85,6 @@ public class CompassActivity extends AbstractActivity {
// sensor & geolocation manager
geoDirHandler.startGeoAndDir();
-
- // keep backlight on
- if (pm == null) {
- pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
- }
}
@Override
@@ -110,10 +104,9 @@ public class CompassActivity extends AbstractActivity {
getMenuInflater().inflate(R.menu.compass_activity_options, menu);
final SubMenu subMenu = menu.findItem(R.id.menu_select_destination).getSubMenu();
if (coordinates.size() > 1) {
- int cnt = 4;
- for (final IWaypoint coordinate : coordinates) {
- subMenu.add(0, cnt, 0, coordinate.getName() + " (" + coordinate.getCoordType() + ")");
- cnt++;
+ for (int i = 0; i < coordinates.size(); i++) {
+ final IWaypoint coordinate = coordinates.get(i);
+ subMenu.add(0, COORDINATES_OFFSET + i, 0, coordinate.getName() + " (" + coordinate.getCoordType() + ")");
}
}
else {
@@ -153,9 +146,9 @@ public class CompassActivity extends AbstractActivity {
finish();
return true;
default:
- if (id > 3 && coordinates.get(id - 4) != null) {
- final IWaypoint coordinate = coordinates.get(id - 4);
-
+ int coordinatesIndex = id - COORDINATES_OFFSET;
+ if (coordinatesIndex >= 0 && coordinatesIndex < coordinates.size()) {
+ final IWaypoint coordinate = coordinates.get(coordinatesIndex);
title = coordinate.getName();
dstCoords = coordinate.getCoords();
setTitle();
@@ -278,8 +271,12 @@ public class CompassActivity extends AbstractActivity {
public static void startActivity(final Context context, final String geocode, final String displayedName, final Geopoint coords, final Collection<IWaypoint> coordinatesWithType,
final String info) {
coordinates.clear();
- if (coordinatesWithType != null) { // avoid possible NPE
- coordinates.addAll(coordinatesWithType);
+ if (coordinatesWithType != null) {
+ for (IWaypoint coordinate : coordinatesWithType) {
+ if (coordinate != null) {
+ coordinates.add(coordinate);
+ }
+ }
}
final Intent navigateIntent = new Intent(context, CompassActivity.class);