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