From 146808768d6d799b14a8f865e80e89be65f9cb9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20T=C3=BCrkan?= <51923824+genjitsuCode@users.noreply.github.com> Date: Sun, 19 Feb 2023 15:07:00 +0300 Subject: [PATCH 1/4] [bugfix] update lib version --- README.md | 2 +- app/build.gradle | 2 +- camerax-mlkit-pack/build.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3ecd427..0ad7afe 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ No need to waste time on CameraX and ML Kit app anymore. This library will speed ```sh dependencies { ... - implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.4' + implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.6' } ```

(back to top)

diff --git a/app/build.gradle b/app/build.gradle index 45b2890..dce383b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,5 +46,5 @@ dependencies { implementation "androidx.camera:camera-view:1.2.1" implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" - implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.4' + implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.6' } \ No newline at end of file diff --git a/camerax-mlkit-pack/build.gradle b/camerax-mlkit-pack/build.gradle index 9f6e6b8..34df229 100644 --- a/camerax-mlkit-pack/build.gradle +++ b/camerax-mlkit-pack/build.gradle @@ -50,7 +50,7 @@ afterEvaluate { groupId = 'com.github.furkanturkn' artifactId = 'camerax-mlkit-pack' - version = '1.0.4' + version = '1.0.6' } } } From bf4349acbe9da39725cca26e1bfc53e3a6f923dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20T=C3=BCrkan?= <51923824+genjitsuCode@users.noreply.github.com> Date: Sun, 19 Feb 2023 15:28:51 +0300 Subject: [PATCH 2/4] [bugfix] downgrade lib version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index dce383b..fc10999 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,5 +46,5 @@ dependencies { implementation "androidx.camera:camera-view:1.2.1" implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" - implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.6' + implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.3' } \ No newline at end of file From 35577a7a612d635ab2a410dad406873e4be5bf5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20T=C3=BCrkan?= <51923824+genjitsuCode@users.noreply.github.com> Date: Sun, 19 Feb 2023 15:34:33 +0300 Subject: [PATCH 3/4] [bugfix] update lib version --- README.md | 2 +- app/build.gradle | 2 +- camerax-mlkit-pack/build.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0ad7afe..86ce5b2 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ No need to waste time on CameraX and ML Kit app anymore. This library will speed ```sh dependencies { ... - implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.6' + implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.7' } ```

(back to top)

diff --git a/app/build.gradle b/app/build.gradle index fc10999..81432ac 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,5 +46,5 @@ dependencies { implementation "androidx.camera:camera-view:1.2.1" implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" - implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.3' + implementation 'com.github.furkanturkn:camerax-mlkit-pack:1.0.7' } \ No newline at end of file diff --git a/camerax-mlkit-pack/build.gradle b/camerax-mlkit-pack/build.gradle index 34df229..3fec263 100644 --- a/camerax-mlkit-pack/build.gradle +++ b/camerax-mlkit-pack/build.gradle @@ -50,7 +50,7 @@ afterEvaluate { groupId = 'com.github.furkanturkn' artifactId = 'camerax-mlkit-pack' - version = '1.0.6' + version = '1.0.7' } } } From 788a36a6125e9b079c66f586de97c447fab1ea65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20T=C3=BCrkan?= <51923824+genjitsuCode@users.noreply.github.com> Date: Tue, 21 Feb 2023 21:10:36 +0300 Subject: [PATCH 4/4] [feat] add fragment option to constructor --- .../camerax_mlkit_pack/CameraxManager.kt | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/camerax-mlkit-pack/src/main/java/com/furkan/camerax_mlkit_pack/CameraxManager.kt b/camerax-mlkit-pack/src/main/java/com/furkan/camerax_mlkit_pack/CameraxManager.kt index c3bbe2f..9baa98f 100644 --- a/camerax-mlkit-pack/src/main/java/com/furkan/camerax_mlkit_pack/CameraxManager.kt +++ b/camerax-mlkit-pack/src/main/java/com/furkan/camerax_mlkit_pack/CameraxManager.kt @@ -19,6 +19,7 @@ import androidx.camera.core.* import androidx.camera.lifecycle.ProcessCameraProvider import androidx.camera.view.PreviewView import androidx.core.content.ContextCompat +import androidx.fragment.app.Fragment import androidx.lifecycle.LifecycleOwner import com.furkan.camerax_mlkit_pack.core.Constants import com.furkan.camerax_mlkit_pack.core.Constants.CAMERA_RESOLUTION_HEIGHT @@ -47,6 +48,7 @@ import java.util.concurrent.TimeUnit class CameraxManager( context: Context, + fragment: Fragment?, previewView: PreviewView, focusRing: ImageView, cameraSelectorType: Int? = CameraSelector.LENS_FACING_BACK, @@ -54,6 +56,7 @@ class CameraxManager( ) { private var mContext = context + private var mFragment = fragment private var mPreviewView = previewView private var mFocusRing = focusRing private var cameraControl: CameraControl? = null @@ -120,6 +123,7 @@ class CameraxManager( fun getInstance( context: Context, + fragment: Fragment, previewView: PreviewView, focusRing: ImageView, cameraSelectorType: Int? = CameraSelector.LENS_FACING_BACK, @@ -128,6 +132,7 @@ class CameraxManager( ?: synchronized(this) { INSTANCE ?: CameraxManager( context, + fragment, previewView, focusRing, cameraSelectorType, @@ -148,7 +153,7 @@ class CameraxManager( } fun startCamera() { - if(cameraExecutor.isShutdown || cameraExecutor.isTerminated) { + if (cameraExecutor.isShutdown || cameraExecutor.isTerminated) { cameraExecutor = Executors.newSingleThreadExecutor() } addCameraProviderFeatureListener() @@ -352,10 +357,18 @@ class CameraxManager( preview.setSurfaceProvider(mPreviewView.surfaceProvider) cameraProvider.unbindAll() - val camera: Camera = cameraProvider.bindToLifecycle( - (mContext as LifecycleOwner), cameraSelector!!, - imageAnalysisUseCase, preview, imageCaptureBuilder - ) + val camera: Camera = if (mFragment != null) { + cameraProvider.bindToLifecycle( + (mFragment as LifecycleOwner), cameraSelector!!, + imageAnalysisUseCase, preview, imageCaptureBuilder + ) + } else { + cameraProvider.bindToLifecycle( + (mContext as LifecycleOwner), cameraSelector!!, + imageAnalysisUseCase, preview, imageCaptureBuilder + ) + } + cameraControl = camera.cameraControl }