aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoData.java31
1 files changed, 13 insertions, 18 deletions
diff --git a/main/src/cgeo/geocaching/sensors/GeoData.java b/main/src/cgeo/geocaching/sensors/GeoData.java
index a52eb55..99ba169 100644
--- a/main/src/cgeo/geocaching/sensors/GeoData.java
+++ b/main/src/cgeo/geocaching/sensors/GeoData.java
@@ -41,25 +41,20 @@ public class GeoData extends Location {
return gpsLocation.getTime() >= netLocation.getTime() ? gpsLocation : netLocation;
}
- private static LocationProviderType getLocationProviderType(final String provider) {
- if (provider.equals(LocationManager.GPS_PROVIDER)) {
- return LocationProviderType.GPS;
- }
- if (provider.equals(LocationManager.NETWORK_PROVIDER)) {
- return LocationProviderType.NETWORK;
- }
- // LocationManager.FUSED_PROVIDER constant is not available at API level 9
- if (provider.equals(FUSED_PROVIDER)) {
- return LocationProviderType.FUSED;
- }
- if (provider.equals(LOW_POWER_PROVIDER)) {
- return LocationProviderType.LOW_POWER;
- }
- return LocationProviderType.LAST;
- }
-
public LocationProviderType getLocationProvider() {
- return getLocationProviderType(getProvider());
+ switch (getProvider()) {
+ case LocationManager.GPS_PROVIDER:
+ return LocationProviderType.GPS;
+ case LocationManager.NETWORK_PROVIDER:
+ return LocationProviderType.NETWORK;
+ case FUSED_PROVIDER:
+ // LocationManager.FUSED_PROVIDER constant is not available at API level 9
+ return LocationProviderType.FUSED;
+ case LOW_POWER_PROVIDER:
+ return LocationProviderType.LOW_POWER;
+ default:
+ return LocationProviderType.LAST;
+ }
}
@NonNull