diff --git a/feature/main/src/main/java/com/goms/main/MainScreen.kt b/feature/main/src/main/java/com/goms/main/MainScreen.kt index 4198ff3a..7f56c293 100644 --- a/feature/main/src/main/java/com/goms/main/MainScreen.kt +++ b/feature/main/src/main/java/com/goms/main/MainScreen.kt @@ -1,6 +1,8 @@ package com.goms.main -import android.util.Log +import android.Manifest +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -14,6 +16,9 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp @@ -80,6 +85,24 @@ fun MainScreen( onQrcodeClick: () -> Unit, mainCallBack: () -> Unit ) { + var isPermissionRequest by rememberSaveable { mutableStateOf(false) } + + val permissionLauncher = rememberLauncherForActivityResult( + contract = ActivityResultContracts.RequestMultiplePermissions() + ) { isGrantedMap: Map -> } + + if (!isPermissionRequest) { + LaunchedEffect(true) { + permissionLauncher.launch( + arrayOf( + Manifest.permission.CAMERA, + Manifest.permission.POST_NOTIFICATIONS + ) + ) + isPermissionRequest = true + } + } + LaunchedEffect(true) { mainCallBack() }