diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-19 00:20:44 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-19 00:21:39 +0200 |
| commit | 862e4a8b3e26cd4067812a075f914bc73db4564c (patch) | |
| tree | da488c969675660db0d4e1024ae3ca5eea05fc8a | |
| parent | 2e6495a5576201a72dd70052bcff1c686aaa49da (diff) | |
| download | cgeo-862e4a8b3e26cd4067812a075f914bc73db4564c.zip cgeo-862e4a8b3e26cd4067812a075f914bc73db4564c.tar.gz cgeo-862e4a8b3e26cd4067812a075f914bc73db4564c.tar.bz2 | |
Distinguish visually between low-power and regular fused providers
4 files changed, 9 insertions, 1 deletions
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 19aa41d..814b9ba 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -229,6 +229,7 @@ <string name="loc_last">Last known</string> <string name="loc_net">Network</string> <string name="loc_fused">Fused</string> + <string name="loc_low_power">Low-power</string> <string name="loc_gps">GPS</string> <string name="loc_sat">Sat</string> <string name="loc_trying">Trying to Locate</string> diff --git a/main/src/cgeo/geocaching/enumerations/LocationProviderType.java b/main/src/cgeo/geocaching/enumerations/LocationProviderType.java index e6024aa..a6f0114 100644 --- a/main/src/cgeo/geocaching/enumerations/LocationProviderType.java +++ b/main/src/cgeo/geocaching/enumerations/LocationProviderType.java @@ -6,6 +6,7 @@ public enum LocationProviderType { GPS(R.string.loc_gps), NETWORK(R.string.loc_net), FUSED(R.string.loc_fused), + LOW_POWER(R.string.loc_low_power), LAST(R.string.loc_last); public final int resourceId; diff --git a/main/src/cgeo/geocaching/playservices/LocationProvider.java b/main/src/cgeo/geocaching/playservices/LocationProvider.java index ab5e4af..a1edb7a 100644 --- a/main/src/cgeo/geocaching/playservices/LocationProvider.java +++ b/main/src/cgeo/geocaching/playservices/LocationProvider.java @@ -117,6 +117,7 @@ public class LocationProvider extends LooperCallbacks<IGeoData> implements Conne @Override public void onLocationChanged(final Location location) { + location.setProvider(lowPower ? GeoData.LOW_POWER_PROVIDER : GeoData.FUSED_PROVIDER); subscriber.onNext(new GeoData(location)); } } diff --git a/main/src/cgeo/geocaching/sensors/GeoData.java b/main/src/cgeo/geocaching/sensors/GeoData.java index 6739854..1291d3c 100644 --- a/main/src/cgeo/geocaching/sensors/GeoData.java +++ b/main/src/cgeo/geocaching/sensors/GeoData.java @@ -9,6 +9,8 @@ import android.location.LocationManager; public class GeoData extends Location implements IGeoData { public static final String INITIAL_PROVIDER = "initial"; + public static final String FUSED_PROVIDER = "fused"; + public static final String LOW_POWER_PROVIDER = "low-power"; public GeoData(final Location location) { super(location); @@ -27,9 +29,12 @@ public class GeoData extends Location implements IGeoData { return LocationProviderType.NETWORK; } // LocationManager.FUSED_PROVIDER constant is not available at API level 9 - if (provider.equals("fused")) { + if (provider.equals(FUSED_PROVIDER)) { return LocationProviderType.FUSED; } + if (provider.equals(LOW_POWER_PROVIDER)) { + return LocationProviderType.LOW_POWER; + } return LocationProviderType.LAST; } |
