CameraInfo

interface CameraInfo
androidx.camera.core.CameraInfo

An interface for retrieving camera information.

Applications can retrieve an instance via Camera#getCameraInfo().

Summary

Public methods

abstract Int

Returns the sensor rotation in degrees, relative to the device's "natural" (default) orientation.

abstract Int
getSensorRotationDegrees(relativeRotation: Int)

Returns the sensor rotation, in degrees, relative to the given rotation value.

abstract LiveData<Int!>

Returns a LiveData of current TorchState.

abstract LiveData<ZoomState!>

Returns a LiveData of ZoomState.

abstract Boolean

Returns if flash unit is available or not.

Public methods

getSensorRotationDegrees

abstract fun getSensorRotationDegrees(): Int

Returns the sensor rotation in degrees, relative to the device's "natural" (default) orientation.

Return
Int: The sensor rotation in degrees, relative to device's "natural" (default) orientation.

See Also

  • <a href="https://developer.android.com/guide/topics/sensors/sensors_overview#sensors-coords">

getSensorRotationDegrees

abstract fun getSensorRotationDegrees(relativeRotation: Int): Int

Returns the sensor rotation, in degrees, relative to the given rotation value.

Valid values for the relative rotation are Surface#ROTATION_0 (natural), , Surface#ROTATION_180, Surface#ROTATION_270.

Parameters
relativeRotation Int: The rotation relative to which the output will be calculated.
Return
Int: The sensor rotation in degrees.

getTorchState

@NonNull abstract fun getTorchState(): LiveData<Int!>

Returns a LiveData of current TorchState.

The torch can be turned on and off via CameraControl#enableTorch(boolean) which will trigger the change event to the returned LiveData. Apps can either get immediate value via LiveData#getValue() or observe it via LiveData#observe(LifecycleOwner, Observer) to update torch UI accordingly.

If the camera doesn't have a flash unit (see hasFlashUnit()), then the torch state will be TorchState#OFF.

Return
LiveData<Int!>: a LiveData containing current torch state.

getZoomState

@NonNull abstract fun getZoomState(): LiveData<ZoomState!>

Returns a LiveData of ZoomState.

The LiveData will be updated whenever the set zoom state has been changed. This can occur when the application updates the zoom via CameraControl#setZoomRatio(float) or CameraControl#setLinearZoom(float). The zoom state can also change anytime a camera starts up, for example when a UseCase is bound to it.

hasFlashUnit

abstract fun hasFlashUnit(): Boolean

Returns if flash unit is available or not.