TP-62123 | Background Permission Check Event (#10250)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user