1// Signature format: 4.0
2package androidx.camera.core {
3
4  public class AspectRatio {
5    field public static final int RATIO_16_9 = 1; // 0x1
6    field public static final int RATIO_4_3 = 0; // 0x0
7  }
8
9  public interface Camera {
10    method public androidx.camera.core.CameraControl getCameraControl();
11    method public androidx.camera.core.CameraInfo getCameraInfo();
12  }
13
14  public interface CameraControl {
15    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> cancelFocusAndMetering();
16    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> enableTorch(boolean);
17    method @androidx.camera.core.ExperimentalExposureCompensation public com.google.common.util.concurrent.ListenableFuture<java.lang.Integer!> setExposureCompensationIndex(int);
18    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setLinearZoom(@FloatRange(from=0.0f, to=1.0f) float);
19    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setZoomRatio(float);
20    method public com.google.common.util.concurrent.ListenableFuture<androidx.camera.core.FocusMeteringResult!> startFocusAndMetering(androidx.camera.core.FocusMeteringAction);
21  }
22
23  public static final class CameraControl.OperationCanceledException extends java.lang.Exception {
24  }
25
26  @androidx.camera.core.ExperimentalCameraFilter public interface CameraFilter {
27    method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>);
28  }
29
30  public interface CameraInfo {
31    method @androidx.camera.core.ExperimentalExposureCompensation public androidx.camera.core.ExposureState getExposureState();
32    method public int getSensorRotationDegrees();
33    method public int getSensorRotationDegrees(int);
34    method public androidx.lifecycle.LiveData<java.lang.Integer!> getTorchState();
35    method public androidx.lifecycle.LiveData<androidx.camera.core.ZoomState!> getZoomState();
36    method public boolean hasFlashUnit();
37  }
38
39  public final class CameraInfoUnavailableException extends java.lang.Exception {
40  }
41
42  public final class CameraSelector {
43    field public static final androidx.camera.core.CameraSelector DEFAULT_BACK_CAMERA;
44    field public static final androidx.camera.core.CameraSelector DEFAULT_FRONT_CAMERA;
45    field public static final int LENS_FACING_BACK = 1; // 0x1
46    field public static final int LENS_FACING_FRONT = 0; // 0x0
47  }
48
49  public static final class CameraSelector.Builder {
50    ctor public CameraSelector.Builder();
51    method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
52    method public androidx.camera.core.CameraSelector build();
53    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
54  }
55
56  public class CameraUnavailableException extends java.lang.Exception {
57    ctor public CameraUnavailableException(int);
58    ctor public CameraUnavailableException(int, String?);
59    ctor public CameraUnavailableException(int, String?, Throwable?);
60    ctor public CameraUnavailableException(int, Throwable?);
61    method public int getReason();
62    field public static final int CAMERA_DISABLED = 1; // 0x1
63    field public static final int CAMERA_DISCONNECTED = 2; // 0x2
64    field public static final int CAMERA_ERROR = 3; // 0x3
65    field public static final int CAMERA_IN_USE = 4; // 0x4
66    field public static final int CAMERA_MAX_IN_USE = 5; // 0x5
67    field public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6; // 0x6
68    field public static final int CAMERA_UNKNOWN_ERROR = 0; // 0x0
69  }
70
71  public final class CameraXConfig {
72    method @androidx.camera.core.ExperimentalAvailableCamerasLimiter public androidx.camera.core.CameraSelector? getAvailableCamerasSelector(androidx.camera.core.CameraSelector?);
73    method @androidx.camera.core.ExperimentalLogging public int getMinimumLoggingLevel();
74  }
75
76  public static final class CameraXConfig.Builder {
77    method public androidx.camera.core.CameraXConfig build();
78    method public static androidx.camera.core.CameraXConfig.Builder fromConfig(androidx.camera.core.CameraXConfig);
79    method @androidx.camera.core.ExperimentalAvailableCamerasLimiter public androidx.camera.core.CameraXConfig.Builder setAvailableCamerasSelector(androidx.camera.core.CameraSelector);
80    method public androidx.camera.core.CameraXConfig.Builder setCameraExecutor(java.util.concurrent.Executor);
81    method @androidx.camera.core.ExperimentalLogging public androidx.camera.core.CameraXConfig.Builder setMinimumLoggingLevel(@IntRange(from=android.util.Log.DEBUG, to=android.util.Log.ERROR) int);
82    method @androidx.camera.core.ExperimentalCustomizableThreads public androidx.camera.core.CameraXConfig.Builder setSchedulerHandler(android.os.Handler);
83  }
84
85  public static interface CameraXConfig.Provider {
86    method public androidx.camera.core.CameraXConfig getCameraXConfig();
87  }
88
89  public final class DisplayOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
90    ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraInfo, float, float);
91  }
92
93  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalAvailableCamerasSelector {
94  }
95
96  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCameraFilter {
97  }
98
99  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCustomizableThreads {
100  }
101
102  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalExposureCompensation {
103  }
104
105  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalGetImage {
106  }
107
108  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalLogging {
109  }
110
111  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalUseCaseGroup {
112  }
113
114  @androidx.camera.core.ExperimentalExposureCompensation public interface ExposureState {
115    method public int getExposureCompensationIndex();
116    method public android.util.Range<java.lang.Integer!> getExposureCompensationRange();
117    method public android.util.Rational getExposureCompensationStep();
118    method public boolean isExposureCompensationSupported();
119  }
120
121  public interface ExtendableBuilder<T> {
122    method public T build();
123  }
124
125  public final class FocusMeteringAction {
126    method public long getAutoCancelDurationInMillis();
127    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe();
128    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf();
129    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb();
130    method public boolean isAutoCancelEnabled();
131    field public static final int FLAG_AE = 2; // 0x2
132    field public static final int FLAG_AF = 1; // 0x1
133    field public static final int FLAG_AWB = 4; // 0x4
134  }
135
136  public static class FocusMeteringAction.Builder {
137    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint);
138    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int);
139    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint);
140    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int);
141    method public androidx.camera.core.FocusMeteringAction build();
142    method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel();
143    method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit);
144  }
145
146  public final class FocusMeteringResult {
147    method public boolean isFocusSuccessful();
148  }
149
150  public final class ImageAnalysis extends androidx.camera.core.UseCase {
151    method public void clearAnalyzer();
152    method public int getBackpressureStrategy();
153    method public int getImageQueueDepth();
154    method public int getTargetRotation();
155    method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer);
156    method public void setTargetRotation(int);
157    field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1
158    field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0
159  }
160
161  public static interface ImageAnalysis.Analyzer {
162    method public void analyze(androidx.camera.core.ImageProxy);
163  }
164
165  public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis> {
166    ctor public ImageAnalysis.Builder();
167    method public androidx.camera.core.ImageAnalysis build();
168    method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor);
169    method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int);
170    method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int);
171    method public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int);
172    method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String);
173    method public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size);
174    method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int);
175  }
176
177  public final class ImageCapture extends androidx.camera.core.UseCase {
178    method public int getCaptureMode();
179    method public int getFlashMode();
180    method public int getTargetRotation();
181    method public void setCropAspectRatio(android.util.Rational);
182    method public void setFlashMode(int);
183    method public void setTargetRotation(int);
184    method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback);
185    method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback);
186    field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0
187    field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1
188    field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3
189    field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2
190    field public static final int ERROR_FILE_IO = 1; // 0x1
191    field public static final int ERROR_INVALID_CAMERA = 4; // 0x4
192    field public static final int ERROR_UNKNOWN = 0; // 0x0
193    field public static final int FLASH_MODE_AUTO = 0; // 0x0
194    field public static final int FLASH_MODE_OFF = 2; // 0x2
195    field public static final int FLASH_MODE_ON = 1; // 0x1
196  }
197
198  public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture> {
199    ctor public ImageCapture.Builder();
200    method public androidx.camera.core.ImageCapture build();
201    method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int);
202    method public androidx.camera.core.ImageCapture.Builder setFlashMode(int);
203    method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor);
204    method public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int);
205    method public androidx.camera.core.ImageCapture.Builder setTargetName(String);
206    method public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size);
207    method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int);
208  }
209
210  public static final class ImageCapture.Metadata {
211    ctor public ImageCapture.Metadata();
212    method public android.location.Location? getLocation();
213    method public boolean isReversedHorizontal();
214    method public boolean isReversedVertical();
215    method public void setLocation(android.location.Location?);
216    method public void setReversedHorizontal(boolean);
217    method public void setReversedVertical(boolean);
218  }
219
220  public abstract static class ImageCapture.OnImageCapturedCallback {
221    ctor public ImageCapture.OnImageCapturedCallback();
222    method public void onCaptureSuccess(androidx.camera.core.ImageProxy);
223    method public void onError(androidx.camera.core.ImageCaptureException);
224  }
225
226  public static interface ImageCapture.OnImageSavedCallback {
227    method public void onError(androidx.camera.core.ImageCaptureException);
228    method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults);
229  }
230
231  public static final class ImageCapture.OutputFileOptions {
232  }
233
234  public static final class ImageCapture.OutputFileOptions.Builder {
235    ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues);
236    ctor public ImageCapture.OutputFileOptions.Builder(java.io.File);
237    ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream);
238    method public androidx.camera.core.ImageCapture.OutputFileOptions build();
239    method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata);
240  }
241
242  public static class ImageCapture.OutputFileResults {
243    method public android.net.Uri? getSavedUri();
244  }
245
246  public class ImageCaptureException extends java.lang.Exception {
247    ctor public ImageCaptureException(int, String, Throwable?);
248    method public int getImageCaptureError();
249  }
250
251  public interface ImageInfo {
252    method public int getRotationDegrees();
253    method public long getTimestamp();
254  }
255
256  public interface ImageProxy extends java.lang.AutoCloseable {
257    method public void close();
258    method public android.graphics.Rect getCropRect();
259    method public int getFormat();
260    method public int getHeight();
261    method @androidx.camera.core.ExperimentalGetImage public android.media.Image? getImage();
262    method public androidx.camera.core.ImageInfo getImageInfo();
263    method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes();
264    method public int getWidth();
265    method public void setCropRect(android.graphics.Rect?);
266  }
267
268  public static interface ImageProxy.PlaneProxy {
269    method public java.nio.ByteBuffer getBuffer();
270    method public int getPixelStride();
271    method public int getRowStride();
272  }
273
274  public class InitializationException extends java.lang.Exception {
275    ctor public InitializationException(String?);
276    ctor public InitializationException(String?, Throwable?);
277    ctor public InitializationException(Throwable?);
278  }
279
280  public class MeteringPoint {
281    method public float getSize();
282  }
283
284  public abstract class MeteringPointFactory {
285    method public final androidx.camera.core.MeteringPoint createPoint(float, float);
286    method public final androidx.camera.core.MeteringPoint createPoint(float, float, float);
287    method public static float getDefaultPointSize();
288  }
289
290  public final class Preview extends androidx.camera.core.UseCase {
291    method public int getTargetRotation();
292    method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?);
293    method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?);
294    method @androidx.camera.core.ExperimentalUseCaseGroup public void setTargetRotation(int);
295  }
296
297  public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview> {
298    ctor public Preview.Builder();
299    method public androidx.camera.core.Preview build();
300    method public androidx.camera.core.Preview.Builder setTargetAspectRatio(int);
301    method public androidx.camera.core.Preview.Builder setTargetName(String);
302    method public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size);
303    method public androidx.camera.core.Preview.Builder setTargetRotation(int);
304  }
305
306  public static interface Preview.SurfaceProvider {
307    method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest);
308  }
309
310  public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
311    ctor public SurfaceOrientedMeteringPointFactory(float, float);
312    ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase);
313  }
314
315  public final class SurfaceRequest {
316    method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable);
317    method @androidx.camera.core.ExperimentalUseCaseGroup public void clearTransformationInfoListener();
318    method public android.util.Size getResolution();
319    method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>);
320    method @androidx.camera.core.ExperimentalUseCaseGroup public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener);
321    method public boolean willNotProvideSurface();
322  }
323
324  @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result {
325    method public abstract int getResultCode();
326    method public abstract android.view.Surface getSurface();
327    field public static final int RESULT_INVALID_SURFACE = 2; // 0x2
328    field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1
329    field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3
330    field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0
331    field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4
332  }
333
334  @androidx.camera.core.ExperimentalUseCaseGroup @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo {
335    method public abstract android.graphics.Rect getCropRect();
336    method public abstract int getRotationDegrees();
337  }
338
339  @androidx.camera.core.ExperimentalUseCaseGroup public static interface SurfaceRequest.TransformationInfoListener {
340    method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo);
341  }
342
343  public class TorchState {
344    field public static final int OFF = 0; // 0x0
345    field public static final int ON = 1; // 0x1
346  }
347
348  public abstract class UseCase {
349  }
350
351  @androidx.camera.core.ExperimentalUseCaseGroup public final class UseCaseGroup {
352    method public java.util.List<androidx.camera.core.UseCase!> getUseCases();
353    method public androidx.camera.core.ViewPort? getViewPort();
354  }
355
356  @androidx.camera.core.ExperimentalUseCaseGroup public static final class UseCaseGroup.Builder {
357    ctor public UseCaseGroup.Builder();
358    method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase);
359    method public androidx.camera.core.UseCaseGroup build();
360    method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort);
361  }
362
363  @androidx.camera.core.ExperimentalUseCaseGroup public final class ViewPort {
364    method public android.util.Rational getAspectRatio();
365    method public int getRotation();
366    method public int getScaleType();
367    field public static final int FILL_CENTER = 1; // 0x1
368    field public static final int FILL_END = 2; // 0x2
369    field public static final int FILL_START = 0; // 0x0
370    field public static final int FIT = 3; // 0x3
371  }
372
373  @androidx.camera.core.ExperimentalUseCaseGroup public static final class ViewPort.Builder {
374    ctor public ViewPort.Builder(android.util.Rational, int);
375    method public androidx.camera.core.ViewPort build();
376  }
377
378  public interface ZoomState {
379    method public float getLinearZoom();
380    method public float getMaxZoomRatio();
381    method public float getMinZoomRatio();
382    method public float getZoomRatio();
383  }
384
385}
386
387