@@ -4,7 +4,6 @@ package to.bitkit.ui.screens.scanner
44
55import android.Manifest
66import android.view.View.LAYER_TYPE_HARDWARE
7- import android.widget.ImageButton
87import androidx.camera.core.Camera
98import androidx.camera.core.CameraSelector
109import androidx.camera.core.ImageAnalysis
@@ -24,8 +23,6 @@ import androidx.compose.foundation.shape.CircleShape
2423import androidx.compose.foundation.shape.RoundedCornerShape
2524import androidx.compose.material.Icon
2625import androidx.compose.material.IconButton
27- import androidx.compose.material3.ShapeDefaults
28- import androidx.compose.material3.Shapes
2926import androidx.compose.runtime.Composable
3027import androidx.compose.runtime.DisposableEffect
3128import androidx.compose.runtime.LaunchedEffect
@@ -71,6 +68,7 @@ fun QrScanningScreen(
7168 // TODO maybe replace & drop accompanist permissions
7269 val cameraPermissionState = rememberPermissionState(Manifest .permission.CAMERA )
7370 val lensFacing by remember { mutableIntStateOf(CameraSelector .LENS_FACING_BACK ) }
71+ var isFlashlightOn by remember { mutableStateOf(false ) }
7472
7573 val lifecycleOwner = LocalLifecycleOwner .current
7674 DisposableEffect (lifecycleOwner) {
@@ -146,7 +144,10 @@ fun QrScanningScreen(
146144 grantedContent = {
147145 ScreenColumn (modifier = Modifier .gradientBackground()) {
148146 AppTopBar (stringResource(R .string.title_scan), onBackClick = { navController.popBackStack() })
149- Content (previewView = previewView)
147+ Content (previewView = previewView, onClickCamera = {
148+ isFlashlightOn = ! isFlashlightOn
149+ camera?.cameraControl?.enableTorch(isFlashlightOn)
150+ })
150151 }
151152 }
152153 )
@@ -155,6 +156,7 @@ fun QrScanningScreen(
155156@Composable
156157private fun Content (
157158 previewView : PreviewView ,
159+ onClickCamera : () -> Unit ,
158160 modifier : Modifier = Modifier ,
159161) {
160162 Column (
@@ -194,7 +196,7 @@ private fun Content(
194196 }
195197
196198 IconButton (
197- onClick = {}, // TODO IMPLEMENT
199+ onClick = onClickCamera,
198200 modifier = Modifier
199201 .padding(16 .dp)
200202 .clip(CircleShape )
0 commit comments