Class ShadowCameraManager


  • @Implements(value=android.hardware.camera2.CameraManager.class,
                minSdk=21)
    public class ShadowCameraManager
    extends java.lang.Object
    Shadow class for CameraManager
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCamera​(java.lang.String cameraId, android.hardware.camera2.CameraCharacteristics characteristics)
      Adds the given cameraId and characteristics to this shadow.
      protected android.hardware.camera2.CameraCharacteristics getCameraCharacteristics​(java.lang.String cameraId)  
      protected java.lang.String[] getCameraIdList()  
      boolean getTorchMode​(java.lang.String cameraId)
      Returns what the supplied camera's torch is set to.
      protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId, android.hardware.camera2.CameraDevice.StateCallback callback, android.os.Handler handler)
      Enables CameraManager.openCamera(String, StateCallback, Handler) to open a CameraDevice.
      protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId, android.hardware.camera2.CameraDevice.StateCallback callback, android.os.Handler handler, int uid)  
      protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId, android.hardware.camera2.CameraDevice.StateCallback callback, java.util.concurrent.Executor executor, int uid)  
      void removeCamera​(java.lang.String cameraId)
      Removes the given cameraId and associated characteristics from this shadow.
      protected void setTorchMode​(java.lang.String cameraId, boolean enabled)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ShadowCameraManager

        public ShadowCameraManager()
    • Method Detail

      • getCameraIdList

        @Implementation
        protected java.lang.String[] getCameraIdList()
                                              throws android.hardware.camera2.CameraAccessException
        Throws:
        android.hardware.camera2.CameraAccessException
      • getCameraCharacteristics

        @Implementation
        protected android.hardware.camera2.CameraCharacteristics getCameraCharacteristics​(java.lang.String cameraId)
      • setTorchMode

        @Implementation(minSdk=23)
        protected void setTorchMode​(java.lang.String cameraId,
                                    boolean enabled)
      • openCameraDeviceUserAsync

        @Implementation(minSdk=28)
        protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId,
                                                                                  android.hardware.camera2.CameraDevice.StateCallback callback,
                                                                                  java.util.concurrent.Executor executor,
                                                                                  int uid)
                                                                           throws android.hardware.camera2.CameraAccessException
        Throws:
        android.hardware.camera2.CameraAccessException
      • openCameraDeviceUserAsync

        @Implementation(minSdk=25,
                        maxSdk=27)
        protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId,
                                                                                  android.hardware.camera2.CameraDevice.StateCallback callback,
                                                                                  android.os.Handler handler,
                                                                                  int uid)
                                                                           throws android.hardware.camera2.CameraAccessException
        Throws:
        android.hardware.camera2.CameraAccessException
      • openCameraDeviceUserAsync

        @Implementation(minSdk=21,
                        maxSdk=24)
        protected android.hardware.camera2.CameraDevice openCameraDeviceUserAsync​(java.lang.String cameraId,
                                                                                  android.hardware.camera2.CameraDevice.StateCallback callback,
                                                                                  android.os.Handler handler)
                                                                           throws android.hardware.camera2.CameraAccessException
        Enables CameraManager.openCamera(String, StateCallback, Handler) to open a CameraDevice.

        If the provided cameraId exists, this will always post to the provided {@link Handler}. Unlike on real Android, this will not check if the camera has been disabled by device policy and does not attempt to connect to the camera service, so {@link CameraDevice.StateCallback#onError(CameraDevice, int)} and {@link CameraDevice.StateCallback#onDisconnected(CameraDevice)} will not be triggered by {@link CameraManager#openCamera(String, StateCallback, Handler)}.

        Throws:
        android.hardware.camera2.CameraAccessException
      • addCamera

        public void addCamera​(java.lang.String cameraId,
                              android.hardware.camera2.CameraCharacteristics characteristics)
        Adds the given cameraId and characteristics to this shadow.

        The result from getCameraIdList() will be in the order in which cameras were added.

        Throws:
        java.lang.IllegalArgumentException - if there's already an existing camera with the given id.
      • removeCamera

        public void removeCamera​(java.lang.String cameraId)
        Removes the given cameraId and associated characteristics from this shadow.
        Throws:
        java.lang.IllegalArgumentException - if there is not an existing camera with the given id.
      • getTorchMode

        public boolean getTorchMode​(java.lang.String cameraId)
        Returns what the supplied camera's torch is set to.