[android] Adding new variation of LocationComponent#activateLocationComponent (#13829)
* [android] added new activateLocationComponent method * [android] added new test for the new way to activate the LocationComponent * [android] tweak to test after lukasz review * [android] adding tests to assert LocationEngine status
This commit is contained in:
@@ -265,6 +265,30 @@ public final class LocationComponent {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes the component and needs to be called before any other operations are performed.
|
||||
* Afterwards, you can manage component's visibility by {@link #setLocationComponentEnabled(boolean)}.
|
||||
*
|
||||
* @param context the context
|
||||
* @param style the proxy object for current map style. More info at {@link Style}
|
||||
* @param useDefaultLocationEngine true if you want to initialize and use the built-in location engine or false if
|
||||
* there should be no location engine initialized
|
||||
* @param locationEngineRequest the location request
|
||||
* @param options the options
|
||||
*/
|
||||
@RequiresPermission(anyOf = {ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION})
|
||||
public void activateLocationComponent(@NonNull Context context, @NonNull Style style,
|
||||
boolean useDefaultLocationEngine,
|
||||
@NonNull LocationEngineRequest locationEngineRequest,
|
||||
@NonNull LocationComponentOptions options) {
|
||||
setLocationEngineRequest(locationEngineRequest);
|
||||
if (useDefaultLocationEngine) {
|
||||
activateLocationComponent(context, style, options);
|
||||
} else {
|
||||
activateLocationComponent(context, style, null, options);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes the component and needs to be called before any other operations are performed.
|
||||
* Afterwards, you can manage component's visibility by {@link #setLocationComponentEnabled(boolean)}.
|
||||
|
||||
@@ -97,6 +97,20 @@ class LocationComponentTest {
|
||||
Assert.assertEquals(locationEngineRequest, locationComponent.locationEngineRequest)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun activateWithDefaultLocationEngineRequestAndOptionsTestDefaultLocationEngine() {
|
||||
locationComponent.activateLocationComponent(context, mockk(), true, locationEngineRequest, locationComponentOptions)
|
||||
Assert.assertEquals(locationEngineRequest, locationComponent.locationEngineRequest)
|
||||
Assert.assertNotNull(locationComponent.locationEngine)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun activateWithDefaultLocationEngineRequestAndOptionsTestCustomLocationEngine() {
|
||||
locationComponent.activateLocationComponent(context, mockk(), false, locationEngineRequest, locationComponentOptions)
|
||||
Assert.assertEquals(locationEngineRequest, locationComponent.locationEngineRequest)
|
||||
Assert.assertNull(locationComponent.locationEngine)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun locationUpdatesWhenEnabledDisableTest() {
|
||||
locationComponent.activateLocationComponent(context, mockk(), locationEngine, locationEngineRequest, locationComponentOptions)
|
||||
|
||||
Reference in New Issue
Block a user