You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
4.9 KiB
203 lines
4.9 KiB
package com.otaliastudios.cameraview.engine;
|
|
|
|
|
|
import android.graphics.PointF;
|
|
import android.location.Location;
|
|
|
|
import com.google.android.gms.tasks.Task;
|
|
import com.google.android.gms.tasks.Tasks;
|
|
import com.otaliastudios.cameraview.CameraOptions;
|
|
import com.otaliastudios.cameraview.PictureResult;
|
|
import com.otaliastudios.cameraview.VideoResult;
|
|
import com.otaliastudios.cameraview.controls.Audio;
|
|
import com.otaliastudios.cameraview.controls.Facing;
|
|
import com.otaliastudios.cameraview.controls.Flash;
|
|
import com.otaliastudios.cameraview.gesture.Gesture;
|
|
import com.otaliastudios.cameraview.controls.Hdr;
|
|
import com.otaliastudios.cameraview.controls.Mode;
|
|
import com.otaliastudios.cameraview.controls.WhiteBalance;
|
|
import com.otaliastudios.cameraview.size.AspectRatio;
|
|
import com.otaliastudios.cameraview.size.Size;
|
|
import com.otaliastudios.cameraview.size.SizeSelector;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class MockCameraEngine extends CameraEngine {
|
|
|
|
public boolean mPictureCaptured;
|
|
public boolean mFocusStarted;
|
|
public boolean mZoomChanged;
|
|
public boolean mExposureCorrectionChanged;
|
|
|
|
public MockCameraEngine(CameraEngine.Callback callback) {
|
|
super(callback);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStartEngine() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStopEngine() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStartBind() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStopBind() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStartPreview() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected Task<Void> onStopPreview() {
|
|
return Tasks.forResult(null);
|
|
}
|
|
|
|
public void setMockCameraOptions(CameraOptions options) {
|
|
mCameraOptions = options;
|
|
}
|
|
|
|
public void setMockPreviewStreamSize(Size size) {
|
|
mPreviewStreamSize = size;
|
|
}
|
|
|
|
public void setMockEngineState(boolean started) {
|
|
mEngineStep.setState(started ? STATE_STARTED : STATE_STOPPED);
|
|
}
|
|
|
|
public int getSnapshotMaxWidth() {
|
|
return mSnapshotMaxWidth;
|
|
}
|
|
|
|
public int getSnapshotMaxHeight() {
|
|
return mSnapshotMaxHeight;
|
|
}
|
|
|
|
public SizeSelector getInternalPreviewStreamSizeSelector() {
|
|
return super.getPreviewStreamSizeSelector();
|
|
}
|
|
|
|
public SizeSelector getInternalPictureSizeSelector() {
|
|
return super.getPictureSizeSelector();
|
|
}
|
|
|
|
public SizeSelector getInternalVideoSizeSelector() {
|
|
return super.getVideoSizeSelector();
|
|
}
|
|
|
|
|
|
@Override
|
|
public void setZoom(float zoom, @Nullable PointF[] points, boolean notify) {
|
|
mZoomValue = zoom;
|
|
mZoomChanged = true;
|
|
}
|
|
|
|
@Override
|
|
public void setExposureCorrection(float EVvalue, @NonNull float[] bounds, @Nullable PointF[] points, boolean notify) {
|
|
mExposureCorrectionValue = EVvalue;
|
|
mExposureCorrectionChanged = true;
|
|
}
|
|
|
|
@Override
|
|
public void setFacing(@NonNull Facing facing) {
|
|
mFacing = facing;
|
|
}
|
|
|
|
@Override
|
|
public void setFlash(@NonNull Flash flash) {
|
|
mFlash = flash;
|
|
}
|
|
|
|
@Override
|
|
public void setWhiteBalance(@NonNull WhiteBalance whiteBalance) {
|
|
mWhiteBalance = whiteBalance;
|
|
}
|
|
|
|
@Override
|
|
public void setMode(@NonNull Mode mode) {
|
|
mMode = mode;
|
|
}
|
|
|
|
@Override
|
|
public void setHdr(@NonNull Hdr hdr) {
|
|
mHdr = hdr;
|
|
}
|
|
|
|
@Override
|
|
public void setAudio(@NonNull Audio audio) {
|
|
mAudio = audio;
|
|
}
|
|
|
|
@Override
|
|
public void setLocation(@Nullable Location location) {
|
|
mLocation = location;
|
|
}
|
|
|
|
@Override
|
|
public void takePicture(@NonNull PictureResult.Stub stub) {
|
|
mPictureCaptured = true;
|
|
}
|
|
|
|
@Override
|
|
public void takePictureSnapshot(@NonNull PictureResult.Stub stub, @NonNull AspectRatio viewAspectRatio) {
|
|
}
|
|
|
|
@Override
|
|
public void takeVideo(@NonNull VideoResult.Stub stub, @NonNull File file) {
|
|
}
|
|
|
|
@Override
|
|
public void takeVideoSnapshot(@NonNull VideoResult.Stub stub, @NonNull File file, @NonNull AspectRatio viewAspectRatio) {
|
|
}
|
|
|
|
|
|
@Override
|
|
public void stopVideo() {
|
|
}
|
|
|
|
@Override
|
|
protected void onPreviewStreamSizeChanged() {
|
|
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
protected List<Size> getPreviewStreamAvailableSizes() {
|
|
return new ArrayList<>();
|
|
}
|
|
|
|
@Override
|
|
public void startAutoFocus(@Nullable Gesture gesture, @NonNull PointF point) {
|
|
mFocusStarted = true;
|
|
}
|
|
|
|
@Override
|
|
public void onBufferAvailable(@NonNull byte[] buffer) {
|
|
}
|
|
|
|
@Override
|
|
public void setPlaySounds(boolean playSounds) {
|
|
|
|
}
|
|
}
|
|
|