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