TP-62123 | Background Permission Check Event (#10250)

This commit is contained in:
Sanjay P
2024-03-28 18:17:58 +05:30
committed by GitHub
parent 98caf7fde3
commit b6eb40a010

View File

@@ -10,6 +10,8 @@ package com.naviapp.manager
import android.Manifest
import android.app.Activity
import android.content.Context
import android.content.pm.PackageManager
import androidx.core.content.ContextCompat
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import com.navi.base.utils.orElse
@@ -60,8 +62,6 @@ class RetryableUserDataUploadWorker(val context: Context, workerParams: WorkerPa
private var attemptToSendData = AtomicBoolean(true)
private var failureResult: Result? = null
private lateinit var userDataUploadWorkerConfig: UserDataUploadWorkerConfig
private val permissionsManager by lazy { PermissionsManager(context as Activity) }
override suspend fun doWork(): Result {
initData()
initEventTracker()
@@ -86,12 +86,16 @@ class RetryableUserDataUploadWorker(val context: Context, workerParams: WorkerPa
eventTracker.onEvent(eventName, data)
eventTracker.onEvent(
eventName = BACKGROUND_PERMISSION_CHECK, mapOf(
HAS_SMS_PERMISSION to permissionsManager.hasPermission(Manifest.permission.READ_SMS)
HAS_SMS_PERMISSION to hasPermission(
context,
Manifest.permission.READ_SMS
).toString(),
HAS_CONTACTS_PERMISSION to hasPermission(context, Manifest.permission.READ_CONTACTS)
.toString(),
HAS_CONTACTS_PERMISSION to permissionsManager.hasPermission(Manifest.permission.READ_CONTACTS)
.toString(),
HAS_COARSE_LOCATION_PERMISSION to permissionsManager.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
.toString()
HAS_COARSE_LOCATION_PERMISSION to hasPermission(
context,
Manifest.permission.ACCESS_COARSE_LOCATION
).toString()
)
)
}
@@ -283,6 +287,9 @@ class RetryableUserDataUploadWorker(val context: Context, workerParams: WorkerPa
sendEventTracker(eventName, mapOf("ingestionList" to list.toString()))
}
private fun hasPermission(context: Context, permission: String) =
ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED
companion object {
const val DEFAULT_WORKER_RETRY_COUNT = 3