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 } 8 9 public interface Camera { 10 method public androidx.camera.core.CameraControl getCameraControl(); 11 method public androidx.camera.core.CameraInfo getCameraInfo(); 12 } 13 14 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 @androidx.camera.core.ExperimentalExposureCompensation 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 @androidx.camera.core.ExperimentalCameraFilter public interface CameraFilter { 27 method public java.util.List<androidx.camera.core.CameraInfo!> filter(java.util.List<androidx.camera.core.CameraInfo!>); 28 } 29 30 public interface CameraInfo { 31 method @androidx.camera.core.ExperimentalExposureCompensation public androidx.camera.core.ExposureState getExposureState(); 32 method public int getSensorRotationDegrees(); 33 method public int getSensorRotationDegrees(int); 34 method public androidx.lifecycle.LiveData<java.lang.Integer!> getTorchState(); 35 method public androidx.lifecycle.LiveData<androidx.camera.core.ZoomState!> getZoomState(); 36 method public boolean hasFlashUnit(); 37 } 38 39 public final class CameraInfoUnavailableException extends java.lang.Exception { 40 } 41 42 public final class CameraSelector { 43 field public static final androidx.camera.core.CameraSelector DEFAULT_BACK_CAMERA; 44 field public static final androidx.camera.core.CameraSelector DEFAULT_FRONT_CAMERA; 45 field public static final int LENS_FACING_BACK = 1; // 0x1 46 field public static final int LENS_FACING_FRONT = 0; // 0x0 47 } 48 49 public static final class CameraSelector.Builder { 50 ctor public CameraSelector.Builder(); 51 method @androidx.camera.core.ExperimentalCameraFilter public androidx.camera.core.CameraSelector.Builder addCameraFilter(androidx.camera.core.CameraFilter); 52 method public androidx.camera.core.CameraSelector build(); 53 method public androidx.camera.core.CameraSelector.Builder requireLensFacing(int); 54 } 55 56 public class CameraUnavailableException extends java.lang.Exception { 57 ctor public CameraUnavailableException(int); 58 ctor public CameraUnavailableException(int, String?); 59 ctor public CameraUnavailableException(int, String?, Throwable?); 60 ctor public CameraUnavailableException(int, Throwable?); 61 method public int getReason(); 62 field public static final int CAMERA_DISABLED = 1; // 0x1 63 field public static final int CAMERA_DISCONNECTED = 2; // 0x2 64 field public static final int CAMERA_ERROR = 3; // 0x3 65 field public static final int CAMERA_IN_USE = 4; // 0x4 66 field public static final int CAMERA_MAX_IN_USE = 5; // 0x5 67 field public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6; // 0x6 68 field public static final int CAMERA_UNKNOWN_ERROR = 0; // 0x0 69 } 70 71 public final class CameraXConfig { 72 method @androidx.camera.core.ExperimentalAvailableCamerasLimiter public androidx.camera.core.CameraSelector? getAvailableCamerasSelector(androidx.camera.core.CameraSelector?); 73 method @androidx.camera.core.ExperimentalLogging public int getMinimumLoggingLevel(); 74 } 75 76 public static final class CameraXConfig.Builder { 77 method public androidx.camera.core.CameraXConfig build(); 78 method public static androidx.camera.core.CameraXConfig.Builder fromConfig(androidx.camera.core.CameraXConfig); 79 method @androidx.camera.core.ExperimentalAvailableCamerasLimiter public androidx.camera.core.CameraXConfig.Builder setAvailableCamerasSelector(androidx.camera.core.CameraSelector); 80 method public androidx.camera.core.CameraXConfig.Builder setCameraExecutor(java.util.concurrent.Executor); 81 method @androidx.camera.core.ExperimentalLogging public androidx.camera.core.CameraXConfig.Builder setMinimumLoggingLevel(@IntRange(from=android.util.Log.DEBUG, to=android.util.Log.ERROR) int); 82 method @androidx.camera.core.ExperimentalCustomizableThreads public androidx.camera.core.CameraXConfig.Builder setSchedulerHandler(android.os.Handler); 83 } 84 85 public static interface CameraXConfig.Provider { 86 method public androidx.camera.core.CameraXConfig getCameraXConfig(); 87 } 88 89 public final class DisplayOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory { 90 ctor public DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraInfo, float, float); 91 } 92 93 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalAvailableCamerasSelector { 94 } 95 96 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCameraFilter { 97 } 98 99 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCustomizableThreads { 100 } 101 102 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalExposureCompensation { 103 } 104 105 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalGetImage { 106 } 107 108 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalLogging { 109 } 110 111 @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalUseCaseGroup { 112 } 113 114 @androidx.camera.core.ExperimentalExposureCompensation public interface ExposureState { 115 method public int getExposureCompensationIndex(); 116 method public android.util.Range<java.lang.Integer!> getExposureCompensationRange(); 117 method public android.util.Rational getExposureCompensationStep(); 118 method public boolean isExposureCompensationSupported(); 119 } 120 121 public interface ExtendableBuilder<T> { 122 method public T build(); 123 } 124 125 public final class FocusMeteringAction { 126 method public long getAutoCancelDurationInMillis(); 127 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAe(); 128 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAf(); 129 method public java.util.List<androidx.camera.core.MeteringPoint!> getMeteringPointsAwb(); 130 method public boolean isAutoCancelEnabled(); 131 field public static final int FLAG_AE = 2; // 0x2 132 field public static final int FLAG_AF = 1; // 0x1 133 field public static final int FLAG_AWB = 4; // 0x4 134 } 135 136 public static class FocusMeteringAction.Builder { 137 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint); 138 ctor public FocusMeteringAction.Builder(androidx.camera.core.MeteringPoint, int); 139 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint); 140 method public androidx.camera.core.FocusMeteringAction.Builder addPoint(androidx.camera.core.MeteringPoint, int); 141 method public androidx.camera.core.FocusMeteringAction build(); 142 method public androidx.camera.core.FocusMeteringAction.Builder disableAutoCancel(); 143 method public androidx.camera.core.FocusMeteringAction.Builder setAutoCancelDuration(@IntRange(from=1) long, java.util.concurrent.TimeUnit); 144 } 145 146 public final class FocusMeteringResult { 147 method public boolean isFocusSuccessful(); 148 } 149 150 public final class ImageAnalysis extends androidx.camera.core.UseCase { 151 method public void clearAnalyzer(); 152 method public int getBackpressureStrategy(); 153 method public int getImageQueueDepth(); 154 method public int getTargetRotation(); 155 method public void setAnalyzer(java.util.concurrent.Executor, androidx.camera.core.ImageAnalysis.Analyzer); 156 method public void setTargetRotation(int); 157 field public static final int STRATEGY_BLOCK_PRODUCER = 1; // 0x1 158 field public static final int STRATEGY_KEEP_ONLY_LATEST = 0; // 0x0 159 } 160 161 public static interface ImageAnalysis.Analyzer { 162 method public void analyze(androidx.camera.core.ImageProxy); 163 } 164 165 public static final class ImageAnalysis.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageAnalysis> { 166 ctor public ImageAnalysis.Builder(); 167 method public androidx.camera.core.ImageAnalysis build(); 168 method public androidx.camera.core.ImageAnalysis.Builder setBackgroundExecutor(java.util.concurrent.Executor); 169 method public androidx.camera.core.ImageAnalysis.Builder setBackpressureStrategy(int); 170 method public androidx.camera.core.ImageAnalysis.Builder setImageQueueDepth(int); 171 method public androidx.camera.core.ImageAnalysis.Builder setTargetAspectRatio(int); 172 method public androidx.camera.core.ImageAnalysis.Builder setTargetName(String); 173 method public androidx.camera.core.ImageAnalysis.Builder setTargetResolution(android.util.Size); 174 method public androidx.camera.core.ImageAnalysis.Builder setTargetRotation(int); 175 } 176 177 public final class ImageCapture extends androidx.camera.core.UseCase { 178 method public int getCaptureMode(); 179 method public int getFlashMode(); 180 method public int getTargetRotation(); 181 method public void setCropAspectRatio(android.util.Rational); 182 method public void setFlashMode(int); 183 method public void setTargetRotation(int); 184 method public void takePicture(androidx.camera.core.ImageCapture.OutputFileOptions, java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageSavedCallback); 185 method public void takePicture(java.util.concurrent.Executor, androidx.camera.core.ImageCapture.OnImageCapturedCallback); 186 field public static final int CAPTURE_MODE_MAXIMIZE_QUALITY = 0; // 0x0 187 field public static final int CAPTURE_MODE_MINIMIZE_LATENCY = 1; // 0x1 188 field public static final int ERROR_CAMERA_CLOSED = 3; // 0x3 189 field public static final int ERROR_CAPTURE_FAILED = 2; // 0x2 190 field public static final int ERROR_FILE_IO = 1; // 0x1 191 field public static final int ERROR_INVALID_CAMERA = 4; // 0x4 192 field public static final int ERROR_UNKNOWN = 0; // 0x0 193 field public static final int FLASH_MODE_AUTO = 0; // 0x0 194 field public static final int FLASH_MODE_OFF = 2; // 0x2 195 field public static final int FLASH_MODE_ON = 1; // 0x1 196 } 197 198 public static final class ImageCapture.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.ImageCapture> { 199 ctor public ImageCapture.Builder(); 200 method public androidx.camera.core.ImageCapture build(); 201 method public androidx.camera.core.ImageCapture.Builder setCaptureMode(int); 202 method public androidx.camera.core.ImageCapture.Builder setFlashMode(int); 203 method public androidx.camera.core.ImageCapture.Builder setIoExecutor(java.util.concurrent.Executor); 204 method public androidx.camera.core.ImageCapture.Builder setTargetAspectRatio(int); 205 method public androidx.camera.core.ImageCapture.Builder setTargetName(String); 206 method public androidx.camera.core.ImageCapture.Builder setTargetResolution(android.util.Size); 207 method public androidx.camera.core.ImageCapture.Builder setTargetRotation(int); 208 } 209 210 public static final class ImageCapture.Metadata { 211 ctor public ImageCapture.Metadata(); 212 method public android.location.Location? getLocation(); 213 method public boolean isReversedHorizontal(); 214 method public boolean isReversedVertical(); 215 method public void setLocation(android.location.Location?); 216 method public void setReversedHorizontal(boolean); 217 method public void setReversedVertical(boolean); 218 } 219 220 public abstract static class ImageCapture.OnImageCapturedCallback { 221 ctor public ImageCapture.OnImageCapturedCallback(); 222 method public void onCaptureSuccess(androidx.camera.core.ImageProxy); 223 method public void onError(androidx.camera.core.ImageCaptureException); 224 } 225 226 public static interface ImageCapture.OnImageSavedCallback { 227 method public void onError(androidx.camera.core.ImageCaptureException); 228 method public void onImageSaved(androidx.camera.core.ImageCapture.OutputFileResults); 229 } 230 231 public static final class ImageCapture.OutputFileOptions { 232 } 233 234 public static final class ImageCapture.OutputFileOptions.Builder { 235 ctor public ImageCapture.OutputFileOptions.Builder(android.content.ContentResolver, android.net.Uri, android.content.ContentValues); 236 ctor public ImageCapture.OutputFileOptions.Builder(java.io.File); 237 ctor public ImageCapture.OutputFileOptions.Builder(java.io.OutputStream); 238 method public androidx.camera.core.ImageCapture.OutputFileOptions build(); 239 method public androidx.camera.core.ImageCapture.OutputFileOptions.Builder setMetadata(androidx.camera.core.ImageCapture.Metadata); 240 } 241 242 public static class ImageCapture.OutputFileResults { 243 method public android.net.Uri? getSavedUri(); 244 } 245 246 public class ImageCaptureException extends java.lang.Exception { 247 ctor public ImageCaptureException(int, String, Throwable?); 248 method public int getImageCaptureError(); 249 } 250 251 public interface ImageInfo { 252 method public int getRotationDegrees(); 253 method public long getTimestamp(); 254 } 255 256 public interface ImageProxy extends java.lang.AutoCloseable { 257 method public void close(); 258 method public android.graphics.Rect getCropRect(); 259 method public int getFormat(); 260 method public int getHeight(); 261 method @androidx.camera.core.ExperimentalGetImage public android.media.Image? getImage(); 262 method public androidx.camera.core.ImageInfo getImageInfo(); 263 method public androidx.camera.core.ImageProxy.PlaneProxy![] getPlanes(); 264 method public int getWidth(); 265 method public void setCropRect(android.graphics.Rect?); 266 } 267 268 public static interface ImageProxy.PlaneProxy { 269 method public java.nio.ByteBuffer getBuffer(); 270 method public int getPixelStride(); 271 method public int getRowStride(); 272 } 273 274 public class InitializationException extends java.lang.Exception { 275 ctor public InitializationException(String?); 276 ctor public InitializationException(String?, Throwable?); 277 ctor public InitializationException(Throwable?); 278 } 279 280 public class MeteringPoint { 281 method public float getSize(); 282 } 283 284 public abstract class MeteringPointFactory { 285 method public final androidx.camera.core.MeteringPoint createPoint(float, float); 286 method public final androidx.camera.core.MeteringPoint createPoint(float, float, float); 287 method public static float getDefaultPointSize(); 288 } 289 290 public final class Preview extends androidx.camera.core.UseCase { 291 method public int getTargetRotation(); 292 method @UiThread public void setSurfaceProvider(androidx.camera.core.Preview.SurfaceProvider?); 293 method @UiThread public void setSurfaceProvider(java.util.concurrent.Executor, androidx.camera.core.Preview.SurfaceProvider?); 294 method @androidx.camera.core.ExperimentalUseCaseGroup public void setTargetRotation(int); 295 } 296 297 public static final class Preview.Builder implements androidx.camera.core.ExtendableBuilder<androidx.camera.core.Preview> { 298 ctor public Preview.Builder(); 299 method public androidx.camera.core.Preview build(); 300 method public androidx.camera.core.Preview.Builder setTargetAspectRatio(int); 301 method public androidx.camera.core.Preview.Builder setTargetName(String); 302 method public androidx.camera.core.Preview.Builder setTargetResolution(android.util.Size); 303 method public androidx.camera.core.Preview.Builder setTargetRotation(int); 304 } 305 306 public static interface Preview.SurfaceProvider { 307 method public void onSurfaceRequested(androidx.camera.core.SurfaceRequest); 308 } 309 310 public class SurfaceOrientedMeteringPointFactory extends androidx.camera.core.MeteringPointFactory { 311 ctor public SurfaceOrientedMeteringPointFactory(float, float); 312 ctor public SurfaceOrientedMeteringPointFactory(float, float, androidx.camera.core.UseCase); 313 } 314 315 public final class SurfaceRequest { 316 method public void addRequestCancellationListener(java.util.concurrent.Executor, Runnable); 317 method @androidx.camera.core.ExperimentalUseCaseGroup public void clearTransformationInfoListener(); 318 method public android.util.Size getResolution(); 319 method public void provideSurface(android.view.Surface, java.util.concurrent.Executor, androidx.core.util.Consumer<androidx.camera.core.SurfaceRequest.Result!>); 320 method @androidx.camera.core.ExperimentalUseCaseGroup public void setTransformationInfoListener(java.util.concurrent.Executor, androidx.camera.core.SurfaceRequest.TransformationInfoListener); 321 method public boolean willNotProvideSurface(); 322 } 323 324 @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.Result { 325 method public abstract int getResultCode(); 326 method public abstract android.view.Surface getSurface(); 327 field public static final int RESULT_INVALID_SURFACE = 2; // 0x2 328 field public static final int RESULT_REQUEST_CANCELLED = 1; // 0x1 329 field public static final int RESULT_SURFACE_ALREADY_PROVIDED = 3; // 0x3 330 field public static final int RESULT_SURFACE_USED_SUCCESSFULLY = 0; // 0x0 331 field public static final int RESULT_WILL_NOT_PROVIDE_SURFACE = 4; // 0x4 332 } 333 334 @androidx.camera.core.ExperimentalUseCaseGroup @com.google.auto.value.AutoValue public abstract static class SurfaceRequest.TransformationInfo { 335 method public abstract android.graphics.Rect getCropRect(); 336 method public abstract int getRotationDegrees(); 337 } 338 339 @androidx.camera.core.ExperimentalUseCaseGroup public static interface SurfaceRequest.TransformationInfoListener { 340 method public void onTransformationInfoUpdate(androidx.camera.core.SurfaceRequest.TransformationInfo); 341 } 342 343 public class TorchState { 344 field public static final int OFF = 0; // 0x0 345 field public static final int ON = 1; // 0x1 346 } 347 348 public abstract class UseCase { 349 } 350 351 @androidx.camera.core.ExperimentalUseCaseGroup public final class UseCaseGroup { 352 method public java.util.List<androidx.camera.core.UseCase!> getUseCases(); 353 method public androidx.camera.core.ViewPort? getViewPort(); 354 } 355 356 @androidx.camera.core.ExperimentalUseCaseGroup public static final class UseCaseGroup.Builder { 357 ctor public UseCaseGroup.Builder(); 358 method public androidx.camera.core.UseCaseGroup.Builder addUseCase(androidx.camera.core.UseCase); 359 method public androidx.camera.core.UseCaseGroup build(); 360 method public androidx.camera.core.UseCaseGroup.Builder setViewPort(androidx.camera.core.ViewPort); 361 } 362 363 @androidx.camera.core.ExperimentalUseCaseGroup public final class ViewPort { 364 method public android.util.Rational getAspectRatio(); 365 method public int getRotation(); 366 method public int getScaleType(); 367 field public static final int FILL_CENTER = 1; // 0x1 368 field public static final int FILL_END = 2; // 0x2 369 field public static final int FILL_START = 0; // 0x0 370 field public static final int FIT = 3; // 0x3 371 } 372 373 @androidx.camera.core.ExperimentalUseCaseGroup public static final class ViewPort.Builder { 374 ctor public ViewPort.Builder(android.util.Rational, int); 375 method public androidx.camera.core.ViewPort build(); 376 } 377 378 public interface ZoomState { 379 method public float getLinearZoom(); 380 method public float getMaxZoomRatio(); 381 method public float getMinZoomRatio(); 382 method public float getZoomRatio(); 383 } 384 385} 386 387