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