aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/apps
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgeo/geocaching/apps')
-rw-r--r--src/cgeo/geocaching/apps/AbstractApp.java3
-rw-r--r--src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/InternalMap.java6
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/LocusApp.java8
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/NavigationApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java9
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/RMapsApp.java3
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/RadarApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java4
-rw-r--r--src/cgeo/geocaching/apps/cachelist/CacheListApp.java3
-rw-r--r--src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java9
-rw-r--r--src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java5
-rw-r--r--src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java5
16 files changed, 57 insertions, 22 deletions
diff --git a/src/cgeo/geocaching/apps/AbstractApp.java b/src/cgeo/geocaching/apps/AbstractApp.java
index 42ce677..190bf5e 100644
--- a/src/cgeo/geocaching/apps/AbstractApp.java
+++ b/src/cgeo/geocaching/apps/AbstractApp.java
@@ -8,6 +8,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import cgeo.geocaching.cgSettings;
+import cgeo.geocaching.utils.CollectionUtils;
public abstract class AbstractApp implements App {
@@ -60,7 +61,7 @@ public abstract class AbstractApp implements App {
final List<ResolveInfo> list = packageManager.queryIntentActivities(
intent, PackageManager.MATCH_DEFAULT_ONLY);
- return list.size() > 0;
+ return (CollectionUtils.isNotEmpty(list));
}
@Override
diff --git a/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java b/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
index 8291365..c184bd0 100644
--- a/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
+++ b/src/cgeo/geocaching/apps/cache/GeneralAppsFactory.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache;
+import org.apache.commons.lang3.ArrayUtils;
+
import android.app.Activity;
import android.content.res.Resources;
import android.util.Log;
@@ -13,7 +15,7 @@ public final class GeneralAppsFactory extends AbstractAppFactory {
private static GeneralApp[] apps = new GeneralApp[] {};
private static GeneralApp[] getGeneralApps(Resources res) {
- if (null == apps || 0 == apps.length) {
+ if (ArrayUtils.isEmpty(apps)) {
apps = new GeneralApp[] { new GccApp(res),
new WhereYouGoApp(res) };
}
diff --git a/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java b/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
index 6b05426..273be5c 100644
--- a/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/GoogleMapsApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -26,7 +28,7 @@ class GoogleMapsApp extends AbstractNavigationApp implements NavigationApp {
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache == null && waypoint == null && latitude == null && longitude == null) {
return false;
}
diff --git a/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java b/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
index b8afb54..4a7a49e 100644
--- a/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/GoogleNavigationApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -28,7 +30,7 @@ class GoogleNavigationApp extends AbstractNavigationApp implements
@Override
public boolean invoke(final cgGeo geo, final Activity activity, final Resources res,
final cgCache cache,
- final Long searchId, final cgWaypoint waypoint, final Double latitude, final Double longitude) {
+ final UUID searchId, final cgWaypoint waypoint, final Double latitude, final Double longitude) {
if (activity == null) {
return false;
}
diff --git a/src/cgeo/geocaching/apps/cache/navi/InternalMap.java b/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
index 4c3d815..513172c 100644
--- a/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
+++ b/src/cgeo/geocaching/apps/cache/navi/InternalMap.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
@@ -19,7 +21,7 @@ class InternalMap extends AbstractInternalMap implements
@Override
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
cgSettings settings = getSettings(activity);
Intent mapIntent = new Intent(activity, settings.getMapFactory().getMapClass());
if (cache != null) {
@@ -28,7 +30,7 @@ class InternalMap extends AbstractInternalMap implements
}
if (searchId != null) {
mapIntent.putExtra("detail", true);
- mapIntent.putExtra("searchid", searchId);
+ mapIntent.putExtra("searchid", searchId.toString());
}
if (waypoint != null) {
mapIntent.putExtra("latitude", waypoint.latitude);
diff --git a/src/cgeo/geocaching/apps/cache/navi/LocusApp.java b/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
index c74e855..11a5ae3 100644
--- a/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/LocusApp.java
@@ -1,6 +1,10 @@
package cgeo.geocaching.apps.cache.navi;
import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
import android.app.Activity;
import android.content.res.Resources;
@@ -8,6 +12,7 @@ import cgeo.geocaching.cgCache;
import cgeo.geocaching.cgGeo;
import cgeo.geocaching.cgWaypoint;
import cgeo.geocaching.apps.AbstractLocusApp;
+import cgeo.geocaching.utils.CollectionUtils;
class LocusApp extends AbstractLocusApp implements NavigationApp {
@@ -24,7 +29,7 @@ class LocusApp extends AbstractLocusApp implements NavigationApp {
*/
@Override
public boolean invoke(cgGeo geo, Activity activity, Resources res, cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache == null && waypoint == null && latitude == null && longitude == null) {
return false;
@@ -42,6 +47,7 @@ class LocusApp extends AbstractLocusApp implements NavigationApp {
if (cache.longitude != null && cache.latitude != null) {
points.add(cache);
}
+
// use only waypoints with coordinates
if (cache.waypoints != null) {
for (cgWaypoint wp : cache.waypoints) {
diff --git a/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java b/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
index 2f52111..db0c1e3 100644
--- a/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/NavigationApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.res.Resources;
import cgeo.geocaching.cgCache;
@@ -11,6 +13,6 @@ interface NavigationApp extends App {
public boolean invoke(final cgGeo geo, final Activity activity,
final Resources res,
final cgCache cache,
- final Long searchId, final cgWaypoint waypoint,
+ final UUID searchId, final cgWaypoint waypoint,
final Double latitude, final Double longitude);
}
diff --git a/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
index e496e33..b8872e3 100644
--- a/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
+++ b/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
@@ -1,6 +1,9 @@
package cgeo.geocaching.apps.cache.navi;
-import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang3.ArrayUtils;
import android.app.Activity;
import android.content.res.Resources;
@@ -17,7 +20,7 @@ public final class NavigationAppFactory extends AbstractAppFactory {
private static NavigationApp[] apps = new NavigationApp[] {};
private static NavigationApp[] getNavigationApps(Resources res) {
- if (null == apps || 0 == apps.length) {
+ if (ArrayUtils.isEmpty(apps)) {
apps = new NavigationApp[] {
// compass
new RadarApp(res),
@@ -44,7 +47,7 @@ public final class NavigationAppFactory extends AbstractAppFactory {
public static boolean onMenuItemSelected(final MenuItem item,
final cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, ArrayList<Double> destination) {
+ final UUID searchId, cgWaypoint waypoint, List<Double> destination) {
NavigationApp app = (NavigationApp) getAppFromMenuItem(item, apps);
if (app != null) {
Double latitude = null;
diff --git a/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java b/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
index 80802ac..8e75aaa 100644
--- a/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/RMapsApp.java
@@ -2,6 +2,7 @@ package cgeo.geocaching.apps.cache.navi;
import java.util.ArrayList;
import java.util.Locale;
+import java.util.UUID;
import android.app.Activity;
import android.content.Intent;
@@ -22,7 +23,7 @@ class RMapsApp extends AbstractNavigationApp implements NavigationApp {
@Override
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache == null && waypoint == null && latitude == null
&& longitude == null) {
return false;
diff --git a/src/cgeo/geocaching/apps/cache/navi/RadarApp.java b/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
index a4aec8c..7dc7676 100644
--- a/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
@@ -27,7 +29,7 @@ class RadarApp extends AbstractNavigationApp implements NavigationApp {
@Override
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache != null) {
if (cache.latitude != null && cache.longitude != null) {
navigateTo(activity, cache.latitude, cache.longitude);
diff --git a/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java b/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
index b6ae8c1..db6b27b 100644
--- a/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/StaticMapApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -26,7 +28,7 @@ class StaticMapApp extends AbstractNavigationApp implements
@Override
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache == null || cache.reason == 0) {
ActivityMixin.showToast(activity, res.getString(R.string.err_detail_no_map_static));
diff --git a/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java b/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
index 24d6606..250bc65 100644
--- a/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
+++ b/src/cgeo/geocaching/apps/cache/navi/StreetviewApp.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.apps.cache.navi;
+import java.util.UUID;
+
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
@@ -25,7 +27,7 @@ class StreetviewApp extends AbstractNavigationApp implements NavigationApp {
public boolean invoke(cgGeo geo, Activity activity, Resources res,
cgCache cache,
- Long searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
+ final UUID searchId, cgWaypoint waypoint, Double latitude, Double longitude) {
if (cache == null && waypoint == null && latitude == null && longitude == null) {
return false;
}
diff --git a/src/cgeo/geocaching/apps/cachelist/CacheListApp.java b/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
index b58358c..74fba64 100644
--- a/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
+++ b/src/cgeo/geocaching/apps/cachelist/CacheListApp.java
@@ -1,6 +1,7 @@
package cgeo.geocaching.apps.cachelist;
import java.util.List;
+import java.util.UUID;
import android.app.Activity;
import android.content.res.Resources;
@@ -12,6 +13,6 @@ interface CacheListApp extends App {
boolean invoke(final cgGeo geo, final List<cgCache> caches,
final Activity activity, final Resources res,
- final Long searchId);
+ final UUID searchId);
}
diff --git a/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java b/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
index 416388d..cb69e17 100644
--- a/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
+++ b/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
@@ -2,6 +2,9 @@ package cgeo.geocaching.apps.cachelist;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang3.ArrayUtils;
import android.app.Activity;
import android.content.res.Resources;
@@ -20,7 +23,7 @@ public final class CacheListAppFactory extends AbstractAppFactory {
private static CacheListApp[] getMultiPointNavigationApps(
Resources res) {
- if (null == apps || 0 == apps.length) {
+ if (ArrayUtils.isEmpty(apps)) {
apps = new CacheListApp[] {
new InternalCacheListMap(res),
new LocusCacheListApp(res) };
@@ -36,7 +39,7 @@ public final class CacheListAppFactory extends AbstractAppFactory {
*/
public static MenuItem addMenuItems(Menu menu,
Activity activity, Resources res) {
- ArrayList<CacheListApp> activeApps = new ArrayList<CacheListApp>();
+ List<CacheListApp> activeApps = new ArrayList<CacheListApp>();
for (CacheListApp app : getMultiPointNavigationApps(res)) {
if (app.isInstalled(activity)) {
activeApps.add(app);
@@ -60,7 +63,7 @@ public final class CacheListAppFactory extends AbstractAppFactory {
public static boolean onMenuItemSelected(final MenuItem item,
final cgGeo geo, final List<cgCache> caches, final Activity activity, final Resources res,
- final Long searchId) {
+ final UUID searchId) {
CacheListApp app = (CacheListApp) getAppFromMenuItem(
item, apps);
if (app != null) {
diff --git a/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java b/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
index 8576aab..2fd418e 100644
--- a/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
+++ b/src/cgeo/geocaching/apps/cachelist/InternalCacheListMap.java
@@ -1,6 +1,7 @@
package cgeo.geocaching.apps.cachelist;
import java.util.List;
+import java.util.UUID;
import android.app.Activity;
import android.content.Context;
@@ -23,11 +24,11 @@ class InternalCacheListMap extends AbstractApp implements CacheListApp {
}
@Override
- public boolean invoke(cgGeo geo, List<cgCache> caches, Activity activity, Resources res, Long searchId) {
+ public boolean invoke(cgGeo geo, List<cgCache> caches, Activity activity, Resources res, final UUID searchId) {
Intent mapIntent = new Intent(activity, getSettings(activity).getMapFactory()
.getMapClass());
mapIntent.putExtra("detail", false); // this is the main difference to the activity for a single point
- mapIntent.putExtra("searchid", searchId);
+ mapIntent.putExtra("searchid", searchId.toString());
activity.startActivity(mapIntent);
return true;
diff --git a/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java b/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
index 9c14d48..3ca3653 100644
--- a/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
+++ b/src/cgeo/geocaching/apps/cachelist/LocusCacheListApp.java
@@ -1,6 +1,9 @@
package cgeo.geocaching.apps.cachelist;
import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
import android.app.Activity;
import android.content.res.Resources;
@@ -22,7 +25,7 @@ class LocusCacheListApp extends AbstractLocusApp implements CacheListApp {
*/
@Override
public boolean invoke(cgGeo geo, List<cgCache> cacheList, Activity activity, Resources res,
- final Long searchId) {
+ final UUID searchId) {
if (cacheList == null || cacheList.isEmpty()) return false;
this.showInLocus((List<? extends Object>) cacheList, activity);