1// Signature format: 4.0
2package androidx.camera.core {
3
4  @RequiresApi(21) 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    field public static final int RATIO_DEFAULT = -1; // 0xffffffff
8  }
9
10  @RequiresApi(21) public interface Camera {
11    method public androidx.camera.core.CameraControl getCameraControl();
12    method public androidx.camera.core.CameraInfo getCameraInfo();
13  }
14
15  @RequiresApi(21) public interface CameraControl {
16    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> cancelFocusAndMetering();
17    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> enableTorch(boolean);
18    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Integer!> setExposureCompensationIndex(int);
19    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setLinearZoom(@FloatRange(from=0.0f, to=1.0f) float);
20    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setZoomRatio(float);
21    method public com.google.common.util.concurrent.ListenableFuture<androidx.camera.core.FocusMeteringResult!> startFocusAndMetering(androidx.camera.core.FocusMeteringAction);
22  }
23
24  public static final class CameraControl.OperationCanceledException extends java.lang.Exception {
25  }
26
27  @RequiresApi(21) public abstract class CameraEffect {
28    ctor protected CameraEffect(int, java.util.concurrent.Executor, androidx.camera.core.ImageProcessor, androidx.core.util.Consumer<java.lang.Throwable!>);
29    ctor protected CameraEffect(int, java.util.concurrent.Executor, androidx.camera.core.SurfaceProcessor, androidx.core.util.Consumer<java.lang.Throwable!>);
30    method public androidx.core.util.Consumer<java.lang.Throwable!> getErrorListener();
31    method public java.util.concurrent.Executor getExecutor();
32    method public androidx.camera.core.SurfaceProcessor? getSurfaceProcessor();
33    method public int getTargets();
34    field public static final int IMAGE_CAPTURE = 4; // 0x4
35    field public static final int PREVIEW = 1; // 0x1
36    field public static final int VIDEO_CAPTURE = 2; // 0x2
37  }
38
39  @RequiresApi(21) public interface CameraFilter {
40    method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>);
41  }
42
43  @RequiresApi(21) public interface CameraInfo {
44    method public androidx.camera.core.CameraSelector getCameraSelector();
45    method public androidx.lifecycle.LiveData<androidx.camera.core.CameraState!> getCameraState();
46    method public androidx.camera.core.ExposureState getExposureState();
47    method @FloatRange(from=0, fromInclusive=false) public default float getIntrinsicZoomRatio();
48    method public default int getLensFacing();
49    method public int getSensorRotationDegrees();
50    method public int getSensorRotationDegrees(int);
51    method public default java.util.Set<android.util.Range<java.lang.Integer!>!> getSupportedFrameRateRanges();
52    method public androidx.lifecycle.LiveData<java.lang.Integer!> getTorchState();
53    method public androidx.lifecycle.LiveData<androidx.camera.core.ZoomState!> getZoomState();
54    method public boolean hasFlashUnit();
55    method public default boolean isFocusMeteringSupported(androidx.camera.core.FocusMeteringAction);
56    method @SuppressCompatibility @androidx.camera.core.ExperimentalZeroShutterLag public default boolean isZslSupported();
57  }
58
59  @RequiresApi(21) public final class CameraInfoUnavailableException extends java.lang.Exception {
60  }
61
62  @RequiresApi(21) public interface CameraProvider {
63    method public java.util.List<androidx.camera.core.CameraInfo!> getAvailableCameraInfos();
64    method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
65  }
66
67  @RequiresApi(21) public final class CameraSelector {
68    method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>);
69    field public static final androidx.camera.core.CameraSelector DEFAULT_BACK_CAMERA;
70    field public static final androidx.camera.core.CameraSelector DEFAULT_FRONT_CAMERA;
71    field public static final int LENS_FACING_BACK = 1; // 0x1
72    field @SuppressCompatibility @androidx.camera.core.ExperimentalLensFacing public static final int LENS_FACING_EXTERNAL = 2; // 0x2
73    field public static final int LENS_FACING_FRONT = 0; // 0x0
74    field public static final int LENS_FACING_UNKNOWN = -1; // 0xffffffff
75  }
76
77  public static final class CameraSelector.Builder {
78    ctor public CameraSelector.Builder();
79    method public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
80    method public androidx.camera.core.CameraSelector build();
81    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
82  }
83
84  @RequiresApi(21) @com.google.auto.value.AutoValue public abstract class CameraState {
85    ctor public CameraState();
86    method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type);
87    method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type, androidx.camera.core.CameraState.StateError?);
88    method public abstract androidx.camera.core.CameraState.StateError? getError();
89    method public abstract androidx.camera.core.CameraState.Type getType();
90    field public static final int ERROR_CAMERA_DISABLED = 5; // 0x5
91    field public static final int ERROR_CAMERA_FATAL_ERROR = 6; // 0x6
92    field public static final int ERROR_CAMERA_IN_USE = 2; // 0x2
93    field public static final int ERROR_DO_NOT_DISTURB_MODE_ENABLED = 7; // 0x7
94    field public static final int ERROR_MAX_CAMERAS_IN_USE = 1; // 0x1
95    field public static final int ERROR_OTHER_RECOVERABLE_ERROR = 3; // 0x3
96    field public static final int ERROR_STREAM_CONFIG = 4; // 0x4
97  }
98
99  public enum CameraState.ErrorType {
100    enum_constant public static final androidx.camera.core.CameraState.ErrorType CRITICAL;
101    enum_constant public static final androidx.camera.core.CameraState.ErrorType RECOVERABLE;
102  }
103
104  @com.google.auto.value.AutoValue public abstract static class CameraState.StateError {
105    ctor public CameraState.StateError();
106    method public static androidx.camera.core.CameraState.StateError create(int);
107    method public static androidx.camera.core.CameraState.StateError create(int, Throwable?);
108    method public abstract Throwable? getCause();
109    method public abstract int getCode();
110    method public androidx.camera.core.CameraState.ErrorType getType();
111  }
112
113  public enum CameraState.Type {
114    enum_constant public static final androidx.camera.core.CameraState.Type CLOSED;
115    enum_constant public static final androidx.camera.core.CameraState.Type CLOSING;
116    enum_constant public static final androidx.camera.core.CameraState.Type OPEN;
117    enum_constant public static final androidx.camera.core.CameraState.Type OPENING;
118    enum_constant public static final androidx.camera.core.CameraState.Type PENDING_OPEN;
119  }
120
121  @RequiresApi(21) public class CameraUnavailableException extends java.lang.Exception {
122    ctor public CameraUnavailableException(int);
123    ctor public CameraUnavailableException(int, String?);
124    ctor public CameraUnavailableException(int, String?, Throwable?);
125    ctor public CameraUnavailableException(int, Throwable?);
126    method public int getReason();
127    field public static final int CAMERA_DISABLED = 1; // 0x1
128    field public static final int CAMERA_DISCONNECTED = 2; // 0x2
129    field public static final int CAMERA_ERROR = 3; // 0x3
130    field public static final int CAMERA_IN_USE = 4; // 0x4
131    field public static final int CAMERA_MAX_IN_USE = 5; // 0x5
132    field public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6; // 0x6
133    field public static final int CAMERA_UNKNOWN_ERROR = 0; // 0x0
134  }
135
136  @RequiresApi(21) public final class CameraXConfig {
137    method public androidx.camera.core.CameraSelector? getAvailableCamerasLimiter(androidx.camera.core.CameraSelector?);
138    method public java.util.concurrent.Executor? getCameraExecutor(java.util.concurrent.Executor?);
139    method public int getMinimumLoggingLevel();
140    method public android.os.Handler? getSchedulerHandler(android.os.Handler?);
141  }
142
143  public static final class CameraXConfig.Builder {
144    method public androidx.camera.core.CameraXConfig build();
145    method public static androidx.camera.core.CameraXConfig.Builder fromConfig(androidx.camera.core.CameraXConfig);
146    method public androidx.camera.core.CameraXConfig.Builder setAvailableCamerasLimiter(androidx.camera.core.CameraSelector);
147    method public androidx.camera.core.CameraXConfig.Builder setCameraExecutor(java.util.concurrent.Executor);
148    method public androidx.camera.core.CameraXConfig.Builder setMinimumLoggingLevel(@IntRange(from=android.util.Log.DEBUG, to=android.util.Log.ERROR) int);
149    method public androidx.camera.core.CameraXConfig.Builder setSchedulerHandler(android.os.Handler);
150  }
151
152  public static interface CameraXConfig.Provider {
153    method public androidx.camera.core.CameraXConfig getCameraXConfig();
154  }
155
156  @RequiresApi(21) public class ConcurrentCamera {
157    ctor public ConcurrentCamera(java.util.List<androidx.camera.core.Camera!>);
158    method public java.util.List<androidx.camera.core.Camera!> getCameras();
159  }
160
161  public static final class ConcurrentCamera.SingleCameraConfig {
162    ctor public ConcurrentCamera.SingleCameraConfig(androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup, androidx.lifecycle.LifecycleOwner);
163    method public androidx.camera.core.CameraSelector getCameraSelector();
164    method public androidx.lifecycle.LifecycleOwner getLifecycleOwner();
165    method public androidx.camera.core.UseCaseGroup getUseCaseGroup();
166  }
167
168  @RequiresApi(21) public final class DisplayOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
169    ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraInfo, float, float);
170  }
171
172  @RequiresApi(21) public final class DynamicRange {
173    ctor public DynamicRange(int, int);
174    method public int getBitDepth();
175    method public int getEncoding();
176    field public static final int BIT_DEPTH_10_BIT = 10; // 0xa
177    field public static final int BIT_DEPTH_8_BIT = 8; // 0x8
178    field public static final int BIT_DEPTH_UNSPECIFIED = 0; // 0x0
179    field public static final androidx.camera.core.DynamicRange DOLBY_VISION_10_BIT;
180    field public static final androidx.camera.core.DynamicRange DOLBY_VISION_8_BIT;
181    field public static final int ENCODING_DOLBY_VISION = 6; // 0x6
182    field public static final int ENCODING_HDR10 = 4; // 0x4
183    field public static final int ENCODING_HDR10_PLUS = 5; // 0x5
184    field public static final int ENCODING_HDR_UNSPECIFIED = 2; // 0x2
185    field public static final int ENCODING_HLG = 3; // 0x3
186    field public static final int ENCODING_SDR = 1; // 0x1
187    field public static final int ENCODING_UNSPECIFIED = 0; // 0x0
188    field public static final androidx.camera.core.DynamicRange HDR10_10_BIT;
189    field public static final androidx.camera.core.DynamicRange HDR10_PLUS_10_BIT;
190    field public static final androidx.camera.core.DynamicRange HDR_UNSPECIFIED_10_BIT;
191    field public static final androidx.camera.core.DynamicRange HLG_10_BIT;
192    field public static final androidx.camera.core.DynamicRange SDR;
193    field public static final androidx.camera.core.DynamicRange UNSPECIFIED;
194  }
195
196  @SuppressCompatibility @RequiresApi(21) @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalGetImage {
197  }
198
199  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalLensFacing {
200  }
201
202  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalUseCaseApi {
203  }
204
205  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalZeroShutterLag {
206  }
207
208  @RequiresApi(21) public interface ExposureState {
209    method public int getExposureCompensationIndex();
210    method public android.util.Range<java.lang.Integer!> getExposureCompensationRange();
211    method public android.util.Rational getExposureCompensationStep();
212    method public boolean isExposureCompensationSupported();
213  }
214
215  @RequiresApi(21) public interface ExtendableBuilder<T> {
216    method public T build();
217  }
218
219  @RequiresApi(21) public final class FocusMeteringAction {
220    method public long getAutoCancelDurationInMillis();
221    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe();
222    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf();
223    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb();
224    method public boolean isAutoCancelEnabled();
225    field public static final int FLAG_AE = 2; // 0x2
226    field public static final int FLAG_AF = 1; // 0x1
227    field public static final int FLAG_AWB = 4; // 0x4
228  }
229
230  public static class FocusMeteringAction.Builder {
231    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint);
232    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int);
233    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint);
234    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int);
235    method public androidx.camera.core.FocusMeteringAction build();
236    method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel();
237    method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit);
238  }
239
240  @RequiresApi(21) public final class FocusMeteringResult {
241    method public boolean isFocusSuccessful();
242  }
243
244  @RequiresApi(21) public final class ImageAnalysis extends androidx.camera.core.UseCase {
245    method public void clearAnalyzer();
246    method @SuppressCompatibility @androidx.camera.core.ExperimentalUseCaseApi public java.util.concurrent.Executor? getBackgroundExecutor();
247    method public int getBackpressureStrategy();
248    method public int getImageQueueDepth();
249    method public int getOutputImageFormat();
250    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
251    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
252    method public int getTargetRotation();
253    method public boolean isOutputImageRotationEnabled();
254    method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer);
255    method public void setTargetRotation(int);
256    field public static final int COORDINATE_SYSTEM_ORIGINAL = 0; // 0x0
257    field public static final int OUTPUT_IMAGE_FORMAT_RGBA_8888 = 2; // 0x2
258    field public static final int OUTPUT_IMAGE_FORMAT_YUV_420_888 = 1; // 0x1
259    field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1
260    field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0
261  }
262
263  public static interface ImageAnalysis.Analyzer {
264    method public void analyze(androidx.camera.core.ImageProxy);
265    method public default android.util.Size? getDefaultTargetResolution();
266    method public default int getTargetCoordinateSystem();
267    method public default void updateTransform(android.graphics.Matrix?);
268  }
269
270  public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis!> {
271    ctor public ImageAnalysis.Builder();
272    method public androidx.camera.core.ImageAnalysis build();
273    method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor);
274    method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int);
275    method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int);
276    method public androidx.camera.core.ImageAnalysis.Builder setOutputImageFormat(int);
277    method @RequiresApi(23) public androidx.camera.core.ImageAnalysis.Builder setOutputImageRotationEnabled(boolean);
278    method public androidx.camera.core.ImageAnalysis.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
279    method @Deprecated public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int);
280    method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String);
281    method @Deprecated public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size);
282    method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int);
283  }
284
285  @RequiresApi(21) public final class ImageCapture extends androidx.camera.core.UseCase {
286    method public int getCaptureMode();
287    method public int getFlashMode();
288    method @IntRange(from=1, to=100) public int getJpegQuality();
289    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
290    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
291    method public int getTargetRotation();
292    method public void setCropAspectRatio(android.util.Rational);
293    method public void setFlashMode(int);
294    method public void setTargetRotation(int);
295    method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback);
296    method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback);
297    field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0
298    field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1
299    field @SuppressCompatibility @androidx.camera.core.ExperimentalZeroShutterLag public static final int CAPTURE_MODE_ZERO_SHUTTER_LAG = 2; // 0x2
300    field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3
301    field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2
302    field public static final int ERROR_FILE_IO = 1; // 0x1
303    field public static final int ERROR_INVALID_CAMERA = 4; // 0x4
304    field public static final int ERROR_UNKNOWN = 0; // 0x0
305    field public static final int FLASH_MODE_AUTO = 0; // 0x0
306    field public static final int FLASH_MODE_OFF = 2; // 0x2
307    field public static final int FLASH_MODE_ON = 1; // 0x1
308  }
309
310  public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture!> {
311    ctor public ImageCapture.Builder();
312    method public androidx.camera.core.ImageCapture build();
313    method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int);
314    method public androidx.camera.core.ImageCapture.Builder setFlashMode(int);
315    method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor);
316    method public androidx.camera.core.ImageCapture.Builder setJpegQuality(@IntRange(from=1, to=100) int);
317    method public androidx.camera.core.ImageCapture.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
318    method @Deprecated public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int);
319    method public androidx.camera.core.ImageCapture.Builder setTargetName(String);
320    method @Deprecated public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size);
321    method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int);
322  }
323
324  public static final class ImageCapture.Metadata {
325    ctor public ImageCapture.Metadata();
326    method public android.location.Location? getLocation();
327    method public boolean isReversedHorizontal();
328    method public boolean isReversedVertical();
329    method public void setLocation(android.location.Location?);
330    method public void setReversedHorizontal(boolean);
331    method public void setReversedVertical(boolean);
332  }
333
334  public abstract static class ImageCapture.OnImageCapturedCallback {
335    ctor public ImageCapture.OnImageCapturedCallback();
336    method public void onCaptureSuccess(androidx.camera.core.ImageProxy);
337    method public void onError(androidx.camera.core.ImageCaptureException);
338  }
339
340  public static interface ImageCapture.OnImageSavedCallback {
341    method public void onError(androidx.camera.core.ImageCaptureException);
342    method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults);
343  }
344
345  public static final class ImageCapture.OutputFileOptions {
346  }
347
348  public static final class ImageCapture.OutputFileOptions.Builder {
349    ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues);
350    ctor public ImageCapture.OutputFileOptions.Builder(java.io.File);
351    ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream);
352    method public androidx.camera.core.ImageCapture.OutputFileOptions build();
353    method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata);
354  }
355
356  public static class ImageCapture.OutputFileResults {
357    method public android.net.Uri? getSavedUri();
358  }
359
360  @RequiresApi(21) public class ImageCaptureException extends java.lang.Exception {
361    ctor public ImageCaptureException(int, String, Throwable?);
362    method public int getImageCaptureError();
363  }
364
365  @RequiresApi(21) public interface ImageInfo {
366    method public int getRotationDegrees();
367    method public default android.graphics.Matrix getSensorToBufferTransformMatrix();
368    method public long getTimestamp();
369  }
370
371  public interface ImageProcessor {
372    method public androidx.camera.core.ImageProcessor.Response process(androidx.camera.core.ImageProcessor.Request) throws androidx.camera.core.ProcessingException;
373  }
374
375  public static interface ImageProcessor.Request {
376    method public androidx.camera.core.ImageProxy getInputImage();
377    method public int getOutputFormat();
378  }
379
380  public static interface ImageProcessor.Response {
381    method public androidx.camera.core.ImageProxy getOutputImage();
382  }
383
384  @RequiresApi(21) public interface ImageProxy extends java.lang.AutoCloseable {
385    method public void close();
386    method public android.graphics.Rect getCropRect();
387    method public int getFormat();
388    method public int getHeight();
389    method @SuppressCompatibility @androidx.camera.core.ExperimentalGetImage public android.media.Image? getImage();
390    method public androidx.camera.core.ImageInfo getImageInfo();
391    method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes();
392    method public int getWidth();
393    method public void setCropRect(android.graphics.Rect?);
394    method public default android.graphics.Bitmap toBitmap();
395  }
396
397  public static interface ImageProxy.PlaneProxy {
398    method public java.nio.ByteBuffer getBuffer();
399    method public int getPixelStride();
400    method public int getRowStride();
401  }
402
403  @RequiresApi(21) public class InitializationException extends java.lang.Exception {
404    ctor public InitializationException(String?);
405    ctor public InitializationException(String?, Throwable?);
406    ctor public InitializationException(Throwable?);
407  }
408
409  @RequiresApi(21) public class MeteringPoint {
410    method public float getSize();
411  }
412
413  @RequiresApi(21) public abstract class MeteringPointFactory {
414    method public final androidx.camera.core.MeteringPoint createPoint(float, float);
415    method public final androidx.camera.core.MeteringPoint createPoint(float, float, float);
416    method public static float getDefaultPointSize();
417  }
418
419  @RequiresApi(21) public class MirrorMode {
420    field public static final int MIRROR_MODE_OFF = 0; // 0x0
421    field public static final int MIRROR_MODE_ON = 1; // 0x1
422    field public static final int MIRROR_MODE_ON_FRONT_ONLY = 2; // 0x2
423  }
424
425  @RequiresApi(21) public final class Preview extends androidx.camera.core.UseCase {
426    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
427    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
428    method public android.util.Range<java.lang.Integer!> getTargetFrameRate();
429    method public int getTargetRotation();
430    method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?);
431    method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?);
432    method public void setTargetRotation(int);
433  }
434
435  public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview!> {
436    ctor public Preview.Builder();
437    method public androidx.camera.core.Preview build();
438    method public androidx.camera.core.Preview.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
439    method @Deprecated public androidx.camera.core.Preview.Builder setTargetAspectRatio(int);
440    method public androidx.camera.core.Preview.Builder setTargetFrameRate(android.util.Range<java.lang.Integer!>);
441    method public androidx.camera.core.Preview.Builder setTargetName(String);
442    method @Deprecated public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size);
443    method public androidx.camera.core.Preview.Builder setTargetRotation(int);
444  }
445
446  public static interface Preview.SurfaceProvider {
447    method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest);
448  }
449
450  public class ProcessingException extends java.lang.Exception {
451    ctor public ProcessingException();
452  }
453
454  @RequiresApi(21) public class ResolutionInfo {
455    ctor public ResolutionInfo(android.util.Size, android.graphics.Rect, int);
456    method public android.graphics.Rect getCropRect();
457    method public android.util.Size getResolution();
458    method public int getRotationDegrees();
459  }
460
461  @RequiresApi(21) public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
462    ctor public SurfaceOrientedMeteringPointFactory(float, float);
463    ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase);
464  }
465
466  public interface SurfaceOutput extends java.io.Closeable {
467    method public void close();
468    method public android.util.Size getSize();
469    method public android.view.Surface getSurface(java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceOutput.Event!>);
470    method public int getTargets();
471    method public void updateTransformMatrix(float[], float[]);
472  }
473
474  @com.google.auto.value.AutoValue public abstract static class SurfaceOutput.Event {
475    method public abstract int getEventCode();
476    method public abstract androidx.camera.core.SurfaceOutput getSurfaceOutput();
477    field public static final int EVENT_REQUEST_CLOSE = 0; // 0x0
478  }
479
480  public interface SurfaceProcessor {
481    method public void onInputSurface(androidx.camera.core.SurfaceRequest) throws androidx.camera.core.ProcessingException;
482    method public void onOutputSurface(androidx.camera.core.SurfaceOutput) throws androidx.camera.core.ProcessingException;
483  }
484
485  @RequiresApi(21) public final class SurfaceRequest {
486    method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable);
487    method public void clearTransformationInfoListener();
488    method public androidx.camera.core.DynamicRange getDynamicRange();
489    method public android.util.Size getResolution();
490    method public boolean invalidate();
491    method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>);
492    method public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener);
493    method public boolean willNotProvideSurface();
494  }
495
496  @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result {
497    method public abstract int getResultCode();
498    method public abstract android.view.Surface getSurface();
499    field public static final int RESULT_INVALID_SURFACE = 2; // 0x2
500    field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1
501    field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3
502    field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0
503    field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4
504  }
505
506  @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo {
507    method public abstract android.graphics.Rect getCropRect();
508    method public abstract int getRotationDegrees();
509  }
510
511  public static interface SurfaceRequest.TransformationInfoListener {
512    method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo);
513  }
514
515  @RequiresApi(21) public class TorchState {
516    field public static final int OFF = 0; // 0x0
517    field public static final int ON = 1; // 0x1
518  }
519
520  @RequiresApi(21) public abstract class UseCase {
521    method public static int snapToSurfaceRotation(@IntRange(from=0, to=359) int);
522  }
523
524  @RequiresApi(21) public final class UseCaseGroup {
525    method public java.util.List<androidx.camera.core.CameraEffect!> getEffects();
526    method public java.util.List<androidx.camera.core.UseCase!> getUseCases();
527    method public androidx.camera.core.ViewPort? getViewPort();
528  }
529
530  public static final class UseCaseGroup.Builder {
531    ctor public UseCaseGroup.Builder();
532    method public androidx.camera.core.UseCaseGroup.Builder addEffect(androidx.camera.core.CameraEffect);
533    method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase);
534    method public androidx.camera.core.UseCaseGroup build();
535    method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort);
536  }
537
538  @RequiresApi(21) public final class ViewPort {
539    method public android.util.Rational getAspectRatio();
540    method public int getLayoutDirection();
541    method public int getRotation();
542    method public int getScaleType();
543    field public static final int FILL_CENTER = 1; // 0x1
544    field public static final int FILL_END = 2; // 0x2
545    field public static final int FILL_START = 0; // 0x0
546    field public static final int FIT = 3; // 0x3
547  }
548
549  public static final class ViewPort.Builder {
550    ctor public ViewPort.Builder(android.util.Rational, int);
551    method public androidx.camera.core.ViewPort build();
552    method public androidx.camera.core.ViewPort.Builder setLayoutDirection(int);
553    method public androidx.camera.core.ViewPort.Builder setScaleType(int);
554  }
555
556  @RequiresApi(21) public interface ZoomState {
557    method public float getLinearZoom();
558    method public float getMaxZoomRatio();
559    method public float getMinZoomRatio();
560    method public float getZoomRatio();
561  }
562
563}
564
565package androidx.camera.core.resolutionselector {
566
567  @RequiresApi(21) public final class AspectRatioStrategy {
568    ctor public AspectRatioStrategy(int, int);
569    method public int getFallbackRule();
570    method public int getPreferredAspectRatio();
571    field public static final int FALLBACK_RULE_AUTO = 1; // 0x1
572    field public static final int FALLBACK_RULE_NONE = 0; // 0x0
573    field public static final androidx.camera.core.resolutionselector.AspectRatioStrategy RATIO_16_9_FALLBACK_AUTO_STRATEGY;
574    field public static final androidx.camera.core.resolutionselector.AspectRatioStrategy RATIO_4_3_FALLBACK_AUTO_STRATEGY;
575  }
576
577  @RequiresApi(21) public interface ResolutionFilter {
578    method public java.util.List<android.util.Size!> filter(java.util.List<android.util.Size!>, int);
579  }
580
581  @RequiresApi(21) public final class ResolutionSelector {
582    method public int getAllowedResolutionMode();
583    method public androidx.camera.core.resolutionselector.AspectRatioStrategy getAspectRatioStrategy();
584    method public androidx.camera.core.resolutionselector.ResolutionFilter? getResolutionFilter();
585    method public androidx.camera.core.resolutionselector.ResolutionStrategy? getResolutionStrategy();
586    field public static final int PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION = 0; // 0x0
587    field public static final int PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE = 1; // 0x1
588  }
589
590  public static final class ResolutionSelector.Builder {
591    ctor public ResolutionSelector.Builder();
592    method public androidx.camera.core.resolutionselector.ResolutionSelector build();
593    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setAllowedResolutionMode(int);
594    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setAspectRatioStrategy(androidx.camera.core.resolutionselector.AspectRatioStrategy);
595    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setResolutionFilter(androidx.camera.core.resolutionselector.ResolutionFilter);
596    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setResolutionStrategy(androidx.camera.core.resolutionselector.ResolutionStrategy);
597  }
598
599  @RequiresApi(21) public final class ResolutionStrategy {
600    ctor public ResolutionStrategy(android.util.Size, int);
601    method public android.util.Size? getBoundSize();
602    method public int getFallbackRule();
603    field public static final int FALLBACK_RULE_CLOSEST_HIGHER = 2; // 0x2
604    field public static final int FALLBACK_RULE_CLOSEST_HIGHER_THEN_LOWER = 1; // 0x1
605    field public static final int FALLBACK_RULE_CLOSEST_LOWER = 4; // 0x4
606    field public static final int FALLBACK_RULE_CLOSEST_LOWER_THEN_HIGHER = 3; // 0x3
607    field public static final int FALLBACK_RULE_NONE = 0; // 0x0
608    field public static final androidx.camera.core.resolutionselector.ResolutionStrategy HIGHEST_AVAILABLE_STRATEGY;
609  }
610
611}
612
613