aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/maps/MapProviderFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/maps/MapProviderFactory.java')
-rw-r--r--main/src/cgeo/geocaching/maps/MapProviderFactory.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/maps/MapProviderFactory.java b/main/src/cgeo/geocaching/maps/MapProviderFactory.java
index c7c85f5..3509209 100644
--- a/main/src/cgeo/geocaching/maps/MapProviderFactory.java
+++ b/main/src/cgeo/geocaching/maps/MapProviderFactory.java
@@ -16,15 +16,21 @@ public class MapProviderFactory {
private static MapProviderFactory instance = null;
- private MapProvider[] mapProviders;
+ private final MapProvider[] mapProviders;
private SortedMap<Integer, String> mapSources;
private MapProviderFactory() {
// add GoogleMapProvider only if google api is available in order to support x86 android emulator
+ boolean googleMaps = true;
try {
Class.forName("com.google.android.maps.MapActivity");
- mapProviders = new MapProvider[] { new GoogleMapProvider(GOOGLEMAP_BASEID), new MapsforgeMapProvider(MFMAP_BASEID) };
} catch (ClassNotFoundException e) {
+ googleMaps = false;
+ }
+ if (googleMaps) {
+ mapProviders = new MapProvider[] { new GoogleMapProvider(GOOGLEMAP_BASEID), new MapsforgeMapProvider(MFMAP_BASEID) };
+ }
+ else {
mapProviders = new MapProvider[] { new MapsforgeMapProvider(MFMAP_BASEID) };
}