From 2e6495a5576201a72dd70052bcff1c686aaa49da Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Mon, 18 Aug 2014 23:52:34 +0200 Subject: 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. --- main/src/cgeo/geocaching/CgeoApplication.java | 2 +- main/src/cgeo/geocaching/sensors/GpsStatusProvider.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'main/src') 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 { + public static final Status NO_GPS = new Status(false, 0, 0); + public static class Status { final public boolean gpsEnabled; final public int satellitesVisible; -- cgit v1.1