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