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) @RequiresOptIn @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalGetImage { 142 } 143 144 @RequiresApi(21) public interface ExposureState { 145 method public int getExposureCompensationIndex(); 146 method public android.util.Range<java.lang.Integer!> getExposureCompensationRange(); 147 method public android.util.Rational getExposureCompensationStep(); 148 method public boolean isExposureCompensationSupported(); 149 } 150 151 @RequiresApi(21) public interface ExtendableBuilder<T> { 152 method public T build(); 153 } 154 155 @RequiresApi(21) public final class FocusMeteringAction { 156 method public long getAutoCancelDurationInMillis(); 157 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe(); 158 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf(); 159 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb(); 160 method public boolean isAutoCancelEnabled(); 161 field public static final int FLAG_AE = 2; // 0x2 162 field public static final int FLAG_AF = 1; // 0x1 163 field public static final int FLAG_AWB = 4; // 0x4 164 } 165 166 public static class FocusMeteringAction.Builder { 167 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint); 168 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int); 169 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint); 170 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int); 171 method public androidx.camera.core.FocusMeteringAction build(); 172 method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel(); 173 method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit); 174 } 175 176 @RequiresApi(21) public final class FocusMeteringResult { 177 method public boolean isFocusSuccessful(); 178 } 179 180 @RequiresApi(21) public final class ImageAnalysis extends androidx.camera.core.UseCase { 181 method public void clearAnalyzer(); 182 method public int getBackpressureStrategy(); 183 method public int getImageQueueDepth(); 184 method public int getOutputImageFormat(); 185 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 186 method public int getTargetRotation(); 187 method public boolean isOutputImageRotationEnabled(); 188 method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer); 189 method public void setTargetRotation(int); 190 field public static final int OUTPUT_IMAGE_FORMAT_RGBA_8888 = 2; // 0x2 191 field public static final int OUTPUT_IMAGE_FORMAT_YUV_420_888 = 1; // 0x1 192 field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1 193 field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0 194 } 195 196 public static interface ImageAnalysis.Analyzer { 197 method public void analyze(androidx.camera.core.ImageProxy); 198 } 199 200 public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis> { 201 ctor public ImageAnalysis.Builder(); 202 method public androidx.camera.core.ImageAnalysis build(); 203 method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor); 204 method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int); 205 method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int); 206 method public androidx.camera.core.ImageAnalysis.Builder setOutputImageFormat(int); 207 method public androidx.camera.core.ImageAnalysis.Builder setOutputImageRotationEnabled(boolean); 208 method public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int); 209 method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String); 210 method public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size); 211 method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int); 212 } 213 214 @RequiresApi(21) public final class ImageCapture extends androidx.camera.core.UseCase { 215 method public int getCaptureMode(); 216 method public int getFlashMode(); 217 method @IntRange(from=1, to=100) public int getJpegQuality(); 218 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 219 method public int getTargetRotation(); 220 method public void setCropAspectRatio(android.util.Rational); 221 method public void setFlashMode(int); 222 method public void setTargetRotation(int); 223 method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback); 224 method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback); 225 field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0 226 field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1 227 field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3 228 field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2 229 field public static final int ERROR_FILE_IO = 1; // 0x1 230 field public static final int ERROR_INVALID_CAMERA = 4; // 0x4 231 field public static final int ERROR_UNKNOWN = 0; // 0x0 232 field public static final int FLASH_MODE_AUTO = 0; // 0x0 233 field public static final int FLASH_MODE_OFF = 2; // 0x2 234 field public static final int FLASH_MODE_ON = 1; // 0x1 235 } 236 237 public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture> { 238 ctor public ImageCapture.Builder(); 239 method public androidx.camera.core.ImageCapture build(); 240 method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int); 241 method public androidx.camera.core.ImageCapture.Builder setFlashMode(int); 242 method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor); 243 method public androidx.camera.core.ImageCapture.Builder setJpegQuality(@IntRange(from=1, to=100) int); 244 method public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int); 245 method public androidx.camera.core.ImageCapture.Builder setTargetName(String); 246 method public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size); 247 method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int); 248 } 249 250 public static final class ImageCapture.Metadata { 251 ctor public ImageCapture.Metadata(); 252 method public android.location.Location? getLocation(); 253 method public boolean isReversedHorizontal(); 254 method public boolean isReversedVertical(); 255 method public void setLocation(android.location.Location?); 256 method public void setReversedHorizontal(boolean); 257 method public void setReversedVertical(boolean); 258 } 259 260 public abstract static class ImageCapture.OnImageCapturedCallback { 261 ctor public ImageCapture.OnImageCapturedCallback(); 262 method public void onCaptureSuccess(androidx.camera.core.ImageProxy); 263 method public void onError(androidx.camera.core.ImageCaptureException); 264 } 265 266 public static interface ImageCapture.OnImageSavedCallback { 267 method public void onError(androidx.camera.core.ImageCaptureException); 268 method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults); 269 } 270 271 public static final class ImageCapture.OutputFileOptions { 272 } 273 274 public static final class ImageCapture.OutputFileOptions.Builder { 275 ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues); 276 ctor public ImageCapture.OutputFileOptions.Builder(java.io.File); 277 ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream); 278 method public androidx.camera.core.ImageCapture.OutputFileOptions build(); 279 method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata); 280 } 281 282 public static class ImageCapture.OutputFileResults { 283 method public android.net.Uri? getSavedUri(); 284 } 285 286 @RequiresApi(21) public class ImageCaptureException extends java.lang.Exception { 287 ctor public ImageCaptureException(int, String, Throwable?); 288 method public int getImageCaptureError(); 289 } 290 291 @RequiresApi(21) public interface ImageInfo { 292 method public int getRotationDegrees(); 293 method public default android.graphics.Matrix getSensorToBufferTransformMatrix(); 294 method public long getTimestamp(); 295 } 296 297 @RequiresApi(21) public interface ImageProxy extends java.lang.AutoCloseable { 298 method public void close(); 299 method public android.graphics.Rect getCropRect(); 300 method public int getFormat(); 301 method public int getHeight(); 302 method @androidx.camera.core.ExperimentalGetImage public android.media.Image? getImage(); 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