Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4af73c21 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Camera2: Listener rework and other API updates

 - Add Handlers to each callback-accepting function
 - Expand CameraDevice ErrorListener to CameraDeviceListener
   - Add idle callback
   - Split out disconnect error to its own callback
 - Add CameraDevice#getId
 - Rename CameraManager's listener to AvailabilityListener
 - Rename CameraManager register/unregister*Listener to
   add/remove*Listener
 - Rename getDeviceIdList to getCameraIdList

Bug: 10549567
Bug: 10549462
Change-Id: Idd2ae8ad8eb126f35a15d765306ada7c1cf74eea
parent ec7a6ea8
Loading
Loading
Loading
Loading
+25 −19
Original line number Diff line number Diff line
@@ -10800,16 +10800,17 @@ package android.hardware.camera2 {
  }
  public abstract interface CameraDevice implements java.lang.AutoCloseable {
    method public abstract void capture(android.hardware.camera2.CaptureRequest, android.hardware.camera2.CameraDevice.CaptureListener) throws android.hardware.camera2.CameraAccessException;
    method public abstract void captureBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraDevice.CaptureListener) throws android.hardware.camera2.CameraAccessException;
    method public abstract void capture(android.hardware.camera2.CaptureRequest, android.hardware.camera2.CameraDevice.CaptureListener, android.os.Handler) throws android.hardware.camera2.CameraAccessException;
    method public abstract void captureBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraDevice.CaptureListener, android.os.Handler) throws android.hardware.camera2.CameraAccessException;
    method public abstract void close() throws java.lang.Exception;
    method public abstract void configureOutputs(java.util.List<android.view.Surface>) throws android.hardware.camera2.CameraAccessException;
    method public abstract android.hardware.camera2.CaptureRequest createCaptureRequest(int) throws android.hardware.camera2.CameraAccessException;
    method public abstract void flush() throws android.hardware.camera2.CameraAccessException;
    method public abstract java.lang.String getId();
    method public abstract android.hardware.camera2.CameraProperties getProperties() throws android.hardware.camera2.CameraAccessException;
    method public abstract void setErrorListener(android.hardware.camera2.CameraDevice.ErrorListener);
    method public abstract void setRepeatingBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraDevice.CaptureListener) throws android.hardware.camera2.CameraAccessException;
    method public abstract void setRepeatingRequest(android.hardware.camera2.CaptureRequest, android.hardware.camera2.CameraDevice.CaptureListener) throws android.hardware.camera2.CameraAccessException;
    method public abstract void setDeviceListener(android.hardware.camera2.CameraDevice.CameraDeviceListener, android.os.Handler);
    method public abstract void setRepeatingBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraDevice.CaptureListener, android.os.Handler) throws android.hardware.camera2.CameraAccessException;
    method public abstract void setRepeatingRequest(android.hardware.camera2.CaptureRequest, android.hardware.camera2.CameraDevice.CaptureListener, android.os.Handler) throws android.hardware.camera2.CameraAccessException;
    method public abstract void stopRepeating() throws android.hardware.camera2.CameraAccessException;
    method public abstract void waitUntilIdle() throws android.hardware.camera2.CameraAccessException;
    field public static final int TEMPLATE_MANUAL = 5; // 0x5
@@ -10819,29 +10820,34 @@ package android.hardware.camera2 {
    field public static final int TEMPLATE_VIDEO_SNAPSHOT = 4; // 0x4
  }
  public static abstract interface CameraDevice.CaptureListener {
    method public abstract void onCaptureComplete(android.hardware.camera2.CameraDevice, android.hardware.camera2.CaptureRequest, android.hardware.camera2.CaptureResult);
    method public abstract void onCaptureFailed(android.hardware.camera2.CameraDevice, android.hardware.camera2.CaptureRequest);
  public static abstract class CameraDevice.CameraDeviceListener {
    ctor public CameraDevice.CameraDeviceListener();
    method public void onCameraDisconnected(android.hardware.camera2.CameraDevice);
    method public void onCameraError(android.hardware.camera2.CameraDevice, int);
    method public void onCameraIdle(android.hardware.camera2.CameraDevice);
    field public static final int ERROR_CAMERA_DEVICE = 1; // 0x1
    field public static final int ERROR_CAMERA_SERVICE = 2; // 0x2
  }
  public static abstract interface CameraDevice.ErrorListener {
    method public abstract void onCameraDeviceError(android.hardware.camera2.CameraDevice, int);
    field public static final int DEVICE_DISCONNECTED = 1; // 0x1
    field public static final int DEVICE_ERROR = 2; // 0x2
    field public static final int SERVICE_ERROR = 3; // 0x3
  public static abstract class CameraDevice.CaptureListener {
    ctor public CameraDevice.CaptureListener();
    method public void onCaptureCompleted(android.hardware.camera2.CameraDevice, android.hardware.camera2.CaptureRequest, android.hardware.camera2.CaptureResult);
    method public void onCaptureFailed(android.hardware.camera2.CameraDevice, android.hardware.camera2.CaptureRequest);
    method public void onCaptureStarted(android.hardware.camera2.CameraDevice, android.hardware.camera2.CaptureRequest, long);
  }
  public final class CameraManager {
    method public void addAvailabilityListener(android.hardware.camera2.CameraManager.AvailabilityListener, android.os.Handler);
    method public java.lang.String[] getCameraIdList() throws android.hardware.camera2.CameraAccessException;
    method public android.hardware.camera2.CameraProperties getCameraProperties(java.lang.String) throws android.hardware.camera2.CameraAccessException;
    method public java.lang.String[] getDeviceIdList() throws android.hardware.camera2.CameraAccessException;
    method public android.hardware.camera2.CameraDevice openCamera(java.lang.String) throws android.hardware.camera2.CameraAccessException;
    method public void registerCameraListener(android.hardware.camera2.CameraManager.CameraListener);
    method public void unregisterCameraListener(android.hardware.camera2.CameraManager.CameraListener);
    method public void removeAvailabilityListener(android.hardware.camera2.CameraManager.AvailabilityListener);
  }
  public static abstract interface CameraManager.CameraListener {
    method public abstract void onCameraAvailable(java.lang.String);
    method public abstract void onCameraUnavailable(java.lang.String);
  public static abstract class CameraManager.AvailabilityListener {
    ctor public CameraManager.AvailabilityListener();
    method public void onCameraAvailable(java.lang.String);
    method public void onCameraUnavailable(java.lang.String);
  }
  public class CameraMetadata implements java.lang.AutoCloseable android.os.Parcelable {