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