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