Skip to content

Commit c08ea2b

Browse files
committed
turn off camerax info logs
1 parent b38d978 commit c08ea2b

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## NEXT
2+
3+
Improvements:
4+
* [Android] Turn off logging for CameraX, except for the `Log.ERROR` logging level.
5+
16
## 7.0.0-beta.6
27

38
**BREAKING CHANGES:**

android/src/main/kotlin/dev/steenbakker/mobile_scanner/MobileScanner.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@ import android.hardware.display.DisplayManager
1313
import android.net.Uri
1414
import android.os.Handler
1515
import android.os.Looper
16+
import android.util.Log
1617
import android.util.Size
1718
import android.view.Surface
1819
import androidx.annotation.VisibleForTesting
20+
import androidx.camera.camera2.Camera2Config
1921
import androidx.camera.core.Camera
2022
import androidx.camera.core.CameraSelector
23+
import androidx.camera.core.CameraXConfig
2124
import androidx.camera.core.ExperimentalGetImage
2225
import androidx.camera.core.ImageAnalysis
2326
import androidx.camera.core.ImageProxy
@@ -42,7 +45,6 @@ import dev.steenbakker.mobile_scanner.utils.serialize
4245
import io.flutter.view.TextureRegistry
4346
import kotlinx.coroutines.CoroutineScope
4447
import kotlinx.coroutines.Dispatchers
45-
import kotlinx.coroutines.coroutineScope
4648
import kotlinx.coroutines.launch
4749
import java.io.ByteArrayOutputStream
4850
import java.io.IOException
@@ -58,6 +60,10 @@ class MobileScanner(
5860
private val barcodeScannerFactory: (options: BarcodeScannerOptions?) -> BarcodeScanner = ::defaultBarcodeScannerFactory,
5961
) {
6062

63+
init {
64+
configureCameraProcessProvider()
65+
}
66+
6167
/// Internal variables
6268
private var cameraProvider: ProcessCameraProvider? = null
6369
private var camera: Camera? = null
@@ -78,6 +84,20 @@ class MobileScanner(
7884
private var isPaused = false
7985

8086
companion object {
87+
// Configure the `ProcessCameraProvider` to only log errors.
88+
// This prevents the informational log spam from CameraX.
89+
private fun configureCameraProcessProvider() {
90+
try {
91+
val config = CameraXConfig.Builder.fromConfig(Camera2Config.defaultConfig()).apply {
92+
setMinimumLoggingLevel(Log.ERROR)
93+
}
94+
ProcessCameraProvider.configureInstance(config.build())
95+
} catch (_: IllegalStateException) {
96+
// The ProcessCameraProvider was already configured.
97+
// Do nothing.
98+
}
99+
}
100+
81101
/**
82102
* Create a barcode scanner from the given options.
83103
*/

0 commit comments

Comments
 (0)