NTP-17003 | LocalContext.current as Activity to LocalActivity.current Migration (#15807)
This commit is contained in:
committed by
GitHub
parent
4a8b2e09eb
commit
5b6336a4dd
@@ -9,7 +9,6 @@ package com.navi.pay.common.model.view
|
||||
|
||||
import android.app.Activity
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.core.app.ActivityCompat
|
||||
import com.google.accompanist.permissions.ExperimentalPermissionsApi
|
||||
import com.google.accompanist.permissions.MultiplePermissionsState
|
||||
@@ -56,10 +55,10 @@ fun handlePermissionResult(
|
||||
@OptIn(ExperimentalPermissionsApi::class)
|
||||
@Composable
|
||||
fun rememberMultiplePermissions(
|
||||
activity: Activity,
|
||||
permissions: List<String>,
|
||||
onResult: (NaviPermissionResult) -> Unit,
|
||||
): MultiplePermissionsState {
|
||||
val activity = LocalContext.current as Activity
|
||||
return rememberMultiplePermissionsState(permissions = permissions) {
|
||||
handlePermissionResult(permissionsResultMap = it, activity = activity, onResult = onResult)
|
||||
}
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
package com.navi.pay.common.settingscreen.ui
|
||||
|
||||
import android.app.Activity
|
||||
import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.LocalActivity
|
||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.compose.foundation.Image
|
||||
@@ -35,7 +35,6 @@ import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalClipboardManager
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
@@ -81,7 +80,7 @@ fun UPISettingSDK(
|
||||
drawerState: () -> DrawerState,
|
||||
settingSDKViewmodel: SettingSDKViewmodel = hiltViewModel(),
|
||||
) {
|
||||
val activity = LocalContext.current as Activity
|
||||
val activity = LocalActivity.current ?: return
|
||||
|
||||
val onboardingResultLauncher =
|
||||
rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) { result
|
||||
|
||||
@@ -253,10 +253,11 @@ fun QrScannerScreen(
|
||||
|
||||
val cameraPermissionsState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = PermissionKeys.QR_SCAN_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
when (it) {
|
||||
NaviPermissionResult.AllGranted -> {
|
||||
|
||||
@@ -214,10 +214,11 @@ fun PayToContactsScreen(
|
||||
|
||||
val readContactsPermissionsState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = PermissionKeys.CONTACT_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
when (it) {
|
||||
NaviPermissionResult.AllGranted -> {
|
||||
|
||||
@@ -204,20 +204,22 @@ fun NaviPayOnboardingScreen(
|
||||
|
||||
val locationPermissionState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayOnboardingActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = LOCATION_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
naviPayOnboardingViewModel.onLocationPermissionRequestResult()
|
||||
}
|
||||
|
||||
val multiplePermissionsState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayOnboardingActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = FIRST_TIME_SCREEN_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
when (it) {
|
||||
NaviPermissionResult.AllGranted -> {
|
||||
@@ -286,10 +288,11 @@ fun NaviPayOnboardingScreen(
|
||||
|
||||
val phoneStatePermissionsState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayOnboardingActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = NON_FIRST_TIME_SCREEN_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
when (it) {
|
||||
NaviPermissionResult.AllGranted -> {
|
||||
|
||||
@@ -341,10 +341,11 @@ fun OrderDetailsScreen(
|
||||
|
||||
val notificationPermissionState =
|
||||
rememberMultiplePermissions(
|
||||
activity = naviPayActivity,
|
||||
permissions =
|
||||
PermissionUtils.getPermissionListFromPermissionKey(
|
||||
permissionKey = PermissionKeys.NOTIFICATION_PERMISSION_KEY
|
||||
)
|
||||
),
|
||||
) {
|
||||
when (it) {
|
||||
NaviPermissionResult.ShowRationale -> {
|
||||
|
||||
@@ -170,7 +170,8 @@ fun ScanCardScreenRoot(
|
||||
|
||||
val cameraPermissionsState =
|
||||
getCameraPermissionState(
|
||||
onPermissionResult = { onEvent(ScanCardEvent.OnCameraPermissionResult(it)) }
|
||||
activity = naviPaymentActivity,
|
||||
onPermissionResult = { onEvent(ScanCardEvent.OnCameraPermissionResult(it)) },
|
||||
)
|
||||
|
||||
BackHandler { onEvent(ScanCardEvent.OnBackPress) }
|
||||
@@ -456,8 +457,14 @@ fun ErrorBottomSheetContent(
|
||||
|
||||
@kotlin.OptIn(ExperimentalPermissionsApi::class)
|
||||
@Composable
|
||||
private fun getCameraPermissionState(onPermissionResult: (NaviPermissionResult) -> Unit) =
|
||||
rememberMultiplePermissions(permissions = listOf(Manifest.permission.CAMERA)) {
|
||||
private fun getCameraPermissionState(
|
||||
onPermissionResult: (NaviPermissionResult) -> Unit,
|
||||
activity: NaviPaymentActivity,
|
||||
) =
|
||||
rememberMultiplePermissions(
|
||||
activity = activity,
|
||||
permissions = listOf(Manifest.permission.CAMERA),
|
||||
) {
|
||||
onPermissionResult(it)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user