TP-46092 | HL permission changes (#8405)

This commit is contained in:
nikhil kumar
2023-10-19 21:52:06 +05:30
committed by GitHub
parent 919ae96ca4
commit 82e4f05209
2 changed files with 18 additions and 12 deletions

View File

@@ -23,6 +23,9 @@ class PermissionsManager (private val activity: Activity) {
PackageManager.PERMISSION_GRANTED
}
fun hasPermission(permission: String): Boolean =
ContextCompat.checkSelfPermission(activity, permission) == PackageManager.PERMISSION_GRANTED
fun hasPermissionsAny(permissions: Array<String> = requiredPermissions): Boolean =
permissions.any { permission ->
ContextCompat.checkSelfPermission(activity, permission) ==

View File

@@ -146,12 +146,6 @@ class HomeLoanFormScreenFragment :
private var selectedCity = EMPTY
private var additionalDataForPatch: Map<String, String>? = null
private var citySelectionMap = HashMap<String, String>()
private val checkPermissionArray =
arrayOf(
Manifest.permission.READ_SMS,
Manifest.permission.READ_CONTACTS,
Manifest.permission.ACCESS_COARSE_LOCATION
)
override fun onCreateView(
inflater: LayoutInflater,
@@ -413,9 +407,12 @@ class HomeLoanFormScreenFragment :
}
private fun initiateUserDataUploadProcess(cta: CtaData?) {
val readSmsPermissionAllowed = permissionsManager.hasPermission(Manifest.permission.READ_SMS)
val readContactsPermissionAllowed = permissionsManager.hasPermission(Manifest.permission.READ_CONTACTS)
val coarseLocationPermissionAllowed = permissionsManager.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
ctaAfterUserDataUpload = cta
if (permissionsManager.hasPermissions(checkPermissionArray)) {
sendUserData()
if (readSmsPermissionAllowed || readContactsPermissionAllowed || coarseLocationPermissionAllowed) {
sendUserData(readSmsPermissionAllowed, readContactsPermissionAllowed, coarseLocationPermissionAllowed)
context?.let { context ->
sendDeviceData(getScreenRefreshRate(context, this.activity?.windowManager))
}
@@ -430,14 +427,20 @@ class HomeLoanFormScreenFragment :
userDataViewModel.sendDeviceDetails(deviceDetails)
}
private fun sendUserData() {
private fun sendUserData(
readSmsPermissionAllowed: Boolean,
readContactsPermissionAllowed: Boolean,
coarseLocationPermissionAllowed: Boolean
) {
userDataViewModel.sendUserDataToAws(
uploadSms = true,
uploadContacts = true,
uploadSms = readSmsPermissionAllowed,
uploadContacts = readContactsPermissionAllowed,
uploadAppUsedInfo = true,
Constants.BUSINESS_VERTICAL_HL
)
sendLocation(locationPermissionData = PermissionRequestData())
if (coarseLocationPermissionAllowed) {
sendLocation(locationPermissionData = PermissionRequestData())
}
}
private fun sendLocation(locationPermissionData: PermissionRequestData) {