diff options
author | Bananeweizen <bananeweizen@gmx.de> | 2013-05-10 18:35:55 +0200 |
---|---|---|
committer | Bananeweizen <bananeweizen@gmx.de> | 2013-05-10 18:35:55 +0200 |
commit | 780b883f8b98c7f2074bccb5f6fd931c74758a46 (patch) | |
tree | b82e441ab96609a5c9f3ad99951b35040b603610 /main/src/cgeo/geocaching/CompassActivity.java | |
parent | 96085791963ff0bfb1e50dc5769800648d887cdb (diff) | |
download | cgeo-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.java | 29 |
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); |