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.
 
 
CameraView/cameraview/src/androidTest/java/com/otaliastudios/cameraview/engine/MockCameraEngine.java

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) {
}
}