aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/apps
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/apps')
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/AbstractRadarApp.java3
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java13
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java14
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java4
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java6
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/PebbleApp.java50
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java4
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java9
-rw-r--r--main/src/cgeo/geocaching/apps/cachelist/MapsWithMeCacheListApp.java16
9 files changed, 64 insertions, 55 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractRadarApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractRadarApp.java
index 6c6ffda..f31d175 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractRadarApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractRadarApp.java
@@ -9,6 +9,9 @@ import android.content.Intent;
public abstract class AbstractRadarApp extends AbstractPointNavigationApp {
+ protected static final String RADAR_EXTRA_LONGITUDE = "longitude";
+ protected static final String RADAR_EXTRA_LATITUDE = "latitude";
+
private final String intentAction;
protected AbstractRadarApp(final String name, final int id, final String intent, final String packageName) {
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
index 03d2220..c79dfad 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/CompassApp.java
@@ -20,19 +20,18 @@ class CompassApp extends AbstractPointNavigationApp {
}
@Override
- public void navigate(Activity activity, Geopoint coords) {
- CompassActivity.startActivity(activity, getString(R.string.navigation_direct_navigation), getString(R.string.navigation_target), coords, null);
+ public void navigate(final Activity activity, final Geopoint coords) {
+ CompassActivity.startActivityPoint(activity, coords, getString(R.string.navigation_direct_navigation));
}
@Override
- public void navigate(Activity activity, Waypoint waypoint) {
- CompassActivity.startActivity(activity, waypoint.getPrefix() + "/" + waypoint.getLookup(), waypoint.getName(), waypoint.getCoords(), null,
- waypoint.getWaypointType().getL10n());
+ public void navigate(final Activity activity, final Waypoint waypoint) {
+ CompassActivity.startActivityWaypoint(activity, waypoint);
}
@Override
- public void navigate(Activity activity, Geocache cache) {
- CompassActivity.startActivity(activity, cache);
+ public void navigate(final Activity activity, final Geocache cache) {
+ CompassActivity.startActivityCache(activity, cache);
}
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
index 4924786..f5ccef4 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
@@ -1,10 +1,10 @@
package cgeo.geocaching.apps.cache.navi;
import cgeo.geocaching.CgeoApplication;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.R;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.maps.MapProviderFactory;
+import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.utils.Log;
import android.app.Activity;
@@ -23,15 +23,13 @@ public class GoogleMapsDirectionApp extends AbstractPointNavigationApp {
}
@Override
- public void navigate(Activity activity, Geopoint coords) {
+ public void navigate(final Activity activity, final Geopoint coords) {
try {
- IGeoData geo = CgeoApplication.getInstance().currentGeo();
- final Geopoint coordsNow = geo == null ? null : geo.getCoords();
-
- if (coordsNow != null) {
+ 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="
- + coordsNow.getLatitude() + "," + coordsNow.getLongitude() + "&daddr="
+ + geo.getCoords().getLatitude() + "," + geo.getCoords().getLongitude() + "&daddr="
+ coords.getLatitude() + "," + coords.getLongitude())));
} else {
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri
@@ -39,7 +37,7 @@ public class GoogleMapsDirectionApp extends AbstractPointNavigationApp {
+ coords.getLatitude() + "," + coords.getLongitude())));
}
- } catch (Exception e) {
+ } catch (final Exception e) {
Log.i("GoogleMapsDirectionApp: application not available.", e);
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
index c00723d..4d98e42 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/NavigationAppFactory.java
@@ -27,6 +27,10 @@ import java.util.List;
public final class NavigationAppFactory extends AbstractAppFactory {
+ private NavigationAppFactory() {
+ // utility class
+ }
+
public enum NavigationAppsEnum {
/** The internal compass activity */
COMPASS(new CompassApp(), 0, R.string.pref_navigation_menu_compass),
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
index 5d645f7..4dbfadd 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/OruxMapsApp.java
@@ -8,6 +8,8 @@ import android.content.Intent;
class OruxMapsApp extends AbstractPointNavigationApp {
+ private static final String ORUXMAPS_EXTRA_LONGITUDE = "longitude";
+ private static final String ORUXMAPS_EXTRA_LATITUDE = "latitude";
private static final String INTENT = "com.oruxmaps.VIEW_MAP_ONLINE";
OruxMapsApp() {
@@ -17,8 +19,8 @@ class OruxMapsApp extends AbstractPointNavigationApp {
@Override
public void navigate(Activity activity, Geopoint point) {
final Intent intent = new Intent(INTENT);
- intent.putExtra("latitude", point.getLatitude());//latitude, wgs84 datum
- intent.putExtra("longitude", point.getLongitude());//longitude, wgs84 datum
+ intent.putExtra(ORUXMAPS_EXTRA_LATITUDE, point.getLatitude());//latitude, wgs84 datum
+ intent.putExtra(ORUXMAPS_EXTRA_LONGITUDE, point.getLongitude());//longitude, wgs84 datum
activity.startActivity(intent);
}
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/PebbleApp.java b/main/src/cgeo/geocaching/apps/cache/navi/PebbleApp.java
index ac83085..a12a38e 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/PebbleApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/PebbleApp.java
@@ -1,26 +1,26 @@
-package cgeo.geocaching.apps.cache.navi;
-
-import cgeo.geocaching.R;
-import cgeo.geocaching.geopoint.Geopoint;
-
-import android.content.Intent;
-
-/**
- * Application for communication with the Pebble watch.
- *
- */
-class PebbleApp extends AbstractRadarApp {
-
- private static final String INTENT = "com.webmajstr.pebble_gc.NAVIGATE_TO";
- private static final String PACKAGE_NAME = "com.webmajstr.pebble_gc";
-
- PebbleApp() {
- super(getString(R.string.cache_menu_pebble), R.id.cache_app_pebble, INTENT, PACKAGE_NAME);
- }
-
- @Override
- protected void addCoordinates(final Intent intent, final Geopoint coords) {
- intent.putExtra("latitude", coords.getLatitude());
- intent.putExtra("longitude", coords.getLongitude());
- }
+package cgeo.geocaching.apps.cache.navi;
+
+import cgeo.geocaching.R;
+import cgeo.geocaching.geopoint.Geopoint;
+
+import android.content.Intent;
+
+/**
+ * Application for communication with the Pebble watch.
+ *
+ */
+class PebbleApp extends AbstractRadarApp {
+
+ private static final String INTENT = "com.webmajstr.pebble_gc.NAVIGATE_TO";
+ private static final String PACKAGE_NAME = "com.webmajstr.pebble_gc";
+
+ PebbleApp() {
+ super(getString(R.string.cache_menu_pebble), R.id.cache_app_pebble, INTENT, PACKAGE_NAME);
+ }
+
+ @Override
+ protected void addCoordinates(final Intent intent, final Geopoint coords) {
+ intent.putExtra(RADAR_EXTRA_LATITUDE, coords.getLatitude());
+ intent.putExtra(RADAR_EXTRA_LONGITUDE, coords.getLongitude());
+ }
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java b/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
index 41cf2d8..0ee512b 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/RadarApp.java
@@ -16,8 +16,8 @@ class RadarApp extends AbstractRadarApp {
@Override
protected void addCoordinates(final Intent intent, final Geopoint coords) {
- intent.putExtra("latitude", (float) coords.getLatitude());
- intent.putExtra("longitude", (float) coords.getLongitude());
+ intent.putExtra(RADAR_EXTRA_LATITUDE, (float) coords.getLatitude());
+ intent.putExtra(RADAR_EXTRA_LONGITUDE, (float) coords.getLongitude());
}
} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
index 5886168..b6706a0 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/CacheListAppFactory.java
@@ -17,6 +17,11 @@ import java.util.ArrayList;
import java.util.List;
public final class CacheListAppFactory extends AbstractAppFactory {
+
+ private CacheListAppFactory() {
+ // utility class
+ }
+
private static class LazyHolder {
public static final CacheListApp[] apps = {
new InternalCacheListMap(),
@@ -71,10 +76,10 @@ public final class CacheListAppFactory extends AbstractAppFactory {
}
if (app != null) {
try {
- boolean result = app.invoke(caches, activity, search);
+ final boolean result = app.invoke(caches, activity, search);
ActivityMixin.invalidateOptionsMenu(activity);
return result;
- } catch (Exception e) {
+ } catch (final Exception e) {
Log.e("CacheListAppFactory.onMenuItemSelected", e);
}
}
diff --git a/main/src/cgeo/geocaching/apps/cachelist/MapsWithMeCacheListApp.java b/main/src/cgeo/geocaching/apps/cachelist/MapsWithMeCacheListApp.java
index ba177f0..c6c7709 100644
--- a/main/src/cgeo/geocaching/apps/cachelist/MapsWithMeCacheListApp.java
+++ b/main/src/cgeo/geocaching/apps/cachelist/MapsWithMeCacheListApp.java
@@ -26,10 +26,10 @@ public class MapsWithMeCacheListApp extends AbstractApp implements CacheListApp
}
@Override
- public boolean invoke(List<Geocache> caches, Activity activity, SearchResult search) {
+ public boolean invoke(final List<Geocache> caches, final Activity activity, final SearchResult search) {
final MWMPoint[] points = new MWMPoint[caches.size()];
for (int i = 0; i < points.length; i++) {
- Geocache geocache = caches.get(i);
+ final Geocache geocache = caches.get(i);
points[i] = new MWMPoint(geocache.getCoords().getLatitude(), geocache.getCoords().getLongitude(), geocache.getName(), geocache.getGeocode());
}
MapsWithMeApi.showPointsOnMap(activity, null, getPendingIntent(activity), points);
@@ -44,22 +44,20 @@ public class MapsWithMeCacheListApp extends AbstractApp implements CacheListApp
/**
* get cache code from a PendingIntent after an invocation of MapsWithMe
- *
+ *
* @return
*/
@Nullable
public static String getCacheFromMapsWithMe(final Context context, final Intent intent) {
final MWMResponse mwmResponse = MWMResponse.extractFromIntent(context, intent);
- if (mwmResponse != null) {
- final MWMPoint point = mwmResponse.getPoint();
- if (point != null) {
- return point.getId();
- }
+ final MWMPoint point = mwmResponse.getPoint();
+ if (point != null) {
+ return point.getId();
}
return null;
}
- private static PendingIntent getPendingIntent(Context context) {
+ private static PendingIntent getPendingIntent(final Context context) {
final Intent intent = new Intent(context, CacheDetailActivity.class);
return PendingIntent.getActivity(context, 0, intent, 0);
}