diff --git a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Card.kt b/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Card.kt deleted file mode 100644 index 6d569db..0000000 --- a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Card.kt +++ /dev/null @@ -1,2 +0,0 @@ -package `in`.sminnovations.smi_attendance_admin.screens.home.ui.componets - diff --git a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/LargeButton.kt b/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/LargeButton.kt deleted file mode 100644 index 3c5f48b..0000000 --- a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/LargeButton.kt +++ /dev/null @@ -1,40 +0,0 @@ -package `in`.sminnovations.smi_attendance_admin.screens.home.ui.componets - -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.Button -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp - -@Composable -fun LargeButton( - text: String, - onClick: () -> Unit, - modifier: Modifier = Modifier -) { - Button( - onClick = onClick, - modifier = modifier - .height(56.dp) - .width(200.dp), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary, - contentColor = MaterialTheme.colorScheme.onPrimary - ), - shape = RoundedCornerShape(28.dp) - ) { - Text( - text = text, - fontSize = 18.sp, - fontWeight = FontWeight.Bold - ) - } -} - diff --git a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/QRscreen.kt b/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/QRscreen.kt deleted file mode 100644 index 0526477..0000000 --- a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/QRscreen.kt +++ /dev/null @@ -1,29 +0,0 @@ -package `in`.sminnovations.smi_attendance_admin.screens.home.ui.componets - -import androidx.compose.foundation.layout.* -import androidx.compose.material3.Text -import androidx.compose.runtime.* -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp - - -@Composable -fun DefaultScreen( - qrCodeValue: String?, -) { - Column( - modifier = Modifier - .fillMaxSize() - .padding(16.dp), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - qrCodeValue?.let { - Text(text = "Scanned Value: $it", modifier = Modifier.padding(16.dp)) - } - } -} - - - diff --git a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Qrscanner.kt b/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Qrscanner.kt deleted file mode 100644 index de73a5c..0000000 --- a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/Qrscanner.kt +++ /dev/null @@ -1,104 +0,0 @@ -package `in`.sminnovations.smi_attendance_admin.screens.home.ui.componets - -import android.annotation.SuppressLint -import android.util.Log -import androidx.camera.core.* -import androidx.camera.lifecycle.ProcessCameraProvider -import androidx.camera.view.PreviewView -import androidx.compose.foundation.layout.* -import androidx.compose.material3.OutlinedCard -import androidx.compose.runtime.* -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.unit.dp -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.content.ContextCompat -import androidx.lifecycle.LifecycleOwner -import com.google.mlkit.vision.barcode.BarcodeScannerOptions -import com.google.mlkit.vision.barcode.BarcodeScanning -import com.google.mlkit.vision.barcode.common.Barcode -import com.google.mlkit.vision.common.InputImage - -@Composable -fun QRCodeScannerScreen( - onQRCodeScanned: (String) -> Unit, - lifecycleOwner: LifecycleOwner = androidx.lifecycle.compose.LocalLifecycleOwner.current -) { - OutlinedCard( - modifier = Modifier.padding(10.dp) - ) { - val context = LocalContext.current - val previewView = remember { PreviewView(context) } - - LaunchedEffect(Unit) { - val cameraProviderFuture = ProcessCameraProvider.getInstance(context) - val cameraProvider = cameraProviderFuture.get() - - val preview = Preview.Builder().build().apply { - setSurfaceProvider(previewView.surfaceProvider) - } - - val barcodeScanner = BarcodeScanning.getClient( - BarcodeScannerOptions.Builder() - .setBarcodeFormats(Barcode.FORMAT_QR_CODE) - .build() - ) - - val imageAnalyzer = ImageAnalysis.Builder() - .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) - .build() - .also { analyzer -> - analyzer.setAnalyzer(ContextCompat.getMainExecutor(context)) { imageProxy -> - processImageProxy(imageProxy, barcodeScanner) { value -> - onQRCodeScanned(value) - } - } - } - - try { - cameraProvider.unbindAll() - cameraProvider.bindToLifecycle( - lifecycleOwner, - CameraSelector.DEFAULT_BACK_CAMERA, - preview, - imageAnalyzer - ) - } catch (e: Exception) { - Log.e("QRCodeScanner", "Camera binding failed", e) - } - } - - AndroidView( - modifier = Modifier - .fillMaxWidth() - .aspectRatio(1f), - factory = { previewView } - ) - } -} - -@SuppressLint("UnsafeOptInUsageError") -private fun processImageProxy( - imageProxy: ImageProxy, - scanner: com.google.mlkit.vision.barcode.BarcodeScanner, - onQRCodeScanned: (String) -> Unit -) { - val mediaImage = imageProxy.image - if (mediaImage != null) { - val image = InputImage.fromMediaImage(mediaImage, imageProxy.imageInfo.rotationDegrees) - scanner.process(image) - .addOnSuccessListener { barcodes -> - barcodes.firstOrNull()?.rawValue?.let { qrCodeValue -> - onQRCodeScanned(qrCodeValue) - } - } - .addOnFailureListener { - Log.e("QRCodeScanner", "Barcode processing failed", it) - } - .addOnCompleteListener { - imageProxy.close() - } - } else { - imageProxy.close() - } -} diff --git a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/RequestPermission.kt b/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/RequestPermission.kt deleted file mode 100644 index 1b69fb4..0000000 --- a/app/src/main/java/in/sminnovations/smi_attendance_admin/screens/home/ui/componets/RequestPermission.kt +++ /dev/null @@ -1,27 +0,0 @@ -package `in`.sminnovations.smi_attendance_admin.screens.home.ui.componets - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import com.google.accompanist.permissions.ExperimentalPermissionsApi -import com.google.accompanist.permissions.PermissionState -import com.google.accompanist.permissions.isGranted - -@OptIn(ExperimentalPermissionsApi::class) -@Composable -fun RequestPermissions( - cameraPermissionState: PermissionState, - locationPermissionState: PermissionState -) { - LaunchedEffect(cameraPermissionState.status.isGranted, locationPermissionState.status.isGranted) { - when { - !cameraPermissionState.status.isGranted -> { - cameraPermissionState.launchPermissionRequest() - } - !locationPermissionState.status.isGranted -> { - locationPermissionState.launchPermissionRequest() - } - } - } - -} -