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 OUTPUT_IMAGE_FORMAT_RGBA_8888 = 2; // 0x2 188 field public static final int OUTPUT_IMAGE_FORMAT_YUV_420_888 = 1; // 0x1 189 field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1 190 field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0 191 } 192 193 public static interface ImageAnalysis.Analyzer { 194 method public void analyze(androidx.camera.core.ImageProxy); 195 } 196 197 public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis> { 198 ctor public ImageAnalysis.Builder(); 199 method public androidx.camera.core.ImageAnalysis build(); 200 method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor); 201 method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int); 202 method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int); 203 method public androidx.camera.core.ImageAnalysis.Builder setOutputImageFormat(int); 204 method public androidx.camera.core.ImageAnalysis.Builder setOutputImageRotationEnabled(boolean); 205 method public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int); 206 method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String); 207 method public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size); 208 method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int); 209 } 210 211 @RequiresApi(21) public final class ImageCapture extends androidx.camera.core.UseCase { 212 method public int getCaptureMode(); 213 method public int getFlashMode(); 214 method @IntRange(from=1, to=100) public int getJpegQuality(); 215 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 216 method public int getTargetRotation(); 217 method public void setCropAspectRatio(android.util.Rational); 218 method public void setFlashMode(int); 219 method public void setTargetRotation(int); 220 method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback); 221 method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback); 222 field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0 223 field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1 224 field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3 225 field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2 226 field public static final int ERROR_FILE_IO = 1; // 0x1 227 field public static final int ERROR_INVALID_CAMERA = 4; // 0x4 228 field public static final int ERROR_UNKNOWN = 0; // 0x0 229 field public static final int FLASH_MODE_AUTO = 0; // 0x0 230 field public static final int FLASH_MODE_OFF = 2; // 0x2 231 field public static final int FLASH_MODE_ON = 1; // 0x1 232 } 233 234 public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture> { 235 ctor public ImageCapture.Builder(); 236 method public androidx.camera.core.ImageCapture build(); 237 method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int); 238 method public androidx.camera.core.ImageCapture.Builder setFlashMode(int); 239 method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor); 240 method public androidx.camera.core.ImageCapture.Builder setJpegQuality(@IntRange(from=1, to=100) int); 241 method public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int); 242 method public androidx.camera.core.ImageCapture.Builder setTargetName(String); 243 method public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size); 244 method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int); 245 } 246 247 public static final class ImageCapture.Metadata { 248 ctor public ImageCapture.Metadata(); 249 method public android.location.Location? getLocation(); 250 method public boolean isReversedHorizontal(); 251 method public boolean isReversedVertical(); 252 method public void setLocation(android.location.Location?); 253 method public void setReversedHorizontal(boolean); 254 method public void setReversedVertical(boolean); 255 } 256 257 public abstract static class ImageCapture.OnImageCapturedCallback { 258 ctor public ImageCapture.OnImageCapturedCallback(); 259 method public void onCaptureSuccess(androidx.camera.core.ImageProxy); 260 method public void onError(androidx.camera.core.ImageCaptureException); 261 } 262 263 public static interface ImageCapture.OnImageSavedCallback { 264 method public void onError(androidx.camera.core.ImageCaptureException); 265 method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults); 266 } 267 268 public static final class ImageCapture.OutputFileOptions { 269 } 270 271 public static final class ImageCapture.OutputFileOptions.Builder { 272 ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues); 273 ctor public ImageCapture.OutputFileOptions.Builder(java.io.File); 274 ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream); 275 method public androidx.camera.core.ImageCapture.OutputFileOptions build(); 276 method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata); 277 } 278 279 public static class ImageCapture.OutputFileResults { 280 method public android.net.Uri? getSavedUri(); 281 } 282 283 @RequiresApi(21) public class ImageCaptureException extends java.lang.Exception { 284 ctor public ImageCaptureException(int, String, Throwable?); 285 method public int getImageCaptureError(); 286 } 287 288 @RequiresApi(21) public interface ImageInfo { 289 method public int getRotationDegrees(); 290 method public default android.graphics.Matrix getSensorToBufferTransformMatrix(); 291 method public long getTimestamp(); 292 } 293 294 @RequiresApi(21) public interface ImageProxy extends java.lang.AutoCloseable { 295 method public void close(); 296 method public android.graphics.Rect getCropRect(); 297 method public int getFormat(); 298 method public int getHeight(); 299 method public androidx.camera.core.ImageInfo getImageInfo(); 300 method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes(); 301 method public int getWidth(); 302 method public void setCropRect(android.graphics.Rect?); 303 } 304 305 public static interface ImageProxy.PlaneProxy { 306 method public java.nio.ByteBuffer getBuffer(); 307 method public int getPixelStride(); 308 method public int getRowStride(); 309 } 310 311 @RequiresApi(21) public class InitializationException extends java.lang.Exception { 312 ctor public InitializationException(String?); 313 ctor public InitializationException(String?, Throwable?); 314 ctor public InitializationException(Throwable?); 315 } 316 317 @RequiresApi(21) public class MeteringPoint { 318 method public float getSize(); 319 } 320 321 @RequiresApi(21) public abstract class MeteringPointFactory { 322 method public final androidx.camera.core.MeteringPoint createPoint(float, float); 323 method public final androidx.camera.core.MeteringPoint createPoint(float, float, float); 324 method public static float getDefaultPointSize(); 325 } 326 327 @RequiresApi(21) public final class Preview extends androidx.camera.core.UseCase { 328 method public androidx.camera.core.ResolutionInfo? getResolutionInfo(); 329 method public int getTargetRotation(); 330 method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?); 331 method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?); 332 method public void setTargetRotation(int); 333 } 334 335 public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview> { 336 ctor public Preview.Builder(); 337 method public androidx.camera.core.Preview build(); 338 method public androidx.camera.core.Preview.Builder setTargetAspectRatio(int); 339 method public androidx.camera.core.Preview.Builder setTargetName(String); 340 method public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size); 341 method public androidx.camera.core.Preview.Builder setTargetRotation(int); 342 } 343 344 public static interface Preview.SurfaceProvider { 345 method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest); 346 } 347 348 @RequiresApi(21) @com.google.auto.value.AutoValue public abstract class ResolutionInfo { 349 method public abstract android.graphics.Rect getCropRect(); 350 method public abstract android.util.Size getResolution(); 351 method public abstract int getRotationDegrees(); 352 } 353 354 @RequiresApi(21) public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory { 355 ctor public SurfaceOrientedMeteringPointFactory(float, float); 356 ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase); 357 } 358 359 @RequiresApi(21) public final class SurfaceRequest { 360 method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable); 361 method public void clearTransformationInfoListener(); 362 method public android.util.Size getResolution(); 363 method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>); 364 method public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener); 365 method public boolean willNotProvideSurface(); 366 } 367 368 @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result { 369 method public abstract int getResultCode(); 370 method public abstract android.view.Surface getSurface(); 371 field public static final int RESULT_INVALID_SURFACE = 2; // 0x2 372 field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1 373 field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3 374 field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0 375 field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4 376 } 377 378 @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo { 379 method public abstract android.graphics.Rect getCropRect(); 380 method public abstract int getRotationDegrees(); 381 } 382 383 public static interface SurfaceRequest.TransformationInfoListener { 384 method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo); 385 } 386 387 @RequiresApi(21) public class TorchState { 388 field public static final int OFF = 0; // 0x0 389 field public static final int ON = 1; // 0x1 390 } 391 392 @RequiresApi(21) public abstract class UseCase { 393 } 394 395 @RequiresApi(21) public final class UseCaseGroup { 396 method public java.util.List<androidx.camera.core.UseCase!> getUseCases(); 397 method public androidx.camera.core.ViewPort? getViewPort(); 398 } 399 400 public static final class UseCaseGroup.Builder { 401 ctor public UseCaseGroup.Builder(); 402 method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase); 403 method public androidx.camera.core.UseCaseGroup build(); 404 method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort); 405 } 406 407 @RequiresApi(21) public final class ViewPort { 408 method public android.util.Rational getAspectRatio(); 409 method public int getLayoutDirection(); 410 method public int getRotation(); 411 method public int getScaleType(); 412 field public static final int FILL_CENTER = 1; // 0x1 413 field public static final int FILL_END = 2; // 0x2 414 field public static final int FILL_START = 0; // 0x0 415 field public static final int FIT = 3; // 0x3 416 } 417 418 public static final class ViewPort.Builder { 419 ctor public ViewPort.Builder(android.util.Rational, int); 420 method public androidx.camera.core.ViewPort build(); 421 method public androidx.camera.core.ViewPort.Builder setLayoutDirection(int); 422 method public androidx.camera.core.ViewPort.Builder setScaleType(int); 423 } 424 425 @RequiresApi(21) public interface ZoomState { 426 method public float getLinearZoom(); 427 method public float getMaxZoomRatio(); 428 method public float getMinZoomRatio(); 429 method public float getZoomRatio(); 430 } 431 432} 433 434