From dd3027c9b851e92b872caaccfaf3e4e602f14516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Paczos?= Date: Thu, 17 Jan 2019 13:05:05 +0100 Subject: [android] re-apply location component's "layer-below" when changed --- .../activity/location/LocationModesActivity.java | 40 ++++++++++++---------- 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java') diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java index 618032f5e0..808ed61927 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java @@ -12,6 +12,7 @@ import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Toast; + import com.mapbox.android.core.location.LocationEngineRequest; import com.mapbox.android.core.permissions.PermissionsListener; import com.mapbox.android.core.permissions.PermissionsManager; @@ -43,7 +44,7 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea private LocationComponent locationComponent; private MapboxMap mapboxMap; - private boolean customStyle; + private boolean defaultStyle = false; private static final String SAVED_STATE_CAMERA = "saved_state_camera"; private static final String SAVED_STATE_RENDER = "saved_state_render"; @@ -124,18 +125,6 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea this.mapboxMap = mapboxMap; mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> { - int[] padding; - if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { - padding = new int[] {0, 750, 0, 0}; - } else { - padding = new int[] {0, 250, 0, 0}; - } - - LocationComponentOptions options = LocationComponentOptions.builder(this) - .padding(padding) - .layerBelow("waterway-label") - .build(); - locationComponent = mapboxMap.getLocationComponent(); locationComponent.activateLocationComponent(this, style, true, new LocationEngineRequest.Builder(750) @@ -143,7 +132,7 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY) .build() ); - locationComponent.applyStyle(options); + toggleStyle(); locationComponent.setLocationComponentEnabled(true); locationComponent.addOnLocationClickListener(this); locationComponent.addOnCameraTrackingChangedListener(this); @@ -195,10 +184,25 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea return; } - customStyle = !customStyle; - locationComponent.applyStyle( - this, - customStyle ? R.style.CustomLocationComponent : R.style.mapbox_LocationComponent); + defaultStyle = !defaultStyle; + LocationComponentOptions options = LocationComponentOptions.createFromAttributes( + this, defaultStyle ? R.style.mapbox_LocationComponent : R.style.CustomLocationComponent); + + if (defaultStyle) { + int[] padding; + if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { + padding = new int[] {0, 750, 0, 0}; + } else { + padding = new int[] {0, 250, 0, 0}; + } + + options = options.toBuilder() + .padding(padding) + .layerBelow("road-label") + .build(); + } + + locationComponent.applyStyle(options); } private void toggleMapStyle() { -- cgit v1.2.1