TP-62123 | Added Background Event to Check Permissions (#10196)
This commit is contained in:
@@ -7,10 +7,13 @@
|
||||
|
||||
package com.naviapp.manager
|
||||
|
||||
import android.Manifest
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import androidx.work.CoroutineWorker
|
||||
import androidx.work.WorkerParameters
|
||||
import com.navi.base.utils.orElse
|
||||
import com.navi.common.managers.PermissionsManager
|
||||
import com.navi.common.model.UploadDataAsyncResponse
|
||||
import com.navi.common.network.models.isSuccess
|
||||
import com.navi.common.useruploaddata.model.IngestionStatus
|
||||
@@ -26,17 +29,21 @@ import com.naviapp.manager.usecase.UserDataUploadWorkerUseCase
|
||||
import com.naviapp.models.request.PreSignedUrlRequest
|
||||
import com.naviapp.models.response.PreSignedUrlListResponse
|
||||
import com.naviapp.utils.Constants
|
||||
import com.naviapp.utils.Constants.BACKGROUND_PERMISSION_CHECK
|
||||
import com.naviapp.utils.Constants.DEFAULT
|
||||
import com.naviapp.utils.Constants.FAILED
|
||||
import com.naviapp.utils.Constants.HAS_COARSE_LOCATION_PERMISSION
|
||||
import com.naviapp.utils.Constants.HAS_CONTACTS_PERMISSION
|
||||
import com.naviapp.utils.Constants.HAS_SMS_PERMISSION
|
||||
import com.naviapp.utils.Constants.SOURCE
|
||||
import com.naviapp.utils.Constants.SUCCESS_CAPITAL
|
||||
import com.naviapp.utils.Constants.WORKER_TYPE
|
||||
import com.naviapp.utils.SmsUtil.extractTasks
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.awaitAll
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
/**
|
||||
* The worker is responsible for uploading user data to server. Flows using the worker -
|
||||
@@ -53,6 +60,7 @@ 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()
|
||||
@@ -76,6 +84,16 @@ class RetryableUserDataUploadWorker(val context: Context, workerParams: WorkerPa
|
||||
|
||||
private fun sendEventTracker(eventName: String, data: Map<String, String>? = null) {
|
||||
eventTracker.onEvent(eventName, data)
|
||||
eventTracker.onEvent(
|
||||
eventName = BACKGROUND_PERMISSION_CHECK, mapOf(
|
||||
HAS_SMS_PERMISSION to permissionsManager.hasPermission(Manifest.permission.READ_SMS)
|
||||
.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()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private fun initEventTracker() {
|
||||
|
||||
@@ -455,6 +455,10 @@ object Constants {
|
||||
const val LAST_SESSION_ID = "last_session_id"
|
||||
const val FETCH_HOME_ITEMS = "fetchHomeItems"
|
||||
const val MIDDLE_ROW_VISIBLE_FALSE = "middleRowVisibleFalse"
|
||||
const val HAS_SMS_PERMISSION = "hasSmsPermission"
|
||||
const val HAS_CONTACTS_PERMISSION = "hasContactsPermission"
|
||||
const val HAS_COARSE_LOCATION_PERMISSION = "hasCoarseLocationPermission"
|
||||
const val BACKGROUND_PERMISSION_CHECK = "background_permission_check"
|
||||
|
||||
object Notification {
|
||||
const val HIDE_NOTIFICATION_COUNT = "hideNotificationCount"
|
||||
|
||||
Reference in New Issue
Block a user