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