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    field public static final int RATIO_DEFAULT = -1; // 0xffffffff
8  }
9
10  public interface Camera {
11    method public androidx.camera.core.CameraControl getCameraControl();
12    method public androidx.camera.core.CameraInfo getCameraInfo();
13  }
14
15  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  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  public interface CameraFilter {
40    method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>);
41  }
42
43  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 default java.util.Set<androidx.camera.core.CameraInfo!> getPhysicalCameraInfos();
50    method public int getSensorRotationDegrees();
51    method public int getSensorRotationDegrees(int);
52    method public default java.util.Set<android.util.Range<java.lang.Integer!>!> getSupportedFrameRateRanges();
53    method public androidx.lifecycle.LiveData<java.lang.Integer!> getTorchState();
54    method public androidx.lifecycle.LiveData<androidx.camera.core.ZoomState!> getZoomState();
55    method public boolean hasFlashUnit();
56    method public default boolean isFocusMeteringSupported(androidx.camera.core.FocusMeteringAction);
57    method public default boolean isLogicalMultiCameraSupported();
58    method @SuppressCompatibility @androidx.camera.core.ExperimentalZeroShutterLag public default boolean isZslSupported();
59    method public static boolean mustPlayShutterSound();
60    method public default java.util.Set<androidx.camera.core.DynamicRange!> querySupportedDynamicRanges(java.util.Set<androidx.camera.core.DynamicRange!>);
61  }
62
63  public final class CameraInfoUnavailableException extends java.lang.Exception {
64  }
65
66  public interface CameraProvider {
67    method public java.util.List<androidx.camera.core.CameraInfo!> getAvailableCameraInfos();
68    method @SuppressCompatibility @androidx.camera.core.ExperimentalCameraInfo public default androidx.camera.core.CameraInfo getCameraInfo(androidx.camera.core.CameraSelector);
69    method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException;
70  }
71
72  public final class CameraSelector {
73    method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>);
74    method public String? getPhysicalCameraId();
75    field public static final androidx.camera.core.CameraSelector DEFAULT_BACK_CAMERA;
76    field public static final androidx.camera.core.CameraSelector DEFAULT_FRONT_CAMERA;
77    field public static final int LENS_FACING_BACK = 1; // 0x1
78    field @SuppressCompatibility @androidx.camera.core.ExperimentalLensFacing public static final int LENS_FACING_EXTERNAL = 2; // 0x2
79    field public static final int LENS_FACING_FRONT = 0; // 0x0
80    field public static final int LENS_FACING_UNKNOWN = -1; // 0xffffffff
81  }
82
83  public static final class CameraSelector.Builder {
84    ctor public CameraSelector.Builder();
85    method public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter);
86    method public androidx.camera.core.CameraSelector build();
87    method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int);
88    method public androidx.camera.core.CameraSelector.Builder setPhysicalCameraId(String);
89  }
90
91  @com.google.auto.value.AutoValue public abstract class CameraState {
92    ctor public CameraState();
93    method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type);
94    method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type, androidx.camera.core.CameraState.StateError?);
95    method public abstract androidx.camera.core.CameraState.StateError? getError();
96    method public abstract androidx.camera.core.CameraState.Type getType();
97    field public static final int ERROR_CAMERA_DISABLED = 5; // 0x5
98    field public static final int ERROR_CAMERA_FATAL_ERROR = 6; // 0x6
99    field public static final int ERROR_CAMERA_IN_USE = 2; // 0x2
100    field public static final int ERROR_DO_NOT_DISTURB_MODE_ENABLED = 7; // 0x7
101    field public static final int ERROR_MAX_CAMERAS_IN_USE = 1; // 0x1
102    field public static final int ERROR_OTHER_RECOVERABLE_ERROR = 3; // 0x3
103    field public static final int ERROR_STREAM_CONFIG = 4; // 0x4
104  }
105
106  public enum CameraState.ErrorType {
107    enum_constant public static final androidx.camera.core.CameraState.ErrorType CRITICAL;
108    enum_constant public static final androidx.camera.core.CameraState.ErrorType RECOVERABLE;
109  }
110
111  @com.google.auto.value.AutoValue public abstract static class CameraState.StateError {
112    ctor public CameraState.StateError();
113    method public static androidx.camera.core.CameraState.StateError create(int);
114    method public static androidx.camera.core.CameraState.StateError create(int, Throwable?);
115    method public abstract Throwable? getCause();
116    method public abstract int getCode();
117    method public androidx.camera.core.CameraState.ErrorType getType();
118  }
119
120  public enum CameraState.Type {
121    enum_constant public static final androidx.camera.core.CameraState.Type CLOSED;
122    enum_constant public static final androidx.camera.core.CameraState.Type CLOSING;
123    enum_constant public static final androidx.camera.core.CameraState.Type OPEN;
124    enum_constant public static final androidx.camera.core.CameraState.Type OPENING;
125    enum_constant public static final androidx.camera.core.CameraState.Type PENDING_OPEN;
126  }
127
128  public class CameraUnavailableException extends java.lang.Exception {
129    ctor public CameraUnavailableException(int);
130    ctor public CameraUnavailableException(int, String?);
131    ctor public CameraUnavailableException(int, String?, Throwable?);
132    ctor public CameraUnavailableException(int, Throwable?);
133    method public int getReason();
134    field public static final int CAMERA_DISABLED = 1; // 0x1
135    field public static final int CAMERA_DISCONNECTED = 2; // 0x2
136    field public static final int CAMERA_ERROR = 3; // 0x3
137    field public static final int CAMERA_IN_USE = 4; // 0x4
138    field public static final int CAMERA_MAX_IN_USE = 5; // 0x5
139    field public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6; // 0x6
140    field public static final int CAMERA_UNKNOWN_ERROR = 0; // 0x0
141  }
142
143  public final class CameraXConfig {
144    method public androidx.camera.core.CameraSelector? getAvailableCamerasLimiter(androidx.camera.core.CameraSelector?);
145    method public java.util.concurrent.Executor? getCameraExecutor(java.util.concurrent.Executor?);
146    method public long getCameraOpenRetryMaxTimeoutInMillisWhileResuming();
147    method @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public androidx.camera.core.RetryPolicy getCameraProviderInitRetryPolicy();
148    method public int getMinimumLoggingLevel();
149    method public android.os.Handler? getSchedulerHandler(android.os.Handler?);
150  }
151
152  public static final class CameraXConfig.Builder {
153    method public androidx.camera.core.CameraXConfig build();
154    method public static androidx.camera.core.CameraXConfig.Builder fromConfig(androidx.camera.core.CameraXConfig);
155    method public androidx.camera.core.CameraXConfig.Builder setAvailableCamerasLimiter(androidx.camera.core.CameraSelector);
156    method public androidx.camera.core.CameraXConfig.Builder setCameraExecutor(java.util.concurrent.Executor);
157    method public androidx.camera.core.CameraXConfig.Builder setCameraOpenRetryMaxTimeoutInMillisWhileResuming(long);
158    method @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public androidx.camera.core.CameraXConfig.Builder setCameraProviderInitRetryPolicy(androidx.camera.core.RetryPolicy);
159    method public androidx.camera.core.CameraXConfig.Builder setMinimumLoggingLevel(@IntRange(from=android.util.Log.DEBUG, to=android.util.Log.ERROR) int);
160    method public androidx.camera.core.CameraXConfig.Builder setSchedulerHandler(android.os.Handler);
161  }
162
163  public static interface CameraXConfig.Provider {
164    method public androidx.camera.core.CameraXConfig getCameraXConfig();
165  }
166
167  public class ConcurrentCamera {
168    ctor public ConcurrentCamera(java.util.List<androidx.camera.core.Camera!>);
169    method public java.util.List<androidx.camera.core.Camera!> getCameras();
170  }
171
172  public static final class ConcurrentCamera.SingleCameraConfig {
173    ctor public ConcurrentCamera.SingleCameraConfig(androidx.camera.core.CameraSelector, androidx.camera.core.UseCaseGroup, androidx.lifecycle.LifecycleOwner);
174    method public androidx.camera.core.CameraSelector getCameraSelector();
175    method public androidx.lifecycle.LifecycleOwner getLifecycleOwner();
176    method public androidx.camera.core.UseCaseGroup getUseCaseGroup();
177  }
178
179  public final class DisplayOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
180    ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraInfo, float, float);
181  }
182
183  public final class DynamicRange {
184    ctor public DynamicRange(int, int);
185    method public int getBitDepth();
186    method public int getEncoding();
187    field public static final int BIT_DEPTH_10_BIT = 10; // 0xa
188    field public static final int BIT_DEPTH_8_BIT = 8; // 0x8
189    field public static final int BIT_DEPTH_UNSPECIFIED = 0; // 0x0
190    field public static final androidx.camera.core.DynamicRange DOLBY_VISION_10_BIT;
191    field public static final androidx.camera.core.DynamicRange DOLBY_VISION_8_BIT;
192    field public static final int ENCODING_DOLBY_VISION = 6; // 0x6
193    field public static final int ENCODING_HDR10 = 4; // 0x4
194    field public static final int ENCODING_HDR10_PLUS = 5; // 0x5
195    field public static final int ENCODING_HDR_UNSPECIFIED = 2; // 0x2
196    field public static final int ENCODING_HLG = 3; // 0x3
197    field public static final int ENCODING_SDR = 1; // 0x1
198    field public static final int ENCODING_UNSPECIFIED = 0; // 0x0
199    field public static final androidx.camera.core.DynamicRange HDR10_10_BIT;
200    field public static final androidx.camera.core.DynamicRange HDR10_PLUS_10_BIT;
201    field public static final androidx.camera.core.DynamicRange HDR_UNSPECIFIED_10_BIT;
202    field public static final androidx.camera.core.DynamicRange HLG_10_BIT;
203    field public static final androidx.camera.core.DynamicRange SDR;
204    field public static final androidx.camera.core.DynamicRange UNSPECIFIED;
205  }
206
207  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCameraInfo {
208  }
209
210  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalGetImage {
211  }
212
213  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalImageCaptureOutputFormat {
214  }
215
216  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalLensFacing {
217  }
218
219  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalMirrorMode {
220  }
221
222  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalRetryPolicy {
223  }
224
225  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalUseCaseApi {
226  }
227
228  @SuppressCompatibility @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalZeroShutterLag {
229  }
230
231  public interface ExposureState {
232    method public int getExposureCompensationIndex();
233    method public android.util.Range<java.lang.Integer!> getExposureCompensationRange();
234    method public android.util.Rational getExposureCompensationStep();
235    method public boolean isExposureCompensationSupported();
236  }
237
238  public interface ExtendableBuilder<T> {
239    method public T build();
240  }
241
242  public final class FocusMeteringAction {
243    method public long getAutoCancelDurationInMillis();
244    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe();
245    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf();
246    method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb();
247    method public boolean isAutoCancelEnabled();
248    field public static final int FLAG_AE = 2; // 0x2
249    field public static final int FLAG_AF = 1; // 0x1
250    field public static final int FLAG_AWB = 4; // 0x4
251  }
252
253  public static class FocusMeteringAction.Builder {
254    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint);
255    ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int);
256    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint);
257    method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int);
258    method public androidx.camera.core.FocusMeteringAction build();
259    method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel();
260    method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit);
261  }
262
263  public final class FocusMeteringResult {
264    method public boolean isFocusSuccessful();
265  }
266
267  public final class ImageAnalysis extends androidx.camera.core.UseCase {
268    method public void clearAnalyzer();
269    method @SuppressCompatibility @androidx.camera.core.ExperimentalUseCaseApi public java.util.concurrent.Executor? getBackgroundExecutor();
270    method public int getBackpressureStrategy();
271    method public int getImageQueueDepth();
272    method public int getOutputImageFormat();
273    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
274    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
275    method public int getTargetRotation();
276    method public boolean isOutputImageRotationEnabled();
277    method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer);
278    method public void setTargetRotation(int);
279    field public static final int COORDINATE_SYSTEM_ORIGINAL = 0; // 0x0
280    field public static final int COORDINATE_SYSTEM_SENSOR = 2; // 0x2
281    field public static final int COORDINATE_SYSTEM_VIEW_REFERENCED = 1; // 0x1
282    field public static final int OUTPUT_IMAGE_FORMAT_RGBA_8888 = 2; // 0x2
283    field public static final int OUTPUT_IMAGE_FORMAT_YUV_420_888 = 1; // 0x1
284    field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1
285    field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0
286  }
287
288  public static interface ImageAnalysis.Analyzer {
289    method public void analyze(androidx.camera.core.ImageProxy);
290    method public default android.util.Size? getDefaultTargetResolution();
291    method public default int getTargetCoordinateSystem();
292    method public default void updateTransform(android.graphics.Matrix?);
293  }
294
295  public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis!> {
296    ctor public ImageAnalysis.Builder();
297    method public androidx.camera.core.ImageAnalysis build();
298    method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor);
299    method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int);
300    method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int);
301    method public androidx.camera.core.ImageAnalysis.Builder setOutputImageFormat(int);
302    method @RequiresApi(23) public androidx.camera.core.ImageAnalysis.Builder setOutputImageRotationEnabled(boolean);
303    method public androidx.camera.core.ImageAnalysis.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
304    method @Deprecated public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int);
305    method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String);
306    method @Deprecated public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size);
307    method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int);
308  }
309
310  public final class ImageCapture extends androidx.camera.core.UseCase {
311    method public int getCaptureMode();
312    method public int getFlashMode();
313    method public static androidx.camera.core.ImageCaptureCapabilities getImageCaptureCapabilities(androidx.camera.core.CameraInfo);
314    method @IntRange(from=1, to=100) public int getJpegQuality();
315    method @SuppressCompatibility @androidx.camera.core.ExperimentalImageCaptureOutputFormat public int getOutputFormat();
316    method public androidx.camera.core.resolutionselector.ResolutionSelector? getPostviewResolutionSelector();
317    method public androidx.camera.core.ImageCaptureLatencyEstimate getRealtimeCaptureLatencyEstimate();
318    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
319    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
320    method public androidx.camera.core.ImageCapture.ScreenFlash? getScreenFlash();
321    method public int getTargetRotation();
322    method public boolean isPostviewEnabled();
323    method public void setCropAspectRatio(android.util.Rational);
324    method public void setFlashMode(int);
325    method public void setScreenFlash(androidx.camera.core.ImageCapture.ScreenFlash?);
326    method public void setTargetRotation(int);
327    method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback);
328    method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback);
329    field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0
330    field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1
331    field @SuppressCompatibility @androidx.camera.core.ExperimentalZeroShutterLag public static final int CAPTURE_MODE_ZERO_SHUTTER_LAG = 2; // 0x2
332    field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3
333    field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2
334    field public static final int ERROR_FILE_IO = 1; // 0x1
335    field public static final int ERROR_INVALID_CAMERA = 4; // 0x4
336    field public static final int ERROR_UNKNOWN = 0; // 0x0
337    field public static final int FLASH_MODE_AUTO = 0; // 0x0
338    field public static final int FLASH_MODE_OFF = 2; // 0x2
339    field public static final int FLASH_MODE_ON = 1; // 0x1
340    field public static final int FLASH_MODE_SCREEN = 3; // 0x3
341    field @SuppressCompatibility @androidx.camera.core.ExperimentalImageCaptureOutputFormat public static final int OUTPUT_FORMAT_JPEG = 0; // 0x0
342    field @SuppressCompatibility @androidx.camera.core.ExperimentalImageCaptureOutputFormat public static final int OUTPUT_FORMAT_JPEG_ULTRA_HDR = 1; // 0x1
343  }
344
345  public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture!> {
346    ctor public ImageCapture.Builder();
347    method public androidx.camera.core.ImageCapture build();
348    method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int);
349    method public androidx.camera.core.ImageCapture.Builder setFlashMode(int);
350    method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor);
351    method public androidx.camera.core.ImageCapture.Builder setJpegQuality(@IntRange(from=1, to=100) int);
352    method @SuppressCompatibility @androidx.camera.core.ExperimentalImageCaptureOutputFormat public androidx.camera.core.ImageCapture.Builder setOutputFormat(int);
353    method public androidx.camera.core.ImageCapture.Builder setPostviewEnabled(boolean);
354    method public androidx.camera.core.ImageCapture.Builder setPostviewResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
355    method public androidx.camera.core.ImageCapture.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
356    method public androidx.camera.core.ImageCapture.Builder setScreenFlash(androidx.camera.core.ImageCapture.ScreenFlash);
357    method @Deprecated public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int);
358    method public androidx.camera.core.ImageCapture.Builder setTargetName(String);
359    method @Deprecated public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size);
360    method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int);
361  }
362
363  public static final class ImageCapture.Metadata {
364    ctor public ImageCapture.Metadata();
365    method public android.location.Location? getLocation();
366    method public boolean isReversedHorizontal();
367    method public boolean isReversedVertical();
368    method public void setLocation(android.location.Location?);
369    method public void setReversedHorizontal(boolean);
370    method public void setReversedVertical(boolean);
371  }
372
373  public abstract static class ImageCapture.OnImageCapturedCallback {
374    ctor public ImageCapture.OnImageCapturedCallback();
375    method public void onCaptureProcessProgressed(int);
376    method public void onCaptureStarted();
377    method public void onCaptureSuccess(androidx.camera.core.ImageProxy);
378    method public void onError(androidx.camera.core.ImageCaptureException);
379    method public void onPostviewBitmapAvailable(android.graphics.Bitmap);
380  }
381
382  public static interface ImageCapture.OnImageSavedCallback {
383    method public default void onCaptureProcessProgressed(int);
384    method public default void onCaptureStarted();
385    method public void onError(androidx.camera.core.ImageCaptureException);
386    method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults);
387    method public default void onPostviewBitmapAvailable(android.graphics.Bitmap);
388  }
389
390  public static final class ImageCapture.OutputFileOptions {
391  }
392
393  public static final class ImageCapture.OutputFileOptions.Builder {
394    ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues);
395    ctor public ImageCapture.OutputFileOptions.Builder(java.io.File);
396    ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream);
397    method public androidx.camera.core.ImageCapture.OutputFileOptions build();
398    method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata);
399  }
400
401  public static class ImageCapture.OutputFileResults {
402    method public android.net.Uri? getSavedUri();
403  }
404
405  public static interface ImageCapture.ScreenFlash {
406    method @UiThread public void apply(long, androidx.camera.core.ImageCapture.ScreenFlashListener);
407    method @UiThread public void clear();
408  }
409
410  public static interface ImageCapture.ScreenFlashListener {
411    method public void onCompleted();
412  }
413
414  public interface ImageCaptureCapabilities {
415    method @SuppressCompatibility @androidx.camera.core.ExperimentalImageCaptureOutputFormat public java.util.Set<java.lang.Integer!> getSupportedOutputFormats();
416    method public boolean isCaptureProcessProgressSupported();
417    method public boolean isPostviewSupported();
418  }
419
420  public class ImageCaptureException extends java.lang.Exception {
421    ctor public ImageCaptureException(int, String, Throwable?);
422    method public int getImageCaptureError();
423  }
424
425  public final class ImageCaptureExtKt {
426    method public static suspend Object? takePicture(androidx.camera.core.ImageCapture, androidx.camera.core.ImageCapture.OutputFileOptions outputFileOptions, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCaptureStarted, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit>? onCaptureProcessProgressed, optional kotlin.jvm.functions.Function1<? super android.graphics.Bitmap,kotlin.Unit>? onPostviewBitmapAvailable, kotlin.coroutines.Continuation<? super androidx.camera.core.ImageCapture.OutputFileResults>);
427    method public static suspend Object? takePicture(androidx.camera.core.ImageCapture, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCaptureStarted, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit>? onCaptureProcessProgressed, optional kotlin.jvm.functions.Function1<? super android.graphics.Bitmap,kotlin.Unit>? onPostviewBitmapAvailable, kotlin.coroutines.Continuation<? super androidx.camera.core.ImageProxy>);
428  }
429
430  public class ImageCaptureLatencyEstimate {
431    ctor public ImageCaptureLatencyEstimate(long, long);
432    method public long getCaptureLatencyMillis();
433    method public long getProcessingLatencyMillis();
434    method public long getTotalCaptureLatencyMillis();
435    field public static final long UNDEFINED_CAPTURE_LATENCY = -1L; // 0xffffffffffffffffL
436    field public static final androidx.camera.core.ImageCaptureLatencyEstimate UNDEFINED_IMAGE_CAPTURE_LATENCY;
437    field public static final long UNDEFINED_PROCESSING_LATENCY = -1L; // 0xffffffffffffffffL
438  }
439
440  public interface ImageInfo {
441    method public int getRotationDegrees();
442    method public default android.graphics.Matrix getSensorToBufferTransformMatrix();
443    method public long getTimestamp();
444  }
445
446  public interface ImageProcessor {
447    method public androidx.camera.core.ImageProcessor.Response process(androidx.camera.core.ImageProcessor.Request) throws androidx.camera.core.ProcessingException;
448  }
449
450  public static interface ImageProcessor.Request {
451    method public androidx.camera.core.ImageProxy getInputImage();
452    method public int getOutputFormat();
453  }
454
455  public static interface ImageProcessor.Response {
456    method public androidx.camera.core.ImageProxy getOutputImage();
457  }
458
459  public interface ImageProxy extends java.lang.AutoCloseable {
460    method public void close();
461    method public android.graphics.Rect getCropRect();
462    method public int getFormat();
463    method public int getHeight();
464    method @SuppressCompatibility @androidx.camera.core.ExperimentalGetImage public android.media.Image? getImage();
465    method public androidx.camera.core.ImageInfo getImageInfo();
466    method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes();
467    method public int getWidth();
468    method public void setCropRect(android.graphics.Rect?);
469    method public default android.graphics.Bitmap toBitmap();
470  }
471
472  public static interface ImageProxy.PlaneProxy {
473    method public java.nio.ByteBuffer getBuffer();
474    method public int getPixelStride();
475    method public int getRowStride();
476  }
477
478  public class InitializationException extends java.lang.Exception {
479    ctor public InitializationException(String?);
480    ctor public InitializationException(String?, Throwable?);
481    ctor public InitializationException(Throwable?);
482  }
483
484  public class MeteringPoint {
485    method public float getSize();
486  }
487
488  public abstract class MeteringPointFactory {
489    method public final androidx.camera.core.MeteringPoint createPoint(float, float);
490    method public final androidx.camera.core.MeteringPoint createPoint(float, float, float);
491    method public static float getDefaultPointSize();
492  }
493
494  public class MirrorMode {
495    field public static final int MIRROR_MODE_OFF = 0; // 0x0
496    field public static final int MIRROR_MODE_ON = 1; // 0x1
497    field public static final int MIRROR_MODE_ON_FRONT_ONLY = 2; // 0x2
498  }
499
500  public final class Preview extends androidx.camera.core.UseCase {
501    method public androidx.camera.core.DynamicRange getDynamicRange();
502    method public static androidx.camera.core.PreviewCapabilities getPreviewCapabilities(androidx.camera.core.CameraInfo);
503    method public androidx.camera.core.ResolutionInfo? getResolutionInfo();
504    method public androidx.camera.core.resolutionselector.ResolutionSelector? getResolutionSelector();
505    method public android.util.Range<java.lang.Integer!> getTargetFrameRate();
506    method public int getTargetRotation();
507    method public boolean isPreviewStabilizationEnabled();
508    method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?);
509    method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?);
510    method public void setTargetRotation(int);
511  }
512
513  public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview!> {
514    ctor public Preview.Builder();
515    method public androidx.camera.core.Preview build();
516    method public androidx.camera.core.Preview.Builder setDynamicRange(androidx.camera.core.DynamicRange);
517    method @SuppressCompatibility @androidx.camera.core.ExperimentalMirrorMode public androidx.camera.core.Preview.Builder setMirrorMode(int);
518    method public androidx.camera.core.Preview.Builder setPreviewStabilizationEnabled(boolean);
519    method public androidx.camera.core.Preview.Builder setResolutionSelector(androidx.camera.core.resolutionselector.ResolutionSelector);
520    method @Deprecated public androidx.camera.core.Preview.Builder setTargetAspectRatio(int);
521    method public androidx.camera.core.Preview.Builder setTargetFrameRate(android.util.Range<java.lang.Integer!>);
522    method public androidx.camera.core.Preview.Builder setTargetName(String);
523    method @Deprecated public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size);
524    method public androidx.camera.core.Preview.Builder setTargetRotation(int);
525  }
526
527  public static interface Preview.SurfaceProvider {
528    method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest);
529  }
530
531  public interface PreviewCapabilities {
532    method public boolean isStabilizationSupported();
533  }
534
535  public class ProcessingException extends java.lang.Exception {
536    ctor public ProcessingException();
537  }
538
539  public class ResolutionInfo {
540    ctor public ResolutionInfo(android.util.Size, android.graphics.Rect, int);
541    method public android.graphics.Rect getCropRect();
542    method public android.util.Size getResolution();
543    method public int getRotationDegrees();
544  }
545
546  @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public interface RetryPolicy {
547    method public static long getDefaultRetryTimeoutInMillis();
548    method public default long getTimeoutInMillis();
549    method public androidx.camera.core.RetryPolicy.RetryConfig onRetryDecisionRequested(androidx.camera.core.RetryPolicy.ExecutionState);
550    field public static final androidx.camera.core.RetryPolicy DEFAULT;
551    field public static final androidx.camera.core.RetryPolicy NEVER;
552    field public static final androidx.camera.core.RetryPolicy RETRY_UNAVAILABLE_CAMERA;
553  }
554
555  @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public static final class RetryPolicy.Builder {
556    ctor public RetryPolicy.Builder(androidx.camera.core.RetryPolicy);
557    method public androidx.camera.core.RetryPolicy build();
558    method public androidx.camera.core.RetryPolicy.Builder setTimeoutInMillis(long);
559  }
560
561  @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public static interface RetryPolicy.ExecutionState {
562    method public Throwable? getCause();
563    method public long getExecutedTimeInMillis();
564    method public int getNumOfAttempts();
565    method public int getStatus();
566    field public static final int STATUS_CAMERA_UNAVAILABLE = 2; // 0x2
567    field public static final int STATUS_CONFIGURATION_FAIL = 1; // 0x1
568    field public static final int STATUS_UNKNOWN_ERROR = 0; // 0x0
569  }
570
571  @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public static final class RetryPolicy.RetryConfig {
572    method public static long getDefaultRetryDelayInMillis();
573    method public long getRetryDelayInMillis();
574    method public boolean shouldRetry();
575    field public static final androidx.camera.core.RetryPolicy.RetryConfig DEFAULT_DELAY_RETRY;
576    field public static final androidx.camera.core.RetryPolicy.RetryConfig MINI_DELAY_RETRY;
577    field public static final androidx.camera.core.RetryPolicy.RetryConfig NOT_RETRY;
578  }
579
580  @SuppressCompatibility @androidx.camera.core.ExperimentalRetryPolicy public static final class RetryPolicy.RetryConfig.Builder {
581    ctor public RetryPolicy.RetryConfig.Builder();
582    method public androidx.camera.core.RetryPolicy.RetryConfig build();
583    method public androidx.camera.core.RetryPolicy.RetryConfig.Builder setRetryDelayInMillis(@IntRange(from=100, to=2000) long);
584    method public androidx.camera.core.RetryPolicy.RetryConfig.Builder setShouldRetry(boolean);
585  }
586
587  public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory {
588    ctor public SurfaceOrientedMeteringPointFactory(float, float);
589    ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase);
590  }
591
592  public interface SurfaceOutput extends java.io.Closeable {
593    method public void close();
594    method public default android.graphics.Matrix getSensorToBufferTransform();
595    method public android.util.Size getSize();
596    method public android.view.Surface getSurface(java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceOutput.Event!>);
597    method public int getTargets();
598    method public void updateTransformMatrix(float[], float[]);
599  }
600
601  @com.google.auto.value.AutoValue public abstract static class SurfaceOutput.Event {
602    method public abstract int getEventCode();
603    method public abstract androidx.camera.core.SurfaceOutput getSurfaceOutput();
604    field public static final int EVENT_REQUEST_CLOSE = 0; // 0x0
605  }
606
607  public interface SurfaceProcessor {
608    method public void onInputSurface(androidx.camera.core.SurfaceRequest) throws androidx.camera.core.ProcessingException;
609    method public void onOutputSurface(androidx.camera.core.SurfaceOutput) throws androidx.camera.core.ProcessingException;
610  }
611
612  public final class SurfaceRequest {
613    method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable);
614    method public void clearTransformationInfoListener();
615    method public androidx.camera.core.DynamicRange getDynamicRange();
616    method public android.util.Size getResolution();
617    method public boolean invalidate();
618    method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>);
619    method public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener);
620    method public boolean willNotProvideSurface();
621  }
622
623  @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result {
624    method public abstract int getResultCode();
625    method public abstract android.view.Surface getSurface();
626    field public static final int RESULT_INVALID_SURFACE = 2; // 0x2
627    field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1
628    field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3
629    field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0
630    field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4
631  }
632
633  @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo {
634    method public abstract android.graphics.Rect getCropRect();
635    method public abstract int getRotationDegrees();
636    method public abstract android.graphics.Matrix getSensorToBufferTransform();
637    method public abstract boolean hasCameraTransform();
638    method public abstract boolean isMirroring();
639  }
640
641  public static interface SurfaceRequest.TransformationInfoListener {
642    method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo);
643  }
644
645  public class TorchState {
646    field public static final int OFF = 0; // 0x0
647    field public static final int ON = 1; // 0x1
648  }
649
650  public abstract class UseCase {
651    method public static int snapToSurfaceRotation(@IntRange(from=0, to=359) int);
652  }
653
654  public final class UseCaseGroup {
655    method public java.util.List<androidx.camera.core.CameraEffect!> getEffects();
656    method public java.util.List<androidx.camera.core.UseCase!> getUseCases();
657    method public androidx.camera.core.ViewPort? getViewPort();
658  }
659
660  public static final class UseCaseGroup.Builder {
661    ctor public UseCaseGroup.Builder();
662    method public androidx.camera.core.UseCaseGroup.Builder addEffect(androidx.camera.core.CameraEffect);
663    method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase);
664    method public androidx.camera.core.UseCaseGroup build();
665    method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort);
666  }
667
668  public final class ViewPort {
669    method public android.util.Rational getAspectRatio();
670    method public int getLayoutDirection();
671    method public int getRotation();
672    method public int getScaleType();
673    field public static final int FILL_CENTER = 1; // 0x1
674    field public static final int FILL_END = 2; // 0x2
675    field public static final int FILL_START = 0; // 0x0
676    field public static final int FIT = 3; // 0x3
677  }
678
679  public static final class ViewPort.Builder {
680    ctor public ViewPort.Builder(android.util.Rational, int);
681    method public androidx.camera.core.ViewPort build();
682    method public androidx.camera.core.ViewPort.Builder setLayoutDirection(int);
683    method public androidx.camera.core.ViewPort.Builder setScaleType(int);
684  }
685
686  public interface ZoomState {
687    method public float getLinearZoom();
688    method public float getMaxZoomRatio();
689    method public float getMinZoomRatio();
690    method public float getZoomRatio();
691  }
692
693}
694
695package androidx.camera.core.resolutionselector {
696
697  public final class AspectRatioStrategy {
698    ctor public AspectRatioStrategy(int, int);
699    method public int getFallbackRule();
700    method public int getPreferredAspectRatio();
701    field public static final int FALLBACK_RULE_AUTO = 1; // 0x1
702    field public static final int FALLBACK_RULE_NONE = 0; // 0x0
703    field public static final androidx.camera.core.resolutionselector.AspectRatioStrategy RATIO_16_9_FALLBACK_AUTO_STRATEGY;
704    field public static final androidx.camera.core.resolutionselector.AspectRatioStrategy RATIO_4_3_FALLBACK_AUTO_STRATEGY;
705  }
706
707  public interface ResolutionFilter {
708    method public java.util.List<android.util.Size!> filter(java.util.List<android.util.Size!>, int);
709  }
710
711  public final class ResolutionSelector {
712    method public int getAllowedResolutionMode();
713    method public androidx.camera.core.resolutionselector.AspectRatioStrategy getAspectRatioStrategy();
714    method public androidx.camera.core.resolutionselector.ResolutionFilter? getResolutionFilter();
715    method public androidx.camera.core.resolutionselector.ResolutionStrategy? getResolutionStrategy();
716    field public static final int PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION = 0; // 0x0
717    field public static final int PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE = 1; // 0x1
718  }
719
720  public static final class ResolutionSelector.Builder {
721    ctor public ResolutionSelector.Builder();
722    method public androidx.camera.core.resolutionselector.ResolutionSelector build();
723    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setAllowedResolutionMode(int);
724    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setAspectRatioStrategy(androidx.camera.core.resolutionselector.AspectRatioStrategy);
725    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setResolutionFilter(androidx.camera.core.resolutionselector.ResolutionFilter);
726    method public androidx.camera.core.resolutionselector.ResolutionSelector.Builder setResolutionStrategy(androidx.camera.core.resolutionselector.ResolutionStrategy);
727  }
728
729  public final class ResolutionStrategy {
730    ctor public ResolutionStrategy(android.util.Size, int);
731    method public android.util.Size? getBoundSize();
732    method public int getFallbackRule();
733    field public static final int FALLBACK_RULE_CLOSEST_HIGHER = 2; // 0x2
734    field public static final int FALLBACK_RULE_CLOSEST_HIGHER_THEN_LOWER = 1; // 0x1
735    field public static final int FALLBACK_RULE_CLOSEST_LOWER = 4; // 0x4
736    field public static final int FALLBACK_RULE_CLOSEST_LOWER_THEN_HIGHER = 3; // 0x3
737    field public static final int FALLBACK_RULE_NONE = 0; // 0x0
738    field public static final androidx.camera.core.resolutionselector.ResolutionStrategy HIGHEST_AVAILABLE_STRATEGY;
739  }
740
741}
742
743