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