aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-11-23 13:20:00 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-11-23 13:48:57 +0100
commit052cad07a840ca04ee29eb13c764b9c79a3591d4 (patch)
tree49976f989eb09be9ada8ed62a6d7bdee84a3158d /main/src/cgeo
parentcb930e29ef2de78d1003d9e4af9fc31334f1165e (diff)
downloadcgeo-052cad07a840ca04ee29eb13c764b9c79a3591d4.zip
cgeo-052cad07a840ca04ee29eb13c764b9c79a3591d4.tar.gz
cgeo-052cad07a840ca04ee29eb13c764b9c79a3591d4.tar.bz2
IGeoData#getCoords() can never be null
Diffstat (limited to 'main/src/cgeo')
-rw-r--r--main/src/cgeo/geocaching/AbstractDialogFragment.java2
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java2
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java14
-rw-r--r--main/src/cgeo/geocaching/CompassActivity.java22
-rw-r--r--main/src/cgeo/geocaching/EditWaypointActivity.java11
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java4
-rw-r--r--main/src/cgeo/geocaching/NavigateAnyPointActivity.java17
-rw-r--r--main/src/cgeo/geocaching/SearchActivity.java6
-rw-r--r--main/src/cgeo/geocaching/WaypointPopupFragment.java2
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java14
-rw-r--r--main/src/cgeo/geocaching/sensors/IGeoData.java4
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java4
12 files changed, 28 insertions, 74 deletions
diff --git a/main/src/cgeo/geocaching/AbstractDialogFragment.java b/main/src/cgeo/geocaching/AbstractDialogFragment.java
index 3deb701..d680a41 100644
--- a/main/src/cgeo/geocaching/AbstractDialogFragment.java
+++ b/main/src/cgeo/geocaching/AbstractDialogFragment.java
@@ -256,7 +256,7 @@ public abstract class AbstractDialogFragment extends DialogFragment implements C
@Override
public void updateGeoData(final IGeoData geo) {
try {
- if (geo.getCoords() != null && cache != null && cache.getCoords() != null) {
+ if (cache != null && cache.getCoords() != null) {
cacheDistance.setText(Units.getDistanceFromKilometers(geo.getCoords().distanceTo(cache.getCoords())));
cacheDistance.bringToFront();
}
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 7e62532..3fe33a3 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -555,7 +555,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
return;
}
- if (geo.getCoords() != null && activity.cache != null && activity.cache.getCoords() != null) {
+ if (activity.cache != null && activity.cache.getCoords() != null) {
activity.cacheDistanceView.setText(Units.getDistanceFromKilometers(geo.getCoords().distanceTo(activity.cache.getCoords())));
activity.cacheDistanceView.bringToFront();
}
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index ee8af44..4a654bd 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -145,10 +145,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
@Override
public void updateGeoData(final IGeoData geoData) {
- final Geopoint coords = geoData.getCoords();
- if (coords != null) {
- adapter.setActualCoordinates(coords);
- }
+ adapter.setActualCoordinates(geoData.getCoords());
}
};
@@ -544,12 +541,9 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
}
private void setAdapterCurrentCoordinates(final boolean forceSort) {
- final Geopoint coordsNow = app.currentGeo().getCoords();
- if (coordsNow != null) {
- adapter.setActualCoordinates(coordsNow);
- if (forceSort) {
- adapter.forceSort();
- }
+ adapter.setActualCoordinates(app.currentGeo().getCoords());
+ if (forceSort) {
+ adapter.forceSort();
}
}
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java
index 6d45911..273b3c4 100644
--- a/main/src/cgeo/geocaching/CompassActivity.java
+++ b/main/src/cgeo/geocaching/CompassActivity.java
@@ -262,7 +262,7 @@ public class CompassActivity extends AbstractActionBarActivity {
}
private void updateDistanceInfo(final IGeoData geo) {
- if (geo.getCoords() == null || dstCoords == null) {
+ if (dstCoords == null) {
return;
}
@@ -286,24 +286,18 @@ public class CompassActivity extends AbstractActionBarActivity {
@Override
public void updateGeoDir(final IGeoData geo, final float dir) {
try {
- if (geo.getCoords() != null) {
- navType.setText(res.getString(geo.getLocationProvider().resourceId));
-
- if (geo.getAccuracy() >= 0) {
- navAccuracy.setText("±" + Units.getDistanceFromMeters(geo.getAccuracy()));
- } else {
- navAccuracy.setText(null);
- }
+ navType.setText(res.getString(geo.getLocationProvider().resourceId));
- navLocation.setText(geo.getCoords().toString());
-
- updateDistanceInfo(geo);
+ if (geo.getAccuracy() >= 0) {
+ navAccuracy.setText("±" + Units.getDistanceFromMeters(geo.getAccuracy()));
} else {
- navType.setText(null);
navAccuracy.setText(null);
- navLocation.setText(res.getString(R.string.loc_trying));
}
+ navLocation.setText(geo.getCoords().toString());
+
+ updateDistanceInfo(geo);
+
updateNorthHeading(AngleUtils.getDirectionNow(dir));
} catch (final RuntimeException e) {
Log.w("Failed to update location", e);
diff --git a/main/src/cgeo/geocaching/EditWaypointActivity.java b/main/src/cgeo/geocaching/EditWaypointActivity.java
index a091ff7..81d4db5 100644
--- a/main/src/cgeo/geocaching/EditWaypointActivity.java
+++ b/main/src/cgeo/geocaching/EditWaypointActivity.java
@@ -266,10 +266,6 @@ public class EditWaypointActivity extends AbstractActionBarActivity implements C
final private GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
public void updateGeoData(final IGeoData geo) {
- if (geo.getCoords() == null) {
- return;
- }
-
try {
buttonLat.setHint(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE_RAW));
buttonLon.setHint(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE_RAW));
@@ -395,12 +391,7 @@ public class EditWaypointActivity extends AbstractActionBarActivity implements C
return;
}
} else {
- final IGeoData geo = app.currentGeo();
- if (geo.getCoords() == null) {
- showToast(res.getString(R.string.err_point_curr_position_unavailable));
- return;
- }
- coords = geo.getCoords();
+ coords = app.currentGeo().getCoords();
}
if (StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) {
diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java
index 7008464..8dd210f 100644
--- a/main/src/cgeo/geocaching/MainActivity.java
+++ b/main/src/cgeo/geocaching/MainActivity.java
@@ -625,10 +625,6 @@ public class MainActivity extends AbstractActionBarActivity {
* unused here but needed since this method is referenced from XML layout
*/
public void cgeoFindNearest(final View v) {
- if (app.currentGeo().getCoords() == null) {
- return;
- }
-
nearestView.setPressed(true);
startActivity(CacheListActivity.getNearestIntent(this));
}
diff --git a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
index 5093293..f8ae06d 100644
--- a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
+++ b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
@@ -473,14 +473,8 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
@Override
public void onClick(final View arg0) {
final Geopoint coords = app.currentGeo().getCoords();
- if (coords == null) {
- showToast(res.getString(R.string.err_point_unknown_position));
- return;
- }
-
latButton.setText(coords.format(GeopointFormatter.Format.LAT_DECMINUTE));
lonButton.setText(coords.format(GeopointFormatter.Format.LON_DECMINUTE));
-
changed = false;
}
}
@@ -508,16 +502,11 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
return null;
}
} else {
- if (app.currentGeo().getCoords() == null) {
- showToast(res.getString(R.string.err_point_curr_position_unavailable));
- return null;
- }
-
coords = app.currentGeo().getCoords();
}
// apply projection
- if (coords != null && StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) {
+ if (StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) {
// bearing & distance
double bearing;
try {
@@ -539,9 +528,7 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
coords = coords.project(bearing, distance);
}
- if (coords != null) {
- saveCoords(coords);
- }
+ saveCoords(coords);
return coords;
}
diff --git a/main/src/cgeo/geocaching/SearchActivity.java b/main/src/cgeo/geocaching/SearchActivity.java
index ff39187..64dd4d9 100644
--- a/main/src/cgeo/geocaching/SearchActivity.java
+++ b/main/src/cgeo/geocaching/SearchActivity.java
@@ -310,10 +310,8 @@ public class SearchActivity extends AbstractActionBarActivity implements Coordin
if (StringUtils.isEmpty(latText) || StringUtils.isEmpty(lonText)) {
final IGeoData geo = app.currentGeo();
- if (geo.getCoords() != null) {
- buttonLatitude.setText(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE));
- buttonLongitude.setText(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE));
- }
+ buttonLatitude.setText(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE));
+ buttonLongitude.setText(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE));
} else {
try {
CacheListActivity.startActivityCoordinates(this, new Geopoint(latText, lonText));
diff --git a/main/src/cgeo/geocaching/WaypointPopupFragment.java b/main/src/cgeo/geocaching/WaypointPopupFragment.java
index 00c7986..a86d7ce 100644
--- a/main/src/cgeo/geocaching/WaypointPopupFragment.java
+++ b/main/src/cgeo/geocaching/WaypointPopupFragment.java
@@ -49,7 +49,7 @@ public class WaypointPopupFragment extends AbstractDialogFragment {
@Override
protected void onUpdateGeoData(IGeoData geo) {
- if (geo.getCoords() != null && waypoint != null && waypoint.getCoords() != null) {
+ if (waypoint != null && waypoint.getCoords() != null) {
waypointDistance.setText(Units.getDistanceFromKilometers(geo.getCoords().distanceTo(waypoint.getCoords())));
waypointDistance.bringToFront();
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
index 3102101..62cb67f 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
@@ -26,16 +26,10 @@ public class GoogleMapsDirectionApp extends AbstractPointNavigationApp {
public void navigate(final Activity activity, final Geopoint coords) {
try {
final IGeoData geo = CgeoApplication.getInstance().currentGeo();
- if (geo.getCoords() != null) {
- activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri
- .parse("http://maps.google.com/maps?f=d&saddr="
- + geo.getCoords().getLatitude() + "," + geo.getCoords().getLongitude() + "&daddr="
- + coords.getLatitude() + "," + coords.getLongitude())));
- } else {
- activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri
- .parse("http://maps.google.com/maps?f=d&daddr="
- + coords.getLatitude() + "," + coords.getLongitude())));
- }
+ activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri
+ .parse("http://maps.google.com/maps?f=d&saddr="
+ + geo.getCoords().getLatitude() + "," + geo.getCoords().getLongitude() + "&daddr="
+ + coords.getLatitude() + "," + coords.getLongitude())));
} catch (final Exception e) {
Log.i("GoogleMapsDirectionApp: application not available.", e);
diff --git a/main/src/cgeo/geocaching/sensors/IGeoData.java b/main/src/cgeo/geocaching/sensors/IGeoData.java
index 365ad50..949203a 100644
--- a/main/src/cgeo/geocaching/sensors/IGeoData.java
+++ b/main/src/cgeo/geocaching/sensors/IGeoData.java
@@ -2,6 +2,8 @@ package cgeo.geocaching.sensors;
import cgeo.geocaching.location.Geopoint;
+import org.eclipse.jdt.annotation.NonNull;
+
import android.location.Location;
public interface IGeoData {
@@ -9,7 +11,7 @@ public interface IGeoData {
public Location getLocation();
public LocationProviderType getLocationProvider();
- public Geopoint getCoords();
+ @NonNull public Geopoint getCoords();
public float getBearing();
public float getSpeed();
public float getAccuracy();
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
index 71449fc..3868a1b 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
@@ -62,10 +62,8 @@ public class CoordinatesInputDialog extends DialogFragment {
if (gp != null) {
args.putParcelable(GEOPOINT_ARG, gp);
- } else if (geo != null && geo.getCoords() != null) {
- args.putParcelable(GEOPOINT_ARG, geo.getCoords());
} else {
- args.putParcelable(GEOPOINT_ARG, Geopoint.ZERO);
+ args.putParcelable(GEOPOINT_ARG, geo != null ? geo.getCoords() : Geopoint.ZERO);
}
if (geo !=null) {