public final class XrDevice


Device hardware capabilities.

Summary

Public methods

static final @NonNull XrDevice
getCurrentDevice(
    @NonNull Context context,
    @NonNull CoroutineContext coroutineContext
)

Get the current XrDevice for the provided Context.

final @NonNull Lifecycle

Returns this XrDevice's Lifecycle.

final @NonNull DisplayBlendMode

Returns the preferred display blend mode for this session.

final boolean

Returns the XrDevice's support for the given DepthEstimationMode.

final boolean

Returns the XrDevice's support for the given EyeTrackingMode.

final boolean

Returns the XrDevice's support for the given GeospatialMode.

final boolean

Returns the XrDevice's support for the given HandTrackingMode.

static final boolean

Returns true if the Android XR Projected service is available on this device.

final boolean

Returns whether the XrDevice supports the supplied RenderingMode.

Public methods

getCurrentDevice

Added in 1.0.0-beta02
public static final @NonNull XrDevice getCurrentDevice(
    @NonNull Context context,
    @NonNull CoroutineContext coroutineContext
)

Get the current XrDevice for the provided Context.

Parameters
@NonNull Context context

the Context associated with the device

@NonNull CoroutineContext coroutineContext

the CoroutineContext to use for the XrDevice operations

Throws
IllegalArgumentException

if the provided Context is not supported

getLifecycle

Added in 1.0.0-beta02
public final @NonNull Lifecycle getLifecycle()

Returns this XrDevice's Lifecycle.

The value will be the Projected device's lifecycle if its Context was used when calling getCurrentDevice.

Throws
IllegalStateException

if there is no lifecycle associated with this XrDevice

getPreferredDisplayBlendMode

Added in 1.0.0-beta02
public final @NonNull DisplayBlendMode getPreferredDisplayBlendMode()

Returns the preferred display blend mode for this session.

Returns
@NonNull DisplayBlendMode

the DisplayBlendMode that is preferred by the Session for rendering DisplayBlendMode.NO_DISPLAY will be returned if there are no supported blend modes available

isDepthEstimationModeSupported

Added in 1.0.0-beta02
public final boolean isDepthEstimationModeSupported(@NonNull DepthEstimationMode mode)

Returns the XrDevice's support for the given DepthEstimationMode.

Returns
boolean

whether the device supports the supplied DepthEstimationMode

isEyeTrackingModeSupported

Added in 1.0.0-beta02
public final boolean isEyeTrackingModeSupported(@NonNull EyeTrackingMode mode)

Returns the XrDevice's support for the given EyeTrackingMode.

Returns
boolean

whether the device supports the supplied EyeTrackingMode

isGeospatialModeSupported

Added in 1.0.0-beta02
public final boolean isGeospatialModeSupported(@NonNull GeospatialMode mode)

Returns the XrDevice's support for the given GeospatialMode.

Returns
boolean

whether the device supports the supplied GeospatialMode

isHandTrackingModeSupported

Added in 1.0.0-beta02
public final boolean isHandTrackingModeSupported(@NonNull HandTrackingMode mode)

Returns the XrDevice's support for the given HandTrackingMode.

Returns
boolean

whether the device supports the supplied HandTrackingMode

isProjectedServiceAvailable

Added in 1.0.0-beta02
public static final boolean isProjectedServiceAvailable(@NonNull Context context)

Returns true if the Android XR Projected service is available on this device. This means the device supports the necessary system features and has the required system service components for Projected experiences. Returns false otherwise.

isRenderingModeSupported

Added in 1.0.0-beta02
public final boolean isRenderingModeSupported(@NonNull RenderingMode mode)

Returns whether the XrDevice supports the supplied RenderingMode.

Returns
boolean

whether the device supports the supplied RenderingMode. For devices that support RenderingMode.MONO, RenderViewpoint.mono(session) is expected to be non-null. For devices that support RenderingMode.STEREO, RenderViewpoint.left(session), RenderViewpoint.right(session), and RenderViewpoint.mono(session) are all expected to be non-null