diff --git a/cameraview/build.gradle b/cameraview/build.gradle index e4218c3e..ffca450f 100644 --- a/cameraview/build.gradle +++ b/cameraview/build.gradle @@ -32,7 +32,6 @@ android { } sourceSets { - main.java.srcDirs += 'src/main/views' main.java.srcDirs += 'src/main/utils' main.java.srcDirs += 'src/main/gles' } diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraPreviewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraPreviewTest.java index db66df59..81ac3e55 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraPreviewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraPreviewTest.java @@ -5,6 +5,7 @@ import android.content.Context; import androidx.test.rule.ActivityTestRule; import android.view.ViewGroup; +import com.otaliastudios.cameraview.preview.CameraPreview; import com.otaliastudios.cameraview.size.AspectRatio; import com.otaliastudios.cameraview.size.Size; diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewCallbacksTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewCallbacksTest.java index 1db9953f..1dacdf10 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewCallbacksTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewCallbacksTest.java @@ -10,8 +10,10 @@ import androidx.test.filters.MediumTest; import android.view.ViewGroup; import com.otaliastudios.cameraview.controls.Audio; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.gesture.Gesture; import com.otaliastudios.cameraview.gesture.GestureAction; +import com.otaliastudios.cameraview.preview.CameraPreview; import org.junit.After; import org.junit.Before; diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java index f00bbd7a..2bfa4be1 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java @@ -14,6 +14,7 @@ import com.otaliastudios.cameraview.controls.Audio; import com.otaliastudios.cameraview.controls.ControlParser; import com.otaliastudios.cameraview.controls.Facing; import com.otaliastudios.cameraview.controls.Flash; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.gesture.Gesture; import com.otaliastudios.cameraview.gesture.GestureAction; import com.otaliastudios.cameraview.controls.Grid; @@ -25,6 +26,7 @@ import com.otaliastudios.cameraview.gesture.GestureParser; import com.otaliastudios.cameraview.gesture.PinchGestureLayout; import com.otaliastudios.cameraview.gesture.ScrollGestureLayout; import com.otaliastudios.cameraview.gesture.TapGestureLayout; +import com.otaliastudios.cameraview.preview.CameraPreview; import com.otaliastudios.cameraview.size.Size; import com.otaliastudios.cameraview.size.SizeSelector; import com.otaliastudios.cameraview.size.SizeSelectors; diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GlCameraPreviewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GlCameraPreviewTest.java index 36e7e7cd..d2c33fe4 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GlCameraPreviewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/GlCameraPreviewTest.java @@ -7,6 +7,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import android.view.ViewGroup; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.preview.GlCameraPreview; + import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/IntegrationTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/IntegrationTest.java index 72a9e1c8..7855ce16 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/IntegrationTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/IntegrationTest.java @@ -11,6 +11,8 @@ import com.otaliastudios.cameraview.controls.Flash; import com.otaliastudios.cameraview.controls.Hdr; import com.otaliastudios.cameraview.controls.Mode; import com.otaliastudios.cameraview.controls.WhiteBalance; +import com.otaliastudios.cameraview.engine.Camera1Engine; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.size.Size; import androidx.annotation.NonNull; @@ -55,7 +57,7 @@ public class IntegrationTest extends BaseTest { public ActivityTestRule rule = new ActivityTestRule<>(TestActivity.class); private CameraView camera; - private Camera1 controller; + private Camera1Engine controller; private CameraListener listener; private Task uiExceptionTask; @@ -74,7 +76,7 @@ public class IntegrationTest extends BaseTest { camera = new CameraView(rule.getActivity()) { @Override protected CameraEngine instantiateCameraController(CameraCallbacks callbacks) { - controller = new Camera1(callbacks); + controller = new Camera1Engine(callbacks); return controller; } }; diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraEngine.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraEngine.java index 3beb4f1e..bf2e353a 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraEngine.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraEngine.java @@ -7,6 +7,7 @@ import android.location.Location; import com.otaliastudios.cameraview.controls.Audio; import com.otaliastudios.cameraview.controls.Facing; import com.otaliastudios.cameraview.controls.Flash; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.gesture.Gesture; import com.otaliastudios.cameraview.controls.Hdr; import com.otaliastudios.cameraview.controls.Mode; diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraPreview.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraPreview.java index 92e6f9a2..cd923bc9 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraPreview.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/MockCameraPreview.java @@ -7,6 +7,8 @@ import androidx.annotation.NonNull; import android.view.View; import android.view.ViewGroup; +import com.otaliastudios.cameraview.preview.CameraPreview; + public class MockCameraPreview extends CameraPreview { MockCameraPreview(Context context, ViewGroup parent) { diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/SurfaceCameraPreviewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/SurfaceCameraPreviewTest.java index d65e8863..aa1b6170 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/SurfaceCameraPreviewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/SurfaceCameraPreviewTest.java @@ -7,7 +7,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import android.view.ViewGroup; -import org.junit.Test; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.preview.SurfaceCameraPreview; + import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/TextureCameraPreviewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/TextureCameraPreviewTest.java index 4e5e3251..fbb77575 100644 --- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/TextureCameraPreviewTest.java +++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/TextureCameraPreviewTest.java @@ -7,6 +7,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import android.view.ViewGroup; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.preview.TextureCameraPreview; + import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java index 795e11ee..88219070 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java @@ -48,7 +48,7 @@ public class CameraOptions { private boolean autoFocusSupported; - // Camera1 constructor. + // Camera1Engine constructor. @SuppressWarnings("deprecation") CameraOptions(@NonNull Camera.Parameters params, boolean flipSizes) { List strings; diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java index 2ca8694a..c442df70 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java @@ -33,6 +33,8 @@ import com.otaliastudios.cameraview.controls.Control; import com.otaliastudios.cameraview.controls.ControlParser; import com.otaliastudios.cameraview.controls.Facing; import com.otaliastudios.cameraview.controls.Flash; +import com.otaliastudios.cameraview.engine.Camera1Engine; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.gesture.Gesture; import com.otaliastudios.cameraview.gesture.GestureAction; import com.otaliastudios.cameraview.controls.Grid; @@ -46,6 +48,10 @@ import com.otaliastudios.cameraview.gesture.GestureParser; import com.otaliastudios.cameraview.gesture.PinchGestureLayout; import com.otaliastudios.cameraview.gesture.ScrollGestureLayout; import com.otaliastudios.cameraview.gesture.TapGestureLayout; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.preview.GlCameraPreview; +import com.otaliastudios.cameraview.preview.SurfaceCameraPreview; +import com.otaliastudios.cameraview.preview.TextureCameraPreview; import com.otaliastudios.cameraview.size.AspectRatio; import com.otaliastudios.cameraview.size.Size; import com.otaliastudios.cameraview.size.SizeSelector; @@ -197,7 +203,7 @@ public class CameraView extends FrameLayout implements LifecycleObserver { } protected CameraEngine instantiateCameraController(CameraCallbacks callbacks) { - return new Camera1(callbacks); + return new Camera1Engine(callbacks); } protected CameraPreview instantiatePreview(Context context, ViewGroup container) { diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/FullVideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/FullVideoRecorder.java index 96330d2c..134bf611 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/FullVideoRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/FullVideoRecorder.java @@ -5,6 +5,7 @@ import android.media.CamcorderProfile; import android.media.MediaRecorder; import com.otaliastudios.cameraview.controls.Audio; +import com.otaliastudios.cameraview.engine.Camera1Engine; import com.otaliastudios.cameraview.size.Size; import androidx.annotation.NonNull; @@ -20,12 +21,12 @@ class FullVideoRecorder extends VideoRecorder { private MediaRecorder mMediaRecorder; private CamcorderProfile mProfile; - private Camera1 mController; + private Camera1Engine mController; private Camera mCamera; private Size mSize; FullVideoRecorder(@NonNull VideoResult stub, @Nullable VideoResultListener listener, - @NonNull Camera1 controller, @NonNull Camera camera, int cameraId) { + @NonNull Camera1Engine controller, @NonNull Camera camera, int cameraId) { super(stub, listener); mCamera = camera; mController = controller; diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/GridLinesLayout.java b/cameraview/src/main/java/com/otaliastudios/cameraview/GridLinesLayout.java similarity index 100% rename from cameraview/src/main/views/com/otaliastudios/cameraview/GridLinesLayout.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/GridLinesLayout.java diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/RendererThread.java b/cameraview/src/main/java/com/otaliastudios/cameraview/RendererThread.java similarity index 100% rename from cameraview/src/main/views/com/otaliastudios/cameraview/RendererThread.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/RendererThread.java diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java index 66b868f7..fdc5b7e5 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotPictureRecorder.java @@ -13,6 +13,10 @@ import android.opengl.EGLContext; import android.opengl.Matrix; import android.os.Build; import com.otaliastudios.cameraview.controls.Facing; +import com.otaliastudios.cameraview.engine.Camera1Engine; +import com.otaliastudios.cameraview.engine.CameraEngine; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.preview.GlCameraPreview; import com.otaliastudios.cameraview.size.AspectRatio; import com.otaliastudios.cameraview.size.Size; @@ -28,14 +32,14 @@ class SnapshotPictureRecorder extends PictureRecorder { private static final String TAG = SnapshotPictureRecorder.class.getSimpleName(); private static final CameraLogger LOG = CameraLogger.create(TAG); - private Camera1 mController; + private Camera1Engine mController; private Camera mCamera; private CameraPreview mPreview; private AspectRatio mOutputRatio; private Size mSensorPreviewSize; private int mFormat; - SnapshotPictureRecorder(@NonNull PictureResult stub, @NonNull Camera1 controller, + SnapshotPictureRecorder(@NonNull PictureResult stub, @NonNull Camera1Engine controller, @NonNull Camera camera, @NonNull AspectRatio outputRatio) { super(stub, controller); mController = controller; diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotVideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotVideoRecorder.java index 008dd809..35294bd5 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotVideoRecorder.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/SnapshotVideoRecorder.java @@ -5,6 +5,7 @@ import android.opengl.EGL14; import android.os.Build; import com.otaliastudios.cameraview.controls.Audio; +import com.otaliastudios.cameraview.preview.GlCameraPreview; import com.otaliastudios.cameraview.size.Size; import androidx.annotation.NonNull; @@ -125,7 +126,7 @@ class SnapshotVideoRecorder extends VideoRecorder implements GlCameraPreview.Ren @Override public void onEncoderStop(int stopReason, @Nullable Exception e) { // If something failed, undo the result, since this is the mechanism - // to notify Camera1 about this. + // to notify Camera1Engine about this. if (e != null) { LOG.e("Error onEncoderStop", e); mResult = null; diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java similarity index 96% rename from cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java index 3b62471f..ace6df28 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera1Engine.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.engine; import android.annotation.SuppressLint; import android.annotation.TargetApi; @@ -14,6 +14,23 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import android.view.SurfaceHolder; +import com.otaliastudios.cameraview.CameraException; +import com.otaliastudios.cameraview.CameraLogger; +import com.otaliastudios.cameraview.CameraOptions; +import com.otaliastudios.cameraview.CameraView; +import com.otaliastudios.cameraview.CropHelper; +import com.otaliastudios.cameraview.Frame; +import com.otaliastudios.cameraview.FullPictureRecorder; +import com.otaliastudios.cameraview.FullVideoRecorder; +import com.otaliastudios.cameraview.GlCameraPreview; +import com.otaliastudios.cameraview.Mapper1; +import com.otaliastudios.cameraview.PictureRecorder; +import com.otaliastudios.cameraview.PictureResult; +import com.otaliastudios.cameraview.SnapshotPictureRecorder; +import com.otaliastudios.cameraview.SnapshotVideoRecorder; +import com.otaliastudios.cameraview.Task; +import com.otaliastudios.cameraview.VideoRecorder; +import com.otaliastudios.cameraview.VideoResult; import com.otaliastudios.cameraview.controls.Audio; import com.otaliastudios.cameraview.controls.Facing; import com.otaliastudios.cameraview.controls.Flash; @@ -31,11 +48,11 @@ import java.util.List; @SuppressWarnings("deprecation") -class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.ErrorCallback, +class Camera1Engine extends CameraEngine implements Camera.PreviewCallback, Camera.ErrorCallback, VideoRecorder.VideoResultListener, PictureRecorder.PictureResultListener { - private static final String TAG = Camera1.class.getSimpleName(); + private static final String TAG = Camera1Engine.class.getSimpleName(); private static final CameraLogger LOG = CameraLogger.create(TAG); private Camera mCamera; @@ -56,7 +73,7 @@ class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.Err } }; - Camera1(@NonNull CameraView.CameraCallbacks callback) { + Camera1Engine(@NonNull CameraView.CameraCallbacks callback) { super(callback); mMapper = new Mapper1(); } @@ -581,7 +598,7 @@ class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.Err result.rotation = offset(REF_SENSOR, REF_OUTPUT); result.size = getPictureSize(REF_OUTPUT); result.facing = mFacing; - mPictureRecorder = new FullPictureRecorder(result, Camera1.this, mCamera); + mPictureRecorder = new FullPictureRecorder(result, Camera1Engine.this, mCamera); mPictureRecorder.take(); } }); @@ -616,7 +633,7 @@ class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.Err LOG.v("Rotations", "SO", offset(REF_SENSOR, REF_OUTPUT), "OS", offset(REF_OUTPUT, REF_SENSOR)); LOG.v("Rotations", "VO", offset(REF_VIEW, REF_OUTPUT), "OV", offset(REF_OUTPUT, REF_VIEW)); - mPictureRecorder = new SnapshotPictureRecorder(result, Camera1.this, mCamera, outputRatio); + mPictureRecorder = new SnapshotPictureRecorder(result, Camera1Engine.this, mCamera, outputRatio); mPictureRecorder.take(); } }); @@ -702,8 +719,8 @@ class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.Err onVideoResult(null, e); return; } - mVideoRecorder = new FullVideoRecorder(videoResult, Camera1.this, - Camera1.this, mCamera, mCameraId); + mVideoRecorder = new FullVideoRecorder(videoResult, Camera1Engine.this, + Camera1Engine.this, mCamera, mCameraId); mVideoRecorder.start(); } }); @@ -790,7 +807,7 @@ class Camera1 extends CameraEngine implements Camera.PreviewCallback, Camera.Err // Reset facing and start. mFacing = realFacing; GlCameraPreview cameraPreview = (GlCameraPreview) mPreview; - mVideoRecorder = new SnapshotVideoRecorder(videoResult, Camera1.this, cameraPreview); + mVideoRecorder = new SnapshotVideoRecorder(videoResult, Camera1Engine.this, cameraPreview); mVideoRecorder.start(); } }); diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraEngine.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java similarity index 97% rename from cameraview/src/main/java/com/otaliastudios/cameraview/CameraEngine.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java index beb48aca..22036d67 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraEngine.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/CameraEngine.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.engine; import android.graphics.PointF; import android.location.Location; @@ -7,6 +7,17 @@ import android.location.Location; import android.os.Handler; import android.os.Looper; +import com.otaliastudios.cameraview.CameraException; +import com.otaliastudios.cameraview.CameraLogger; +import com.otaliastudios.cameraview.CameraOptions; +import com.otaliastudios.cameraview.preview.CameraPreview; +import com.otaliastudios.cameraview.CameraView; +import com.otaliastudios.cameraview.FrameManager; +import com.otaliastudios.cameraview.Mapper; +import com.otaliastudios.cameraview.PictureRecorder; +import com.otaliastudios.cameraview.Task; +import com.otaliastudios.cameraview.VideoRecorder; +import com.otaliastudios.cameraview.WorkerHandler; import com.otaliastudios.cameraview.controls.Audio; import com.otaliastudios.cameraview.controls.Facing; import com.otaliastudios.cameraview.controls.Flash; @@ -30,7 +41,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -abstract class CameraEngine implements +public abstract class CameraEngine implements CameraPreview.SurfaceCallback, FrameManager.BufferCallback, Thread.UncaughtExceptionHandler { diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/CameraPreview.java b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/CameraPreview.java similarity index 95% rename from cameraview/src/main/views/com/otaliastudios/cameraview/CameraPreview.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/preview/CameraPreview.java index 48dfb103..9ad9445b 100644 --- a/cameraview/src/main/views/com/otaliastudios/cameraview/CameraPreview.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/CameraPreview.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.preview; import android.content.Context; import androidx.annotation.NonNull; @@ -6,6 +6,9 @@ import androidx.annotation.Nullable; import android.view.View; import android.view.ViewGroup; +import com.otaliastudios.cameraview.CameraLogger; +import com.otaliastudios.cameraview.Task; +import com.otaliastudios.cameraview.engine.CameraEngine; import com.otaliastudios.cameraview.size.Size; /** @@ -15,7 +18,7 @@ import com.otaliastudios.cameraview.size.Size; * @param the type of view which hosts the content surface * @param the type of output, either {@link android.view.SurfaceHolder} or {@link android.graphics.SurfaceTexture} */ -abstract class CameraPreview { +public abstract class CameraPreview { protected final static CameraLogger LOG = CameraLogger.create(CameraPreview.class.getSimpleName()); diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/GlCameraPreview.java similarity index 96% rename from cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/preview/GlCameraPreview.java index 883d6237..436fa731 100644 --- a/cameraview/src/main/views/com/otaliastudios/cameraview/GlCameraPreview.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/GlCameraPreview.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.preview; import android.content.Context; import android.graphics.SurfaceTexture; @@ -12,6 +12,10 @@ import android.view.SurfaceHolder; import android.view.View; import android.view.ViewGroup; +import com.otaliastudios.cameraview.EglViewport; +import com.otaliastudios.cameraview.R; +import com.otaliastudios.cameraview.RendererThread; +import com.otaliastudios.cameraview.preview.CameraPreview; import com.otaliastudios.cameraview.size.AspectRatio; import java.util.Collections; @@ -26,8 +30,8 @@ import javax.microedition.khronos.opengles.GL10; * * - in the SurfaceTexture constructor we pass the GL texture handle that we have created. * - * - The SurfaceTexture is linked to the Camera1 object. The camera will pass down buffers of data with - * a specified size (that is, the Camera1 preview size). For this reason we don't have to specify + * - The SurfaceTexture is linked to the Camera1Engine object. The camera will pass down buffers of data with + * a specified size (that is, the Camera1Engine preview size). For this reason we don't have to specify * surfaceTexture.setDefaultBufferSize() (like we do, for example, in SnapshotPictureRecorder). * * - When SurfaceTexture.updateTexImage() is called, it will fetch the latest texture image from the diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/SurfaceCameraPreview.java b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/SurfaceCameraPreview.java similarity index 95% rename from cameraview/src/main/views/com/otaliastudios/cameraview/SurfaceCameraPreview.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/preview/SurfaceCameraPreview.java index ac63767d..b5887b22 100644 --- a/cameraview/src/main/views/com/otaliastudios/cameraview/SurfaceCameraPreview.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/SurfaceCameraPreview.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.preview; import android.content.Context; import androidx.annotation.NonNull; @@ -9,6 +9,9 @@ import android.view.SurfaceView; import android.view.View; import android.view.ViewGroup; +import com.otaliastudios.cameraview.CameraLogger; +import com.otaliastudios.cameraview.R; + // Fallback preview when hardware acceleration is off. // Currently this does NOT support cropping (e. g. the crop inside behavior), // so we return false in supportsCropping() in order to have proper measuring. diff --git a/cameraview/src/main/views/com/otaliastudios/cameraview/TextureCameraPreview.java b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/TextureCameraPreview.java similarity index 96% rename from cameraview/src/main/views/com/otaliastudios/cameraview/TextureCameraPreview.java rename to cameraview/src/main/java/com/otaliastudios/cameraview/preview/TextureCameraPreview.java index dfac157b..364bef1b 100644 --- a/cameraview/src/main/views/com/otaliastudios/cameraview/TextureCameraPreview.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/preview/TextureCameraPreview.java @@ -1,4 +1,4 @@ -package com.otaliastudios.cameraview; +package com.otaliastudios.cameraview.preview; import android.annotation.TargetApi; import android.content.Context; @@ -10,6 +10,8 @@ import android.view.TextureView; import android.view.View; import android.view.ViewGroup; +import com.otaliastudios.cameraview.R; +import com.otaliastudios.cameraview.preview.CameraPreview; import com.otaliastudios.cameraview.size.AspectRatio; class TextureCameraPreview extends CameraPreview {