SessionConfig.Builder


public static final class SessionConfig.Builder
extends Object

java.lang.Object
   ↳ android.ranging.SessionConfig.Builder


Builder for creating instances of SessionConfig.

Summary

Public constructors

Builder()

Public methods

SessionConfig build()

Builds a new SessionConfig instance.

SessionConfig.Builder setAngleOfArrivalNeeded(boolean isAngleOfArrivalNeeded)

Sets whether Angle of Arrival (AoA) is required for the ranging operation.

SessionConfig.Builder setAntennaMode(int antennaMode)

Sets the antenna mode for the ranging session which helps in determining the optimal antennas to use for Tx and Rx.

SessionConfig.Builder setDataNotificationConfig(DataNotificationConfig config)

Sets the data notification configuration for this preference.

SessionConfig.Builder setRangingMeasurementsLimit(int rangingMeasurementsLimit)

Sets the maximum number of ranging rounds for this session.

SessionConfig.Builder setSensorFusionParams(SensorFusionParams parameters)

Sets the sensor fusion parameters for this preference.

Inherited methods

Public constructors

Builder

Added in API level 36
public Builder ()

Public methods

build

Added in API level 36
public SessionConfig build ()

Builds a new SessionConfig instance.

Returns
SessionConfig the new SessionConfig instance.
This value cannot be null.

setAngleOfArrivalNeeded

Added in API level 36
public SessionConfig.Builder setAngleOfArrivalNeeded (boolean isAngleOfArrivalNeeded)

Sets whether Angle of Arrival (AoA) is required for the ranging operation.

Defaults to false

Parameters
isAngleOfArrivalNeeded boolean: true if AoA data is required; false otherwise.

Returns
SessionConfig.Builder The Builder instance.
This value cannot be null.

setAntennaMode

Added in API level 36
public SessionConfig.Builder setAntennaMode (int antennaMode)

Sets the antenna mode for the ranging session which helps in determining the optimal antennas to use for Tx and Rx.

  • This should be set to SessionConfig.ANTENNA_MODE_DIRECTIONAL for foreground use-cases like Finder where the user is actively using the device to find another device (longer range in a particular direction).
  • This should be set to SessionConfig.ANTENNA_MODE_OMNI for background use-cases like background use-cases like passive unlock when the user is passively using the device to unlock another device (shorter range in all directions).
  • Check UwbRangingCapabilities.getSupportedAntennaModes() for supported antenna modes on the device. If the mode requested here is not supported, the session will be immediately closed - ERROR(RangingSession.onClosed(int)/android.ranging.RangingSession#onClosed(int) RangingSession.onClosed(int)).

    Parameters
    antennaMode int: the antenna mode ERROR(AntennaMode/android.ranging.SessionConfig.AntennaMode AntennaMode)
    Value is one of the following:
    Returns
    SessionConfig.Builder this Builder instance.
    This value cannot be null.

    Throws
    IllegalArgumentException if the provided mode is out of range.

    setDataNotificationConfig

    Added in API level 36
    public SessionConfig.Builder setDataNotificationConfig (DataNotificationConfig config)

    Sets the data notification configuration for this preference.

    Parameters
    config DataNotificationConfig: the DataNotificationConfig to use.
    This value cannot be null.

    Returns
    SessionConfig.Builder the builder instance for chaining.
    This value cannot be null.

    Throws
    IllegalArgumentException if the config is null.

    setRangingMeasurementsLimit

    Added in API level 36
    public SessionConfig.Builder setRangingMeasurementsLimit (int rangingMeasurementsLimit)

    Sets the maximum number of ranging rounds for this session. This includes all ranging rounds, irrespective of whether they were successful or not. For 1:many sessions, a round includes ranging to all peers within that round.

    By default, when the value is set to 0, the ranging session will run indefinitely.

    Parameters
    rangingMeasurementsLimit int: the maximum number of ranging rounds (0 to 65535).
    Value is between 0 and 65535 inclusive

    Returns
    SessionConfig.Builder this Builder instance.
    This value cannot be null.

    Throws
    IllegalArgumentException if the value is outside the allowed range (0 to 65535).

    setSensorFusionParams

    Added in API level 36
    public SessionConfig.Builder setSensorFusionParams (SensorFusionParams parameters)

    Sets the sensor fusion parameters for this preference.

    Parameters
    parameters SensorFusionParams: the SensorFusionParams to use.
    This value cannot be null.

    Returns
    SessionConfig.Builder the builder instance.
    This value cannot be null.

    Throws
    IllegalArgumentException if the parameters is null.