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