From 737d5b6c556a77418b366a3ceeea5f93d898ac8a Mon Sep 17 00:00:00 2001 From: Guardiola31337 Date: Thu, 5 Oct 2017 21:29:34 +0200 Subject: [PATCH] fix location engines activation calling on connected method if the location engine was already connected --- .../telemetry/location/GoogleLocationEngine.java | 14 +++++++++++--- .../telemetry/location/LostLocationEngine.java | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/GoogleLocationEngine.java b/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/GoogleLocationEngine.java index b40f5d76a..a16eda092 100644 --- a/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/GoogleLocationEngine.java +++ b/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/GoogleLocationEngine.java @@ -48,9 +48,7 @@ public static synchronized LocationEngine getLocationEngine(Context context) { @Override public void activate() { - if (googleApiClient != null && !googleApiClient.isConnected()) { - googleApiClient.connect(); - } + connect(); } @Override @@ -140,4 +138,14 @@ public void onLocationChanged(Location location) { listener.onLocationChanged(location); } } + + private void connect() { + if (googleApiClient != null) { + if (googleApiClient.isConnected()) { + onConnected(null); + } else { + googleApiClient.connect(); + } + } + } } diff --git a/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/LostLocationEngine.java b/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/LostLocationEngine.java index f72629156..3d1352797 100644 --- a/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/LostLocationEngine.java +++ b/mapbox/libandroid-telemetry/src/main/java/com/mapbox/services/android/telemetry/location/LostLocationEngine.java @@ -47,9 +47,7 @@ public static synchronized LocationEngine getLocationEngine(Context context) { */ @Override public void activate() { - if (lostApiClient != null && !lostApiClient.isConnected()) { - lostApiClient.connect(); - } + connect(); } /** @@ -167,4 +165,14 @@ public void onLocationChanged(Location location) { listener.onLocationChanged(location); } } + + private void connect() { + if (lostApiClient != null) { + if (lostApiClient.isConnected()) { + onConnected(); + } else { + lostApiClient.connect(); + } + } + } } \ No newline at end of file