RoutingInfo.Builder

public static final class RoutingInfo.Builder
extends Object

java.lang.Object
   ↳ androidx.car.app.navigation.model.RoutingInfo.Builder


A builder of RoutingInfo.

Summary

Public constructors

Builder()

Constructs an empty RoutingInfo.Builder instance.

Public methods

RoutingInfo build()

Constructs the RoutingInfo defined by this builder.

RoutingInfo.Builder setCurrentStep(Step currentStep, Distance currentDistance)

Sets the current Step and Distance to display in the template.

RoutingInfo.Builder setJunctionImage(CarIcon junctionImage)

Sets an image of a junction for the maneuver.

RoutingInfo.Builder setLoading(boolean isLoading)

Sets whether the RoutingInfo is in a loading state.

RoutingInfo.Builder setNextStep(Step nextStep)

Sets the next Step.

Inherited methods

Public constructors

Builder

public Builder ()

Constructs an empty RoutingInfo.Builder instance.

Public methods

build

public RoutingInfo build ()

Constructs the RoutingInfo defined by this builder.

Requirements

The RoutingInfo can be in a loading state by passing true to setLoading(boolean), in which case no other fields may be set. Otherwise, the current step and distance must be set. If the lane information is set with Step.Builder.addLane(Lane), then the lane image must also be set with Step.Builder.setLanesImage(CarIcon).

Returns
RoutingInfo

Throws
IllegalStateException if the RoutingInfo does not meet the template's requirements

setCurrentStep

public RoutingInfo.Builder setCurrentStep (Step currentStep, 
                Distance currentDistance)

Sets the current Step and Distance to display in the template.

A Step with a Maneuver of type Maneuver.TYPE_UNKNOWN will shown here with the given icon.

Image Sizing Guidance

Images in the cue of the Step object, set with Step.Builder.setCue(CharSequence), can contain image spans. To minimize scaling artifacts across a wide range of car screens, apps should provide images targeting a 216 x 72 dp bounding box. If necessary, those images in the spans will be scaled down to fit the bounding box while preserving their aspect ratios.

See CarIcon for more details related to providing icon and image resources that work with different car screen pixel densities.

Parameters
currentStep Step

currentDistance Distance

Returns
RoutingInfo.Builder

Throws
NullPointerException if currentStep is null
NullPointerException if currentDistance is null

setJunctionImage

public RoutingInfo.Builder setJunctionImage (CarIcon junctionImage)

Sets an image of a junction for the maneuver.

For example, a photo-realistic view of the upcoming junction that the driver can see when executing the maneuver.

Image Sizing Guidance

To minimize scaling artifacts across a wide range of car screens, apps should provide images targeting a 500 x 312 dp bounding box. If the image exceeds this maximum size in either one of the dimensions, it will be scaled down to be centered inside the bounding box while preserving its aspect ratio. The aspect ratio should be greater than or equal to 1.6 in order to fit the horizontal space fully.

On smaller screens the junction image may result in the hiding of the Lane s, TravelEstimate or next Step.

See CarIcon for more details related to providing icon and image resources that work with different car screen pixel densities.

Parameters
junctionImage CarIcon

Returns
RoutingInfo.Builder

Throws
NullPointerException if junctionImage is null

setLoading

public RoutingInfo.Builder setLoading (boolean isLoading)

Sets whether the RoutingInfo is in a loading state.

If set to true, the UI will show a loading indicator, and adding any other routing info will throw an IllegalArgumentException. The caller is expected to call Screen.invalidate() and send the new template content to the host once the data is ready. If set to false, the UI shows the actual routing info.

Parameters
isLoading boolean

Returns
RoutingInfo.Builder

setNextStep

public RoutingInfo.Builder setNextStep (Step nextStep)

Sets the next Step.

Unless set with this method, the next step won't be displayed.

Image Sizing Guidance

Images in the cue of the Step object, set with Step.Builder.setCue(CharSequence), can contain image spans. To minimize scaling artifacts across a wide range of car screens, apps should provide images targeting a 216 x 72 dp bounding box. If necessary, those images in the spans will be scaled down to fit the bounding box while preserving their aspect ratios.

See CarIcon for more details related to providing icon and image resources that work with different car screen pixel densities.

Parameters
nextStep Step

Returns
RoutingInfo.Builder

Throws
NullPointerException if nextStep is null