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