From 0d547cc8c65595c152b1168688b5b92515038e90 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Thu, 12 Apr 2012 19:06:27 +0200 Subject: more fixes for crashes in search --- main/src/cgeo/geocaching/SearchResult.java | 4 ++++ main/src/cgeo/geocaching/cgeoapplication.java | 6 ++---- main/src/cgeo/geocaching/connector/gc/GCBase.java | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'main/src/cgeo') diff --git a/main/src/cgeo/geocaching/SearchResult.java b/main/src/cgeo/geocaching/SearchResult.java index f7458fe..556ef32 100644 --- a/main/src/cgeo/geocaching/SearchResult.java +++ b/main/src/cgeo/geocaching/SearchResult.java @@ -200,4 +200,8 @@ public class SearchResult implements Parcelable { return cgeoapplication.getInstance().saveCache(cache, EnumSet.of(SaveFlag.SAVE_CACHE)); } + public boolean isEmpty() { + return geocodes.isEmpty(); + } + } diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java index bdad7f0..fdd7592 100644 --- a/main/src/cgeo/geocaching/cgeoapplication.java +++ b/main/src/cgeo/geocaching/cgeoapplication.java @@ -21,6 +21,7 @@ import android.os.Message; import java.io.File; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.EnumSet; import java.util.HashSet; @@ -280,10 +281,7 @@ public class cgeoapplication extends Application { return null; } - Set geocodeList = new HashSet(); - geocodeList.add(geocode); - - return getBounds(geocodeList); + return getBounds(Collections.singleton(geocode)); } /** {@link cgData#getBounds(Set)} */ diff --git a/main/src/cgeo/geocaching/connector/gc/GCBase.java b/main/src/cgeo/geocaching/connector/gc/GCBase.java index 2f79fab..3ecd31a 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCBase.java +++ b/main/src/cgeo/geocaching/connector/gc/GCBase.java @@ -191,7 +191,7 @@ public class GCBase { Geopoint center = viewport.getCenter(); if ((lastSearchViewport == null) || !lastSearchViewport.isInViewport(center)) { SearchResult search = cgBase.searchByCoords(null, center, Settings.getCacheType(), false); - if (search != null) { + if (search != null && !search.isEmpty()) { List bounds = cgeoapplication.getInstance().getBounds(search.getGeocodes()); lastSearchViewport = new Viewport(bounds.get(1).doubleValue(), bounds.get(2).doubleValue(), bounds.get(4).doubleValue(), bounds.get(3).doubleValue()); -- cgit v1.1