1// Signature format: 4.0 2package androidx.camera.core { 3 4 @RequiresApi(21) public class AspectRatio { 5 field public static final int RATIO_16_9 = 1; // 0x1 6 field public static final int RATIO_4_3 = 0; // 0x0 7 } 8 9 @RequiresApi(21) public interface Camera { 10 method public androidx.camera.core.CameraControl getCameraControl(); 11 method public androidx.camera.core.CameraInfo getCameraInfo(); 12 } 13 14 @RequiresApi(21) public interface CameraControl { 15 method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> cancelFocusAndMetering(); 16 method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> enableTorch(boolean); 17 method public com.google.common.util.concurrent.ListenableFuture<java.lang.Integer!> setExposureCompensationIndex(int); 18 method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setLinearZoom(@FloatRange(from=0.0f, to=1.0f) float); 19 method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setZoomRatio(float); 20 method public com.google.common.util.concurrent.ListenableFuture<androidx.camera.core.FocusMeteringResult!> startFocusAndMetering(androidx.camera.core.FocusMeteringAction); 21 } 22 23 public static final class CameraControl.OperationCanceledException extends java.lang.Exception { 24 } 25 26 @RequiresApi(21) public interface CameraFilter { 27 method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>); 28 } 29 30 @RequiresApi(21) public interface CameraInfo { 31 method public androidx.camera.core.CameraSelector getCameraSelector(); 32 method public androidx.lifecycle.LiveData<androidx.camera.core.CameraState!> getCameraState(); 33 method public androidx.camera.core.ExposureState getExposureState(); 34 method public int getSensorRotationDegrees(); 35 method public int getSensorRotationDegrees(int); 36 method public androidx.lifecycle.LiveData<java.lang.Integer!> getTorchState(); 37 method public androidx.lifecycle.LiveData<androidx.camera.core.ZoomState!> getZoomState(); 38 method public boolean hasFlashUnit(); 39 method public default boolean isFocusMeteringSupported(androidx.camera.core.FocusMeteringAction); 40 } 41 42 @RequiresApi(21) public final class CameraInfoUnavailableException extends java.lang.Exception { 43 } 44 45 @RequiresApi(21) public interface CameraProvider { 46 method public java.util.List<androidx.camera.core.CameraInfo!> getAvailableCameraInfos(); 47 method public boolean hasCamera(androidx.camera.core.CameraSelector) throws androidx.camera.core.CameraInfoUnavailableException; 48 } 49 50 @RequiresApi(21) public final class CameraSelector { 51 method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>); 52 field public static final androidx.camera.core.CameraSelector DEFAULT_BACK_CAMERA; 53 field public static final androidx.camera.core.CameraSelector DEFAULT_FRONT_CAMERA; 54 field public static final int LENS_FACING_BACK = 1; // 0x1 55 field public static final int LENS_FACING_FRONT = 0; // 0x0 56 } 57 58 public static final class CameraSelector.Builder { 59 ctor public CameraSelector.Builder(); 60 method public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter); 61 method public androidx.camera.core.CameraSelector build(); 62 method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int); 63 } 64 65 @RequiresApi(21) @com.google.auto.value.AutoValue public abstract class CameraState { 66 ctor public CameraState(); 67 method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type); 68 method public static androidx.camera.core.CameraState create(androidx.camera.core.CameraState.Type, androidx.camera.core.CameraState.StateError?); 69 method public abstract androidx.camera.core.CameraState.StateError? getError(); 70 method public abstract androidx.camera.core.CameraState.Type getType(); 71 field public static final int ERROR_CAMERA_DISABLED = 5; // 0x5 72 field public static final int ERROR_CAMERA_FATAL_ERROR = 6; // 0x6 73 field public static final int ERROR_CAMERA_IN_USE = 2; // 0x2 74 field public static final int ERROR_DO_NOT_DISTURB_MODE_ENABLED = 7; // 0x7 75 field public static final int ERROR_MAX_CAMERAS_IN_USE = 1; // 0x1 76 field public static final int ERROR_OTHER_RECOVERABLE_ERROR = 3; // 0x3 77 field public static final int ERROR_STREAM_CONFIG = 4; // 0x4 78 } 79 80 public enum CameraState.ErrorType { 81 enum_constant public static final androidx.camera.core.CameraState.ErrorType CRITICAL; 82 enum_constant public static final androidx.camera.core.CameraState.ErrorType RECOVERABLE; 83 } 84 85 @com.google.auto.value.AutoValue public abstract static class CameraState.StateError { 86 ctor public CameraState.StateError(); 87 method public static androidx.camera.core.CameraState.StateError create(int); 88 method public static androidx.camera.core.CameraState.StateError create(int, Throwable?); 89 method public abstract Throwable? getCause(); 90 method public abstract int getCode(); 91 method public androidx.camera.core.CameraState.ErrorType getType(); 92 } 93 94 public enum CameraState.Type { 95 enum_constant public static final androidx.camera.core.CameraState.Type CLOSED; 96 enum_constant public static final androidx.camera.core.CameraState.Type CLOSING; 97 enum_constant public static final androidx.camera.core.CameraState.Type OPEN; 98 enum_constant public static final androidx.camera.core.CameraState.Type OPENING; 99 enum_constant public static final androidx.camera.core.CameraState.Type PENDING_OPEN; 100 } 101 102 @RequiresApi(21) public class CameraUnavailableException extends java.lang.Exception { 103 ctor public CameraUnavailableException(int); 104 ctor public CameraUnavailableException(int, String?); 105 ctor public CameraUnavailableException(int, String?, Throwable?); 106 ctor public CameraUnavailableException(int, Throwable?); 107 method public int getReason(); 108 field public static final int CAMERA_DISABLED = 1; // 0x1 109 field public static final int CAMERA_DISCONNECTED = 2; // 0x2 110 field public static final int CAMERA_ERROR = 3; // 0x3 111 field public static final int CAMERA_IN_USE = 4; // 0x4 112 field public static final int CAMERA_MAX_IN_USE = 5; // 0x5 113 field public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6; // 0x6 114 field public static final int CAMERA_UNKNOWN_ERROR = 0; // 0x0 115 } 116 117 @RequiresApi(21) public final class CameraXConfig { 118 method public androidx.camera.core.CameraSelector? getAvailableCamerasLimiter(androidx.camera.core.CameraSelector?); 119 method public java.util.concurrent.Executor? getCameraExecutor(java.util.concurrent.Executor?); 120 method public int getMinimumLoggingLevel(); 121 method public android.os.Handler? getSchedulerHandler(android.os.Handler?); 122 } 123 124 public static final class CameraXConfig.Builder { 125 method public androidx.camera.core.CameraXConfig build(); 126 method public static androidx.camera.core.CameraXConfig.Builder fromConfig(androidx.camera.core.CameraXConfig); 127 method public androidx.camera.core.CameraXConfig.Builder setAvailableCamerasLimiter(androidx.camera.core.CameraSelector); 128 method public androidx.camera.core.CameraXConfig.Builder setCameraExecutor(java.util.concurrent.Executor); 129 method public androidx.camera.core.CameraXConfig.Builder setMinimumLoggingLevel(@IntRange(from=android.util.Log.DEBUG, to=android.util.Log.ERROR) int); 130 method public androidx.camera.core.CameraXConfig.Builder setSchedulerHandler(android.os.Handler); 131 } 132 133 public static interface CameraXConfig.Provider { 134 method public androidx.camera.core.CameraXConfig getCameraXConfig(); 135 } 136 137 @RequiresApi(21) public final class DisplayOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory { 138 ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraInfo, float, float); 139 } 140 141 @RequiresApi(21) public interface ExposureState { 142 method public int getExposureCompensationIndex(); 143 method public android.util.Range<java.lang.Integer!> getExposureCompensationRange(); 144 method public android.util.Rational getExposureCompensationStep(); 145 method public boolean isExposureCompensationSupported(); 146 } 147 148 @RequiresApi(21) public interface ExtendableBuilder<T> { 149 method public T build(); 150 } 151 152 @RequiresApi(21) public final class FocusMeteringAction { 153 method public long getAutoCancelDurationInMillis(); 154 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe(); 155 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf(); 156 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb(); 157 method public boolean isAutoCancelEnabled(); 158 field public static final int FLAG_AE = 2; // 0x2 159 field public static final int FLAG_AF = 1; // 0x1 160 field public static final int FLAG_AWB = 4; // 0x4 161 } 162 163 public static class FocusMeteringAction.Builder { 164 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint); 165 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int); 166 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint); 167 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int); 168 method public androidx.camera.core.FocusMeteringAction build(); 169 method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel(); 170 method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit); 171 } 172 173 @RequiresApi(21) public final class FocusMeteringResult { 174 method public boolean isFocusSuccessful(); 175 } 176 177 @RequiresApi(21) public final class ImageAnalysis extends androidx.camera.core.UseCase { 178 method public void clearAnalyzer(); 179 method public int getBackpressureStrategy(); 180 method public int getImageQueueDepth(); 181 method public int getOutputImageFormat(); 182 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 183 method public int getTargetRotation(); 184 method public boolean isOutputImageRotationEnabled(); 185 method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer); 186 method public void setTargetRotation(int); 187 field public static final int COORDINATE_SYSTEM_ORIGINAL = 0; // 0x0 188 field public static final int OUTPUT_IMAGE_FORMAT_RGBA_8888 = 2; // 0x2 189 field public static final int OUTPUT_IMAGE_FORMAT_YUV_420_888 = 1; // 0x1 190 field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1 191 field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0 192 } 193 194 public static interface ImageAnalysis.Analyzer { 195 method public void analyze(androidx.camera.core.ImageProxy); 196 method public default android.util.Size? getDefaultTargetResolution(); 197 method public default int getTargetCoordinateSystem(); 198 method public default void updateTransform(android.graphics.Matrix?); 199 } 200 201 public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis> { 202 ctor public ImageAnalysis.Builder(); 203 method public androidx.camera.core.ImageAnalysis build(); 204 method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor); 205 method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int); 206 method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int); 207 method public androidx.camera.core.ImageAnalysis.Builder setOutputImageFormat(int); 208 method @RequiresApi(23) public androidx.camera.core.ImageAnalysis.Builder setOutputImageRotationEnabled(boolean); 209 method public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int); 210 method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String); 211 method public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size); 212 method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int); 213 } 214 215 @RequiresApi(21) public final class ImageCapture extends androidx.camera.core.UseCase { 216 method public int getCaptureMode(); 217 method public int getFlashMode(); 218 method @IntRange(from=1, to=100) public int getJpegQuality(); 219 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 220 method public int getTargetRotation(); 221 method public void setCropAspectRatio(android.util.Rational); 222 method public void setFlashMode(int); 223 method public void setTargetRotation(int); 224 method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback); 225 method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback); 226 field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0 227 field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1 228 field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3 229 field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2 230 field public static final int ERROR_FILE_IO = 1; // 0x1 231 field public static final int ERROR_INVALID_CAMERA = 4; // 0x4 232 field public static final int ERROR_UNKNOWN = 0; // 0x0 233 field public static final int FLASH_MODE_AUTO = 0; // 0x0 234 field public static final int FLASH_MODE_OFF = 2; // 0x2 235 field public static final int FLASH_MODE_ON = 1; // 0x1 236 } 237 238 public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture> { 239 ctor public ImageCapture.Builder(); 240 method public androidx.camera.core.ImageCapture build(); 241 method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int); 242 method public androidx.camera.core.ImageCapture.Builder setFlashMode(int); 243 method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor); 244 method public androidx.camera.core.ImageCapture.Builder setJpegQuality(@IntRange(from=1, to=100) int); 245 method public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int); 246 method public androidx.camera.core.ImageCapture.Builder setTargetName(String); 247 method public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size); 248 method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int); 249 } 250 251 public static final class ImageCapture.Metadata { 252 ctor public ImageCapture.Metadata(); 253 method public android.location.Location? getLocation(); 254 method public boolean isReversedHorizontal(); 255 method public boolean isReversedVertical(); 256 method public void setLocation(android.location.Location?); 257 method public void setReversedHorizontal(boolean); 258 method public void setReversedVertical(boolean); 259 } 260 261 public abstract static class ImageCapture.OnImageCapturedCallback { 262 ctor public ImageCapture.OnImageCapturedCallback(); 263 method public void onCaptureSuccess(androidx.camera.core.ImageProxy); 264 method public void onError(androidx.camera.core.ImageCaptureException); 265 } 266 267 public static interface ImageCapture.OnImageSavedCallback { 268 method public void onError(androidx.camera.core.ImageCaptureException); 269 method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults); 270 } 271 272 public static final class ImageCapture.OutputFileOptions { 273 } 274 275 public static final class ImageCapture.OutputFileOptions.Builder { 276 ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues); 277 ctor public ImageCapture.OutputFileOptions.Builder(java.io.File); 278 ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream); 279 method public androidx.camera.core.ImageCapture.OutputFileOptions build(); 280 method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata); 281 } 282 283 public static class ImageCapture.OutputFileResults { 284 method public android.net.Uri? getSavedUri(); 285 } 286 287 @RequiresApi(21) public class ImageCaptureException extends java.lang.Exception { 288 ctor public ImageCaptureException(int, String, Throwable?); 289 method public int getImageCaptureError(); 290 } 291 292 @RequiresApi(21) public interface ImageInfo { 293 method public int getRotationDegrees(); 294 method public default android.graphics.Matrix getSensorToBufferTransformMatrix(); 295 method public long getTimestamp(); 296 } 297 298 @RequiresApi(21) public interface ImageProxy extends java.lang.AutoCloseable { 299 method public void close(); 300 method public android.graphics.Rect getCropRect(); 301 method public int getFormat(); 302 method public int getHeight(); 303 method public androidx.camera.core.ImageInfo getImageInfo(); 304 method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes(); 305 method public int getWidth(); 306 method public void setCropRect(android.graphics.Rect?); 307 } 308 309 public static interface ImageProxy.PlaneProxy { 310 method public java.nio.ByteBuffer getBuffer(); 311 method public int getPixelStride(); 312 method public int getRowStride(); 313 } 314 315 @RequiresApi(21) public class InitializationException extends java.lang.Exception { 316 ctor public InitializationException(String?); 317 ctor public InitializationException(String?, Throwable?); 318 ctor public InitializationException(Throwable?); 319 } 320 321 @RequiresApi(21) public class MeteringPoint { 322 method public float getSize(); 323 } 324 325 @RequiresApi(21) public abstract class MeteringPointFactory { 326 method public final androidx.camera.core.MeteringPoint createPoint(float, float); 327 method public final androidx.camera.core.MeteringPoint createPoint(float, float, float); 328 method public static float getDefaultPointSize(); 329 } 330 331 @RequiresApi(21) public final class Preview extends androidx.camera.core.UseCase { 332 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 333 method public int getTargetRotation(); 334 method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?); 335 method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?); 336 method public void setTargetRotation(int); 337 } 338 339 public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview> { 340 ctor public Preview.Builder(); 341 method public androidx.camera.core.Preview build(); 342 method public androidx.camera.core.Preview.Builder setTargetAspectRatio(int); 343 method public androidx.camera.core.Preview.Builder setTargetName(String); 344 method public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size); 345 method public androidx.camera.core.Preview.Builder setTargetRotation(int); 346 } 347 348 public static interface Preview.SurfaceProvider { 349 method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest); 350 } 351 352 @RequiresApi(21) @com.google.auto.value.AutoValue public abstract class ResolutionInfo { 353 method public abstract android.graphics.Rect getCropRect(); 354 method public abstract android.util.Size getResolution(); 355 method public abstract int getRotationDegrees(); 356 } 357 358 @RequiresApi(21) public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory { 359 ctor public SurfaceOrientedMeteringPointFactory(float, float); 360 ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase); 361 } 362 363 @RequiresApi(21) public final class SurfaceRequest { 364 method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable); 365 method public void clearTransformationInfoListener(); 366 method public android.util.Size getResolution(); 367 method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>); 368 method public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener); 369 method public boolean willNotProvideSurface(); 370 } 371 372 @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result { 373 method public abstract int getResultCode(); 374 method public abstract android.view.Surface getSurface(); 375 field public static final int RESULT_INVALID_SURFACE = 2; // 0x2 376 field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1 377 field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3 378 field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0 379 field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4 380 } 381 382 @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo { 383 method public abstract android.graphics.Rect getCropRect(); 384 method public abstract int getRotationDegrees(); 385 } 386 387 public static interface SurfaceRequest.TransformationInfoListener { 388 method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo); 389 } 390 391 @RequiresApi(21) public class TorchState { 392 field public static final int OFF = 0; // 0x0 393 field public static final int ON = 1; // 0x1 394 } 395 396 @RequiresApi(21) public abstract class UseCase { 397 } 398 399 @RequiresApi(21) public final class UseCaseGroup { 400 method public java.util.List<androidx.camera.core.UseCase!> getUseCases(); 401 method public androidx.camera.core.ViewPort? getViewPort(); 402 } 403 404 public static final class UseCaseGroup.Builder { 405 ctor public UseCaseGroup.Builder(); 406 method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase); 407 method public androidx.camera.core.UseCaseGroup build(); 408 method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort); 409 } 410 411 @RequiresApi(21) public final class ViewPort { 412 method public android.util.Rational getAspectRatio(); 413 method public int getLayoutDirection(); 414 method public int getRotation(); 415 method public int getScaleType(); 416 field public static final int FILL_CENTER = 1; // 0x1 417 field public static final int FILL_END = 2; // 0x2 418 field public static final int FILL_START = 0; // 0x0 419 field public static final int FIT = 3; // 0x3 420 } 421 422 public static final class ViewPort.Builder { 423 ctor public ViewPort.Builder(android.util.Rational, int); 424 method public androidx.camera.core.ViewPort build(); 425 method public androidx.camera.core.ViewPort.Builder setLayoutDirection(int); 426 method public androidx.camera.core.ViewPort.Builder setScaleType(int); 427 } 428 429 @RequiresApi(21) public interface ZoomState { 430 method public float getLinearZoom(); 431 method public float getMaxZoomRatio(); 432 method public float getMinZoomRatio(); 433 method public float getZoomRatio(); 434 } 435 436} 437 438