aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-08-18 23:52:34 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-08-18 23:52:34 +0200
commit2e6495a5576201a72dd70052bcff1c686aaa49da (patch)
treec204dbdd790536188992ad5dd826ddb9f431ae40 /main/src
parent6285cb7ebd0dc07ee0422d567668988a27ba29f5 (diff)
downloadcgeo-2e6495a5576201a72dd70052bcff1c686aaa49da.zip
cgeo-2e6495a5576201a72dd70052bcff1c686aaa49da.tar.gz
cgeo-2e6495a5576201a72dd70052bcff1c686aaa49da.tar.bz2
Make the initial GPS status disabled
The GPS status listener don't get any information when using the low-power play services listener. We prepend a GPS disabled status, which will be overriden by the real ones if needed.
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CgeoApplication.java2
-rw-r--r--main/src/cgeo/geocaching/sensors/GpsStatusProvider.java2
2 files changed, 3 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java
index 4688266..ae5a565 100644
--- a/main/src/cgeo/geocaching/CgeoApplication.java
+++ b/main/src/cgeo/geocaching/CgeoApplication.java
@@ -93,7 +93,7 @@ public class CgeoApplication extends Application {
currentDirection = direction;
}
});
- gpsStatusObservable = GpsStatusProvider.create(this).share();
+ gpsStatusObservable = GpsStatusProvider.create(this).startWith(GpsStatusProvider.NO_GPS).share();
}
public void setupGeoDataObservables(final boolean useGooglePlayServices, final boolean useLowPowerLocation) {
diff --git a/main/src/cgeo/geocaching/sensors/GpsStatusProvider.java b/main/src/cgeo/geocaching/sensors/GpsStatusProvider.java
index 5154675..ec29a6a 100644
--- a/main/src/cgeo/geocaching/sensors/GpsStatusProvider.java
+++ b/main/src/cgeo/geocaching/sensors/GpsStatusProvider.java
@@ -13,6 +13,8 @@ import android.location.LocationManager;
public class GpsStatusProvider extends LooperCallbacks<Status> {
+ public static final Status NO_GPS = new Status(false, 0, 0);
+
public static class Status {
final public boolean gpsEnabled;
final public int satellitesVisible;