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