diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2018-09-06 16:40:54 +0200 |
---|---|---|
committer | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2018-09-12 13:59:11 +0200 |
commit | d625993da2b43c1168e946de498197da2c4e9678 (patch) | |
tree | ac008c2526523ae57c5531a4beb33add297986b5 /platform/android | |
parent | caebcd08e3803f5758353fbadefc9b75093b4015 (diff) | |
download | qtlocation-mapboxgl-d625993da2b43c1168e946de498197da2c4e9678.tar.gz |
[android] prevent from reloading the location layer drawables on every location update
Diffstat (limited to 'platform/android')
2 files changed, 12 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java index 0503c5e9dc..01ef314bf4 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java @@ -836,9 +836,7 @@ public final class LocationComponent { return; } - if (isEnabled && isComponentStarted) { - locationLayerController.show(); - } + showLocationLayerIfHidden(); if (!fromLastLocation) { staleStateManager.updateLatestLocationTime(); @@ -850,6 +848,13 @@ public final class LocationComponent { lastLocation = location; } + private void showLocationLayerIfHidden() { + boolean isLocationLayerHidden = locationLayerController.isHidden(); + if (isEnabled && isComponentStarted && isLocationLayerHidden) { + locationLayerController.show(); + } + } + private void updateCompassHeading(float heading) { locationAnimatorCoordinator.feedNewCompassBearing(heading, mapboxMap.getCameraPosition()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java index 75826f911b..da3144eea1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java @@ -188,6 +188,10 @@ final class LocationLayerController implements MapboxAnimator.OnLayerAnimationsV } } + boolean isHidden() { + return isHidden; + } + private void setLayerVisibility(String layerId, boolean visible) { Layer layer = mapboxMap.getLayer(layerId); if (layer != null) { |