aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java12
-rw-r--r--main/src/cgeo/geocaching/ICache.java2
-rw-r--r--main/src/cgeo/geocaching/activity/ActivityMixin.java2
-rw-r--r--main/src/cgeo/geocaching/apps/AbstractLocusApp.java2
-rw-r--r--main/src/cgeo/geocaching/cgBase.java7
-rw-r--r--main/src/cgeo/geocaching/cgCache.java50
-rw-r--r--main/src/cgeo/geocaching/cgCacheListAdapter.java14
-rw-r--r--main/src/cgeo/geocaching/cgData.java8
-rw-r--r--main/src/cgeo/geocaching/cgGeo.java4
-rw-r--r--main/src/cgeo/geocaching/cgLog.java2
-rw-r--r--main/src/cgeo/geocaching/cgTrackable.java6
-rw-r--r--main/src/cgeo/geocaching/cgeo.java4
-rw-r--r--main/src/cgeo/geocaching/cgeoapplication.java6
-rw-r--r--main/src/cgeo/geocaching/cgeocaches.java12
-rw-r--r--main/src/cgeo/geocaching/cgeonavigate.java10
-rw-r--r--main/src/cgeo/geocaching/cgeopoint.java9
-rw-r--r--main/src/cgeo/geocaching/cgeopopup.java8
-rw-r--r--main/src/cgeo/geocaching/cgeotrackable.java2
-rw-r--r--main/src/cgeo/geocaching/cgeowaypointadd.java41
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java2
-rw-r--r--main/src/cgeo/geocaching/connector/AbstractConnector.java2
-rw-r--r--main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java2
-rw-r--r--main/src/cgeo/geocaching/geopoint/GeopointFormatter.java1
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java52
-rw-r--r--main/src/cgeo/geocaching/sorting/PopularityComparator.java6
-rw-r--r--main/src/cgeo/geocaching/sorting/RatingComparator.java6
-rw-r--r--main/src/cgeo/geocaching/sorting/VisitComparator.java3
-rw-r--r--main/src/cgeo/geocaching/sorting/VoteComparator.java11
28 files changed, 108 insertions, 178 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 8a15ba9..4da2b71 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -1135,9 +1135,9 @@ public class CacheDetailActivity extends AbstractActivity {
}
// rating
- if (cache.getRating() != null && cache.getRating() > 0) {
+ if (cache.getRating() > 0) {
final RelativeLayout itemLayout = addStarRating(R.string.cache_rating, cache.getRating());
- if (cache.getVotes() != null) {
+ if (cache.getVotes() > 0) {
final TextView itemAddition = (TextView) itemLayout.findViewById(R.id.addition);
itemAddition.setText("(" + cache.getVotes() + ")");
itemAddition.setVisibility(View.VISIBLE);
@@ -1145,12 +1145,10 @@ public class CacheDetailActivity extends AbstractActivity {
}
// favourite count
- if (cache.getFavouriteCnt() != null) {
- addCacheDetail(R.string.cache_favourite, String.format("%d", cache.getFavouriteCnt()) + "×");
- }
+ addCacheDetail(R.string.cache_favourite, String.format("%d", cache.getFavoritePoints()) + "×");
// own rating
- if (cache.getMyVote() != null && cache.getMyVote() > 0) {
+ if (cache.getMyVote() > 0) {
addStarRating(R.string.cache_own_rating, cache.getMyVote());
}
@@ -2016,7 +2014,7 @@ public class CacheDetailActivity extends AbstractActivity {
if (cgBase.logTypes1.containsKey(log.type)) {
((TextView) rowView.findViewById(R.id.type)).setText(cgBase.logTypes1.get(log.type));
} else {
- ((TextView) rowView.findViewById(R.id.type)).setText(cgBase.logTypes1.get(4)); // note if type is unknown
+ ((TextView) rowView.findViewById(R.id.type)).setText(cgBase.logTypes1.get(cgBase.LOG_NOTE)); // note if type is unknown
}
((TextView) rowView.findViewById(R.id.author)).setText(StringEscapeUtils.unescapeHtml4(log.author));
diff --git a/main/src/cgeo/geocaching/ICache.java b/main/src/cgeo/geocaching/ICache.java
index 6f87dc4..4d43e9b 100644
--- a/main/src/cgeo/geocaching/ICache.java
+++ b/main/src/cgeo/geocaching/ICache.java
@@ -97,7 +97,7 @@ public interface ICache extends IBasicCache {
* @return number of favorite points
*
*/
- public Integer getFavoritePoints();
+ public int getFavoritePoints();
/**
* @return true if the cache is on the watchlist of the user
diff --git a/main/src/cgeo/geocaching/activity/ActivityMixin.java b/main/src/cgeo/geocaching/activity/ActivityMixin.java
index fee0b63..6286a6b 100644
--- a/main/src/cgeo/geocaching/activity/ActivityMixin.java
+++ b/main/src/cgeo/geocaching/activity/ActivityMixin.java
@@ -139,7 +139,7 @@ public final class ActivityMixin {
List<Integer> logTypes = cache.getPossibleLogTypes();
for (Integer logType : logTypes) {
String label = cgBase.logTypes2.get(logType);
- logMenu.add(1, IAbstractActivity.MENU_LOG_VISIT_OFFLINE + logType, 0, label);
+ logMenu.add(1, IAbstractActivity.MENU_LOG_VISIT_OFFLINE + logType.intValue(), 0, label);
}
logMenu.add(1, IAbstractActivity.MENU_LOG_VISIT, 0, res.getString(R.string.cache_menu_visit));
}
diff --git a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
index c1691f2..e478ef1 100644
--- a/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
+++ b/main/src/cgeo/geocaching/apps/AbstractLocusApp.java
@@ -121,7 +121,7 @@ public abstract class AbstractLocusApp extends AbstractApp {
pg.name = cache.getName();
pg.placedBy = cache.getOwner();
if (cache.getHiddenDate() != null) {
- pg.hidden = ISO8601DATE.format(cache.getHiddenDate().getTime());
+ pg.hidden = ISO8601DATE.format(Long.valueOf(cache.getHiddenDate().getTime()));
}
int locusId = toLocusId(cache.getType());
if (locusId != NO_LOCUS_ID) {
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index 8dcac64..7221549 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -672,7 +672,7 @@ public class cgBase {
try {
result = BaseUtils.getMatch(row, GCConstants.PATTERN_SEARCH_FAVORITE, false, 1, null, true);
if (null != result) {
- cache.setFavouriteCnt(Integer.parseInt(result));
+ cache.setFavouritePoints(Integer.parseInt(result));
}
} catch (NumberFormatException e) {
Log.w(Settings.tag, "cgeoBase.parseSearch: Failed to parse favourite count");
@@ -999,7 +999,7 @@ public class cgBase {
}
// favourite
- cache.setFavouriteCnt(Integer.parseInt(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_FAVORITECOUNT, true, "0")));
+ cache.setFavouritePoints(Integer.parseInt(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_FAVORITECOUNT, true, "0")));
// cache size
cache.setSize(CacheSize.getById(BaseUtils.getMatch(tableInside, GCConstants.PATTERN_SIZE, true, CacheSize.NOT_CHOSEN.id).toLowerCase()));
@@ -1422,7 +1422,7 @@ public class cgBase {
if (cache.getHiddenDate() == null) {
Log.e(Settings.tag, "hidden not parsed correctly");
}
- if (cache.getFavouriteCnt() == null) {
+ if (cache.getFavoritePoints() < 0) {
Log.e(Settings.tag, "favoriteCount not parsed correctly");
}
if (cache.getSize() == null) {
@@ -1602,7 +1602,6 @@ public class cgBase {
trackable.setDistance(DistanceParser.parseDistance(distance, Settings.isUseMetricUnits()));
}
} catch (NumberFormatException e) {
- trackable.setDistance(null);
throw e;
}
diff --git a/main/src/cgeo/geocaching/cgCache.java b/main/src/cgeo/geocaching/cgCache.java
index b89563b..e2ce4cb 100644
--- a/main/src/cgeo/geocaching/cgCache.java
+++ b/main/src/cgeo/geocaching/cgCache.java
@@ -47,7 +47,7 @@ public class cgCache implements ICache {
private long updated = 0;
private long detailedUpdate = 0;
- private Long visitedDate = null;
+ private long visitedDate = 0;
private int reason = 0;
private boolean detailed = false;
private String geocode = "";
@@ -79,10 +79,10 @@ public class cgCache implements ICache {
private boolean found = false;
private boolean favourite = false;
private boolean own = false;
- private Integer favouriteCnt = null;
- private Float rating = null;
- private Integer votes = null;
- private Float myVote = null;
+ private int favouritePoints = 0;
+ private float rating = 0; // valid ratings are larger than zero
+ private int votes = 0;
+ private float myVote = 0; // valid ratings are larger than zero
private int inventoryItems = 0;
private boolean onWatchlist = false;
private List<String> attributes = null;
@@ -116,7 +116,7 @@ public class cgCache implements ICache {
detailedUpdate = updated;
}
- if (visitedDate == null || visitedDate == 0) {
+ if (visitedDate == 0) {
visitedDate = other.getVisitedDate();
}
if (reason == 0) {
@@ -188,16 +188,16 @@ public class cgCache implements ICache {
if (StringUtils.isBlank(description)) {
description = other.description;
}
- if (favouriteCnt == null) {
- favouriteCnt = other.getFavouriteCnt();
+ if (favouritePoints == 0) {
+ favouritePoints = other.getFavoritePoints();
}
- if (rating == null) {
+ if (rating == 0) {
rating = other.getRating();
}
- if (votes == null) {
+ if (votes == 0) {
votes = other.votes;
}
- if (myVote == null) {
+ if (myVote == 0) {
myVote = other.getMyVote();
}
if (attributes == null) {
@@ -570,8 +570,8 @@ public class cgCache implements ICache {
}
@Override
- public Integer getFavoritePoints() {
- return favouriteCnt;
+ public int getFavoritePoints() {
+ return favouritePoints;
}
@Override
@@ -613,11 +613,11 @@ public class cgCache implements ICache {
this.detailedUpdate = detailedUpdate;
}
- public Long getVisitedDate() {
+ public long getVisitedDate() {
return visitedDate;
}
- public void setVisitedDate(Long visitedDate) {
+ public void setVisitedDate(long visitedDate) {
this.visitedDate = visitedDate;
}
@@ -726,35 +726,31 @@ public class cgCache implements ICache {
this.favourite = favourite;
}
- public Integer getFavouriteCnt() {
- return favouriteCnt;
+ public void setFavouritePoints(int favouriteCnt) {
+ this.favouritePoints = favouriteCnt;
}
- public void setFavouriteCnt(Integer favouriteCnt) {
- this.favouriteCnt = favouriteCnt;
- }
-
- public Float getRating() {
+ public float getRating() {
return rating;
}
- public void setRating(Float rating) {
+ public void setRating(float rating) {
this.rating = rating;
}
- public Integer getVotes() {
+ public int getVotes() {
return votes;
}
- public void setVotes(Integer votes) {
+ public void setVotes(int votes) {
this.votes = votes;
}
- public Float getMyVote() {
+ public float getMyVote() {
return myVote;
}
- public void setMyVote(Float myVote) {
+ public void setMyVote(float myVote) {
this.myVote = myVote;
}
diff --git a/main/src/cgeo/geocaching/cgCacheListAdapter.java b/main/src/cgeo/geocaching/cgCacheListAdapter.java
index 48cc5cb..5578299 100644
--- a/main/src/cgeo/geocaching/cgCacheListAdapter.java
+++ b/main/src/cgeo/geocaching/cgCacheListAdapter.java
@@ -513,11 +513,7 @@ public class cgCacheListAdapter extends ArrayAdapter<cgCache> {
}
}
- if (cache.getFavouriteCnt() != null) {
- holder.favourite.setText(String.format("%d", cache.getFavouriteCnt()));
- } else {
- holder.favourite.setText("---");
- }
+ holder.favourite.setText(String.format("%d", cache.getFavoritePoints()));
int favoriteBack;
// set default background, neither vote nor rating may be available
@@ -526,8 +522,8 @@ public class cgCacheListAdapter extends ArrayAdapter<cgCache> {
} else {
favoriteBack = R.drawable.favourite_background_dark;
}
- if (cache.getMyVote() != null) {
- float myVote = cache.getMyVote();
+ float myVote = cache.getMyVote();
+ if (myVote > 0) { // use my own rating for display, if I have voted
if (myVote >= 4) {
favoriteBack = ratingBcgs[2];
} else if (myVote >= 3) {
@@ -535,7 +531,7 @@ public class cgCacheListAdapter extends ArrayAdapter<cgCache> {
} else if (myVote > 0) {
favoriteBack = ratingBcgs[0];
}
- } else if (cache.getRating() != null) {
+ } else {
float rating = cache.getRating();
if (rating >= 3.5) {
favoriteBack = ratingBcgs[2];
@@ -548,7 +544,7 @@ public class cgCacheListAdapter extends ArrayAdapter<cgCache> {
holder.favourite.setBackgroundResource(favoriteBack);
StringBuilder cacheInfo = new StringBuilder(50);
- if (historic && cache.getVisitedDate() != null) {
+ if (historic && cache.getVisitedDate() > 0) {
cacheInfo.append(cgBase.formatTime(cache.getVisitedDate()));
cacheInfo.append("; ");
cacheInfo.append(cgBase.formatDate(cache.getVisitedDate()));
diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java
index 96bb811..3857df7 100644
--- a/main/src/cgeo/geocaching/cgData.java
+++ b/main/src/cgeo/geocaching/cgData.java
@@ -1257,7 +1257,7 @@ public class cgData {
values.put("shortdesc", cache.getShortdesc());
values.put("personal_note", cache.getPersonalNote());
values.put("description", cache.getDescription());
- values.put("favourite_cnt", cache.getFavouriteCnt());
+ values.put("favourite_cnt", cache.getFavoritePoints());
values.put("rating", cache.getRating());
values.put("votes", cache.getVotes());
values.put("myvote", cache.getMyVote());
@@ -1731,12 +1731,12 @@ public class cgData {
return true;
}
- public List<Object> getBounds(Object[] geocodes) {
+ public List<Number> getBounds(Object[] geocodes) {
init();
Cursor cursor = null;
- final List<Object> viewport = new ArrayList<Object>();
+ final List<Number> viewport = new ArrayList<Number>();
try {
final StringBuilder where = new StringBuilder();
@@ -2101,7 +2101,7 @@ public class cgData {
cache.setPersonalNote(cursor.getString(cacheColumnIndex[23]));
cache.setShortdesc(cursor.getString(cacheColumnIndex[24]));
// do not set cache.description !
- cache.setFavouriteCnt(cursor.getInt(cacheColumnIndex[25]));
+ cache.setFavouritePoints(cursor.getInt(cacheColumnIndex[25]));
cache.setRating(cursor.getFloat(cacheColumnIndex[26]));
cache.setVotes(cursor.getInt(cacheColumnIndex[27]));
cache.setMyVote(cursor.getFloat(cacheColumnIndex[28]));
diff --git a/main/src/cgeo/geocaching/cgGeo.java b/main/src/cgeo/geocaching/cgGeo.java
index edeb1b6..e008aa7 100644
--- a/main/src/cgeo/geocaching/cgGeo.java
+++ b/main/src/cgeo/geocaching/cgGeo.java
@@ -30,8 +30,8 @@ public class cgGeo {
public LocationProviderType locationProvider = LocationProviderType.LAST;
public Geopoint coordsNow = null;
public Double altitudeNow = null;
- public Float bearingNow = null;
- public Float speedNow = null;
+ public float bearingNow = 0;
+ public float speedNow = 0;
public float accuracyNow = -1f;
public int satellitesVisible = 0;
public int satellitesFixed = 0;
diff --git a/main/src/cgeo/geocaching/cgLog.java b/main/src/cgeo/geocaching/cgLog.java
index 7e81897..0a719df 100644
--- a/main/src/cgeo/geocaching/cgLog.java
+++ b/main/src/cgeo/geocaching/cgLog.java
@@ -4,7 +4,7 @@ import java.util.List;
public class cgLog {
public int id = 0;
- public int type = 4; // note
+ public int type = cgBase.LOG_NOTE; // note
public String author = "";
public String log = "";
public long date = 0;
diff --git a/main/src/cgeo/geocaching/cgTrackable.java b/main/src/cgeo/geocaching/cgTrackable.java
index b8c8958..95446d0 100644
--- a/main/src/cgeo/geocaching/cgTrackable.java
+++ b/main/src/cgeo/geocaching/cgTrackable.java
@@ -23,7 +23,7 @@ public class cgTrackable implements ILogable {
private String name = "";
private String type = null;
private Date released = null;
- private Float distance = null;
+ private float distance = -1;
private String origin = null;
private String owner = null;
private String ownerGuid = null;
@@ -106,11 +106,11 @@ public class cgTrackable implements ILogable {
}
}
- public Float getDistance() {
+ public float getDistance() {
return distance;
}
- public void setDistance(Float distance) {
+ public void setDistance(float distance) {
this.distance = distance;
}
diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java
index 525d935..d2a1766 100644
--- a/main/src/cgeo/geocaching/cgeo.java
+++ b/main/src/cgeo/geocaching/cgeo.java
@@ -49,7 +49,7 @@ public class cgeo extends AbstractActivity {
private static final int SCAN_REQUEST_CODE = 1;
private static final int MENU_OPEN_LIST = 100;
- private Integer version = null;
+ private int version = 0;
private cgGeo geo = null;
private UpdateLocationCallback geoUpdate = new update();
private TextView navType = null;
@@ -721,7 +721,7 @@ public class cgeo extends AbstractActivity {
app.cleanDatabase(more);
cleanupRunning = false;
- if (version != null && version > 0) {
+ if (version > 0) {
SharedPreferences.Editor edit = prefs.edit();
edit.putInt("version", version);
edit.commit();
diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java
index cdd5b23..f75d51d 100644
--- a/main/src/cgeo/geocaching/cgeoapplication.java
+++ b/main/src/cgeo/geocaching/cgeoapplication.java
@@ -376,7 +376,7 @@ public class cgeoapplication extends Application {
return getStorage().allDetailedThere();
}
- public List<Object> getBounds(String geocode) {
+ public List<Number> getBounds(String geocode) {
if (geocode == null) {
return null;
}
@@ -387,7 +387,7 @@ public class cgeoapplication extends Application {
return getBounds(geocodeList);
}
- public List<Object> getBounds(final cgSearch search) {
+ public List<Number> getBounds(final cgSearch search) {
if (search == null) {
return null;
}
@@ -401,7 +401,7 @@ public class cgeoapplication extends Application {
return getBounds(geocodeList);
}
- public List<Object> getBounds(final List<String> geocodes) {
+ public List<Number> getBounds(final List<String> geocodes) {
if (CollectionUtils.isEmpty(geocodes)) {
return null;
}
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java
index db26870..948ef0d 100644
--- a/main/src/cgeo/geocaching/cgeocaches.java
+++ b/main/src/cgeo/geocaching/cgeocaches.java
@@ -1761,13 +1761,9 @@ public class cgeocaches extends AbstractListActivity {
adapter.setActualCoordinates(geo.coordsNow);
}
- if (!Settings.isUseCompass() || (geo.speedNow != null && geo.speedNow > 5)) { // use GPS when speed is higher than 18 km/h
+ if (!Settings.isUseCompass() || geo.speedNow > 5) { // use GPS when speed is higher than 18 km/h
if (!Settings.isUseCompass()) {
- if (geo.bearingNow != null) {
- adapter.setActualHeading(geo.bearingNow);
- } else {
- adapter.setActualHeading(0f);
- }
+ adapter.setActualHeading(geo.bearingNow);
}
if (northHeading != null) {
adapter.setActualHeading(northHeading);
@@ -1791,7 +1787,7 @@ public class cgeocaches extends AbstractListActivity {
}
northHeading = dir.directionNow;
- if (northHeading != null && adapter != null && (geo == null || geo.speedNow == null || geo.speedNow <= 5)) { // use compass when speed is lower than 18 km/h) {
+ if (northHeading != null && adapter != null && (geo == null || geo.speedNow <= 5)) { // use compass when speed is lower than 18 km/h) {
adapter.setActualHeading(northHeading);
}
}
@@ -2426,7 +2422,7 @@ public class cgeocaches extends AbstractListActivity {
@Override
public void run(final Integer arg) {
- switchListById(arg);
+ switchListById(arg.intValue());
}
});
}
diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/cgeonavigate.java
index 71227f5..a313659 100644
--- a/main/src/cgeo/geocaching/cgeonavigate.java
+++ b/main/src/cgeo/geocaching/cgeonavigate.java
@@ -387,12 +387,8 @@ public class cgeonavigate extends AbstractActivity {
navLocation.setText(res.getString(R.string.loc_trying));
}
- if (!Settings.isUseCompass() || (geo.speedNow != null && geo.speedNow > 5)) { // use GPS when speed is higher than 18 km/h
- if (geo.bearingNow != null) {
- northHeading = geo.bearingNow;
- } else {
- northHeading = 0f;
- }
+ if (!Settings.isUseCompass() || geo.speedNow > 5) { // use GPS when speed is higher than 18 km/h
+ northHeading = geo.bearingNow;
}
} catch (Exception e) {
Log.w(Settings.tag, "Failed to update location.");
@@ -408,7 +404,7 @@ public class cgeonavigate extends AbstractActivity {
return;
}
- if (geo == null || geo.speedNow == null || geo.speedNow <= 5) { // use compass when speed is lower than 18 km/h
+ if (geo == null || geo.speedNow <= 5) { // use compass when speed is lower than 18 km/h
northHeading = dir.directionNow;
}
}
diff --git a/main/src/cgeo/geocaching/cgeopoint.java b/main/src/cgeo/geocaching/cgeopoint.java
index 9b8d1bb..a7906bf 100644
--- a/main/src/cgeo/geocaching/cgeopoint.java
+++ b/main/src/cgeo/geocaching/cgeopoint.java
@@ -522,13 +522,10 @@ public class cgeopoint extends AbstractActivity {
if (StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) {
// bearing & distance
- Double bearing = null;
+ double bearing = 0;
try {
- bearing = new Double(bearingText);
- } catch (Exception e) {
- // probably not a number
- }
- if (bearing == null) {
+ bearing = Double.parseDouble(bearingText);
+ } catch (NumberFormatException e) {
helpDialog(res.getString(R.string.err_point_bear_and_dist_title), res.getString(R.string.err_point_bear_and_dist));
return null;
}
diff --git a/main/src/cgeo/geocaching/cgeopopup.java b/main/src/cgeo/geocaching/cgeopopup.java
index 3071e80..dc9a842 100644
--- a/main/src/cgeo/geocaching/cgeopopup.java
+++ b/main/src/cgeo/geocaching/cgeopopup.java
@@ -354,7 +354,7 @@ public class cgeopopup extends AbstractActivity {
}
// rating
- if (cache.getRating() != null && cache.getRating() > 0) {
+ if (cache.getRating() > 0) {
setRating(cache.getRating(), cache.getVotes());
} else {
if (Settings.isRatingWanted() && cache.supportsGCVote()) {
@@ -602,8 +602,8 @@ public class cgeopopup extends AbstractActivity {
}
}
- private void setRating(Float rating, Integer votes) {
- if (rating == null || rating <= 0) {
+ private void setRating(float rating, int votes) {
+ if (rating <= 0) {
return;
}
@@ -622,7 +622,7 @@ public class cgeopopup extends AbstractActivity {
itemValue.setText(String.format("%.1f", rating) + ' ' + res.getString(R.string.cache_rating_of) + " 5");
itemStars.addView(cgBase.createStarRating(rating, 5, this), 1);
- if (votes != null) {
+ if (votes > 0) {
final TextView itemAddition = (TextView) itemLayout.findViewById(R.id.addition);
itemAddition.setText("(" + votes + ")");
itemAddition.setVisibility(View.VISIBLE);
diff --git a/main/src/cgeo/geocaching/cgeotrackable.java b/main/src/cgeo/geocaching/cgeotrackable.java
index dd0f358..05486fb 100644
--- a/main/src/cgeo/geocaching/cgeotrackable.java
+++ b/main/src/cgeo/geocaching/cgeotrackable.java
@@ -156,7 +156,7 @@ public class cgeotrackable extends AbstractActivity {
}
// trackable distance
- if (trackable.getDistance() != null) {
+ if (trackable.getDistance() >= 0) {
addDetail(R.string.trackable_distance, cgBase.getHumanDistance(trackable.getDistance()));
}
diff --git a/main/src/cgeo/geocaching/cgeowaypointadd.java b/main/src/cgeo/geocaching/cgeowaypointadd.java
index 8d795b0..2216ffd 100644
--- a/main/src/cgeo/geocaching/cgeowaypointadd.java
+++ b/main/src/cgeo/geocaching/cgeowaypointadd.java
@@ -246,10 +246,6 @@ public class cgeowaypointadd extends AbstractActivity {
private class coordsListener implements View.OnClickListener {
public void onClick(View arg0) {
- List<Double> coords = new ArrayList<Double>();
- Double latitude = null;
- Double longitude = null;
-
final String bearingText = ((EditText) findViewById(R.id.bearing)).getText().toString();
final String distanceText = ((EditText) findViewById(R.id.distance)).getText().toString();
final String latText = ((Button) findViewById(R.id.buttonLatitude)).getText().toString();
@@ -261,6 +257,9 @@ public class cgeowaypointadd extends AbstractActivity {
return;
}
+ double latitude;
+ double longitude;
+
if (StringUtils.isNotBlank(latText) && StringUtils.isNotBlank(lonText)) {
try {
latitude = GeopointParser.parseLatitude(latText);
@@ -279,15 +278,13 @@ public class cgeowaypointadd extends AbstractActivity {
longitude = geo.coordsNow.getLongitude();
}
+ Geopoint coords = null;
if (StringUtils.isNotBlank(bearingText) && StringUtils.isNotBlank(distanceText)) {
// bearing & distance
- Double bearing = null;
+ double bearing = 0;
try {
- bearing = new Double(bearingText);
- } catch (Exception e) {
- // probably not a number
- }
- if (bearing == null) {
+ bearing = Double.parseDouble(bearingText);
+ } catch (NumberFormatException e) {
helpDialog(res.getString(R.string.err_point_bear_and_dist_title), res.getString(R.string.err_point_bear_and_dist));
return;
}
@@ -300,27 +297,9 @@ public class cgeowaypointadd extends AbstractActivity {
return;
}
- Double latParsed = null;
- Double lonParsed = null;
-
- final Geopoint coordsDst = new Geopoint(latitude, longitude).project(bearing, distance);
-
- latParsed = coordsDst.getLatitude();
- lonParsed = coordsDst.getLongitude();
-
- if (latParsed == null || lonParsed == null) {
- showToast(res.getString(R.string.err_point_location_error));
- return;
- }
-
- coords.add(0, latParsed);
- coords.add(1, lonParsed);
- } else if (latitude != null && longitude != null) {
- coords.add(0, latitude);
- coords.add(1, longitude);
+ coords = new Geopoint(latitude, longitude).project(bearing, distance);
} else {
- showToast(res.getString(R.string.err_point_location_error));
- return;
+ coords = new Geopoint(latitude, longitude);
}
String name = ((EditText) findViewById(R.id.name)).getText().toString().trim();
@@ -336,7 +315,7 @@ public class cgeowaypointadd extends AbstractActivity {
waypoint.setPrefix(prefix);
waypoint.setLookup(lookup);
waypoint.setName(name);
- waypoint.setCoords(new Geopoint(coords.get(0), coords.get(1)));
+ waypoint.setCoords(coords);
waypoint.setNote(note);
if (app.saveOwnWaypoint(id, geocode, waypoint)) {
diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java
index c2e6ac4..15d1924 100644
--- a/main/src/cgeo/geocaching/compatibility/Compatibility.java
+++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java
@@ -36,7 +36,7 @@ public final class Compatibility {
}
}
- public static Float getDirectionNow(final Float directionNowPre,
+ public static float getDirectionNow(final float directionNowPre,
final Activity activity) {
if (isLevel8) {
try {
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java
index 3ba9ae2..54f0d8f 100644
--- a/main/src/cgeo/geocaching/connector/AbstractConnector.java
+++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java
@@ -55,7 +55,7 @@ public abstract class AbstractConnector implements IConnector {
protected static boolean isNumericId(final String string) {
try {
- return Integer.valueOf(string) > 0;
+ return Integer.parseInt(string) > 0;
} catch (NumberFormatException e) {
}
return false;
diff --git a/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java b/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java
index 279097d..f3c192d 100644
--- a/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java
+++ b/main/src/cgeo/geocaching/connector/opencaching/OkapiClient.java
@@ -147,7 +147,7 @@ final public class OkapiClient {
}
cache.setVotes(response.getInt(CACHE_VOTES));
- cache.setFavouriteCnt(response.getInt(CACHE_RECOMMENDATIONS));
+ cache.setFavouritePoints(response.getInt(CACHE_RECOMMENDATIONS));
// not used: req_password
cache.setDescription(response.getString(CACHE_DESCRIPTION));
cache.setHint(Html.fromHtml(response.getString(CACHE_HINT)).toString());
diff --git a/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java b/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java
index c4cfb8c..1aad335 100644
--- a/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java
+++ b/main/src/cgeo/geocaching/geopoint/GeopointFormatter.java
@@ -54,6 +54,7 @@ public class GeopointFormatter
* one of the predefined formats
* @return the formatted coordinates
*/
+ @SuppressWarnings("boxing")
public static String format(final Format format, final Geopoint gp)
{
final double latSigned = gp.getLatitude();
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index 3999413..5798e5e 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -653,7 +653,7 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
}
});
- Float etaTime = Float.valueOf((detailTotal * (float) 7) / 60);
+ float etaTime = detailTotal * 7.0f / 60.0f;
if (etaTime < 0.4) {
waitDialog.setMessage(res.getString(R.string.caches_downloading) + " " + res.getString(R.string.caches_eta_ltm));
} else if (etaTime < 1.5) {
@@ -783,12 +783,8 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
}
}
- if (!Settings.isUseCompass() || (geo.speedNow != null && geo.speedNow > 5)) { // use GPS when speed is higher than 18 km/h
- if (geo.bearingNow != null) {
- overlayPosition.setHeading(geo.bearingNow);
- } else {
- overlayPosition.setHeading(0f);
- }
+ if (!Settings.isUseCompass() || geo.speedNow > 5) { // use GPS when speed is higher than 18 km/h
+ overlayPosition.setHeading(geo.bearingNow);
repaintRequired = true;
}
@@ -811,7 +807,7 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
return;
}
- if (overlayPosition != null && mapView != null && (geo == null || geo.speedNow == null || geo.speedNow <= 5)) { // use compass when speed is lower than 18 km/h
+ if (overlayPosition != null && mapView != null && (geo == null || geo.speedNow <= 5)) { // use compass when speed is lower than 18 km/h
overlayPosition.setHeading(dir.directionNow);
mapView.repaintRequired(overlayPosition);
}
@@ -1668,7 +1664,7 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
if (!app.isOffline(geocode, null)) {
if ((System.currentTimeMillis() - last) < 1500) {
try {
- int delay = 1000 + ((Double) (Math.random() * 1000)).intValue() - (int) (System.currentTimeMillis() - last);
+ int delay = 1000 + (int) (Math.random() * 1000.0) - (int) (System.currentTimeMillis() - last);
if (delay < 0) {
delay = 500;
}
@@ -1739,7 +1735,7 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
alreadyCentered = true;
} else if (!centered && (geocodeCenter != null || searchIntent != null)) {
try {
- List<Object> viewport = null;
+ List<Number> viewport = null;
if (geocodeCenter != null) {
viewport = app.getBounds(geocodeCenter);
@@ -1747,32 +1743,18 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
viewport = app.getBounds(searchCenter);
}
- if (viewport == null) {
+ if (viewport == null || viewport.size() < 5) {
return;
}
- Integer cnt = (Integer) viewport.get(0);
- Integer minLat = null;
- Integer maxLat = null;
- Integer minLon = null;
- Integer maxLon = null;
-
- if (viewport.get(1) != null) {
- minLat = (int) ((Double) viewport.get(1) * 1e6);
- }
- if (viewport.get(2) != null) {
- maxLat = (int) ((Double) viewport.get(2) * 1e6);
- }
- if (viewport.get(3) != null) {
- maxLon = (int) ((Double) viewport.get(3) * 1e6);
- }
- if (viewport.get(4) != null) {
- minLon = (int) ((Double) viewport.get(4) * 1e6);
- }
-
- if (cnt == null || cnt <= 0 || minLat == null || maxLat == null || minLon == null || maxLon == null) {
+ int cnt = (Integer) viewport.get(0);
+ if (cnt <= 0) {
return;
}
+ int minLat = (int) ((Double) viewport.get(1) * 1e6);
+ int maxLat = (int) ((Double) viewport.get(2) * 1e6);
+ int maxLon = (int) ((Double) viewport.get(3) * 1e6);
+ int minLon = (int) ((Double) viewport.get(4) * 1e6);
int centerLat = 0;
int centerLon = 0;
@@ -1788,11 +1770,9 @@ public class CGeoMap extends AbstractMap implements OnDragListener, ViewFactory
centerLon = maxLon;
}
- if (cnt > 0) {
- mapController.setCenter(mapProvider.getGeoPointBase(new Geopoint(centerLat, centerLon)));
- if (Math.abs(maxLat - minLat) != 0 && Math.abs(maxLon - minLon) != 0) {
- mapController.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon));
- }
+ mapController.setCenter(mapProvider.getGeoPointBase(new Geopoint(centerLat, centerLon)));
+ if (Math.abs(maxLat - minLat) != 0 && Math.abs(maxLon - minLon) != 0) {
+ mapController.zoomToSpan(Math.abs(maxLat - minLat), Math.abs(maxLon - minLon));
}
} catch (Exception e) {
// nothing at all
diff --git a/main/src/cgeo/geocaching/sorting/PopularityComparator.java b/main/src/cgeo/geocaching/sorting/PopularityComparator.java
index 5d3507c..9fe254a 100644
--- a/main/src/cgeo/geocaching/sorting/PopularityComparator.java
+++ b/main/src/cgeo/geocaching/sorting/PopularityComparator.java
@@ -10,14 +10,14 @@ public class PopularityComparator extends AbstractCacheComparator {
@Override
protected boolean canCompare(cgCache cache1, cgCache cache2) {
- return cache1.getFavouriteCnt() != null && cache2.getFavouriteCnt() != null;
+ return true;
}
@Override
protected int compareCaches(cgCache cache1, cgCache cache2) {
- if (cache1.getFavouriteCnt() < cache2.getFavouriteCnt()) {
+ if (cache1.getFavoritePoints() < cache2.getFavoritePoints()) {
return 1;
- } else if (cache2.getFavouriteCnt() < cache1.getFavouriteCnt()) {
+ } else if (cache2.getFavoritePoints() < cache1.getFavoritePoints()) {
return -1;
}
return 0;
diff --git a/main/src/cgeo/geocaching/sorting/RatingComparator.java b/main/src/cgeo/geocaching/sorting/RatingComparator.java
index 3c0fc02..935ccd8 100644
--- a/main/src/cgeo/geocaching/sorting/RatingComparator.java
+++ b/main/src/cgeo/geocaching/sorting/RatingComparator.java
@@ -10,13 +10,13 @@ public class RatingComparator extends AbstractCacheComparator {
@Override
protected boolean canCompare(cgCache cache1, cgCache cache2) {
- return cache1.getRating() != null && cache2.getRating() != null;
+ return true;
}
@Override
protected int compareCaches(cgCache cache1, cgCache cache2) {
- Float rating1 = cache1.getRating();
- Float rating2 = cache2.getRating();
+ float rating1 = cache1.getRating();
+ float rating2 = cache2.getRating();
// voting can be disabled for caches, then assume an average rating instead
if (rating1 == 0.0) {
diff --git a/main/src/cgeo/geocaching/sorting/VisitComparator.java b/main/src/cgeo/geocaching/sorting/VisitComparator.java
index ba5e07f..a580f2a 100644
--- a/main/src/cgeo/geocaching/sorting/VisitComparator.java
+++ b/main/src/cgeo/geocaching/sorting/VisitComparator.java
@@ -10,8 +10,7 @@ public class VisitComparator extends AbstractCacheComparator {
@Override
protected boolean canCompare(cgCache cache1, cgCache cache2) {
- return cache1.getVisitedDate() != null && cache1.getVisitedDate() > 0
- && cache2.getVisitedDate() != null && cache2.getVisitedDate() > 0;
+ return cache1.getVisitedDate() > 0 && cache2.getVisitedDate() > 0;
}
@Override
diff --git a/main/src/cgeo/geocaching/sorting/VoteComparator.java b/main/src/cgeo/geocaching/sorting/VoteComparator.java
index 2145361..82ebdd3 100644
--- a/main/src/cgeo/geocaching/sorting/VoteComparator.java
+++ b/main/src/cgeo/geocaching/sorting/VoteComparator.java
@@ -18,15 +18,8 @@ public class VoteComparator extends AbstractCacheComparator {
@Override
protected int compareCaches(cgCache cache1, cgCache cache2) {
// if there is no vote available, put that cache at the end of the list
- float vote1 = 0;
- if (cache1.getMyVote() != null) {
- vote1 = cache1.getMyVote();
- }
-
- float vote2 = 0;
- if (cache2.getMyVote() != null) {
- vote2 = cache2.getMyVote();
- }
+ float vote1 = cache1.getMyVote();
+ float vote2 = cache2.getMyVote();
// compare
if (vote1 < vote2) {