The Developer Preview for Android 11 is now available; test it out and share your feedback.

CameraInfo

public 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 getSensorRotationDegrees()

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

abstract int getSensorRotationDegrees(int relativeRotation)

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

abstract LiveData<Integer> getTorchState()

Returns a LiveData of current TorchState.

abstract LiveData<ZoomState> getZoomState()

Returns a LiveData of ZoomState.

abstract boolean hasFlashUnit()

Returns if flash unit is available or not.

Public methods

getSensorRotationDegrees

public abstract int getSensorRotationDegrees ()

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

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

getSensorRotationDegrees

public abstract int getSensorRotationDegrees (int relativeRotation)

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_90, Surface.ROTATION_180, Surface.ROTATION_270.

Parameters
relativeRotation int: The rotation relative to which the output will be calculated.

Returns
int The sensor rotation in degrees.

getTorchState

public abstract LiveData<Integer> getTorchState ()

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.

Returns
LiveData<Integer> a LiveData containing current torch state.

getZoomState

public abstract LiveData<ZoomState> getZoomState ()

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.

Returns
LiveData<ZoomState>

hasFlashUnit

public abstract boolean hasFlashUnit ()

Returns if flash unit is available or not.

Returns
boolean