code: public void setLocationEngine(@NonNull LocationEngine locationEngine) {
      this.locationEngine = locationEngine;
      // Setup telemetry with new engine
      navigationTelemetry.updateLocationEngineNameAndSimulation(locationEngine);
      // Notify service to get new location engine.
      if (isServiceAvailable()) {
        navigationService.updateLocationEngine(locationEngine);
      }
    }
docs: Navigation needs an instance of location engine in order to acquire user location information
  and handle events based off of the current information. By default, a {@link LocationEngine} is
  created using {@link LocationEngineProvider#getBestLocationEngine(Context)}.
  <p>
  In ideal conditions, the Navigation SDK will receive location updates once every second with
  mild to high horizontal accuracy. The location update must also contain all information an
  Android location object would expect including bearing, speed, timestamp, and
  latitude/longitude.
  </p>
  <p>
  This method can be called during an active navigation session.  The active {@link LocationEngine} will be
  replaced and the new one (passed via this method) will be activated with the current {@link LocationEngineRequest}.
  </p>
  
  @param locationEngine a {@link LocationEngine} used for the navigation session
  @since 0.1.0