Skip to content

Commit e0ab1c8

Browse files
committed
com.ismartcoding.plain.ui.page.scan.ScanPageKt.ScanPage$lambda$27$lambda$26$lambda$21
ANR triggered by main thread waiting for too long
1 parent 89ded32 commit e0ab1c8

File tree

1 file changed

+17
-8
lines changed
  • app/src/main/java/com/ismartcoding/plain/ui/page/scan

1 file changed

+17
-8
lines changed

app/src/main/java/com/ismartcoding/plain/ui/page/scan/ScanPage.kt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,23 @@ fun ScanPage(navController: NavHostController) {
245245
},
246246
)
247247
try {
248-
val cameraProviderFeature = ProcessCameraProvider.getInstance(context)
249-
cameraProvider = cameraProviderFeature.get()
250-
cameraProvider?.bindToLifecycle(
251-
lifecycleOwner,
252-
selector,
253-
preview,
254-
imageAnalysis,
255-
)
248+
val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
249+
cameraProviderFuture.addListener({
250+
try {
251+
val provider = cameraProviderFuture.get()
252+
cameraProvider = provider
253+
provider.unbindAll()
254+
provider.bindToLifecycle(
255+
lifecycleOwner,
256+
selector,
257+
preview,
258+
imageAnalysis,
259+
)
260+
} catch (e: Exception) {
261+
LogCat.e(e)
262+
e.printStackTrace()
263+
}
264+
}, ContextCompat.getMainExecutor(context))
256265
} catch (e: Exception) {
257266
LogCat.e(e)
258267
e.printStackTrace()

0 commit comments

Comments
 (0)