TP-85368 | Add isRooted, isEmulator and otpAutofill params in LoginRequest (#12709)

This commit is contained in:
Soumya Ranjan Patra
2024-09-24 00:31:47 +05:30
committed by GitHub
parent 461d019496
commit 75a5c1ae8d
4 changed files with 14 additions and 4 deletions

View File

@@ -41,4 +41,7 @@ data class LoginDeviceDetails(
@SerializedName("os") val os: String? = null,
@SerializedName("osVersion") val osVersion: Int? = null,
@SerializedName("ipAddress") val ipAddress: String? = null,
@SerializedName("isRooted") val isRooted: Boolean? = null,
@SerializedName("isEmulator") val isEmulator: Boolean? = null,
@SerializedName("otpAutofill") val otpAutofill: Boolean? = null,
)

View File

@@ -145,7 +145,7 @@ class OtpFragment : BaseFragment(), View.OnClickListener {
UserLoginRequest(
loginType = LoginType.OTP.name,
authDetails = AuthDetails(idToken = otpVerifyResponse.idToken),
deviceDetail = getLoginDeviceUtils(requireContext()),
deviceDetail = getLoginDeviceUtils(requireContext(), otpAutofill),
),
density = getDensityName(context = requireContext()).orEmpty(),
connectivityType = getNetworkType(context = requireContext()),

View File

@@ -321,7 +321,7 @@ class RegistrationActivity :
UserLoginRequest(
loginType = LoginType.TRUE_CALLER.name,
authDetails = AuthDetails(truecallerAuthData = trueCallerAuthData),
deviceDetail = getLoginDeviceUtils(this),
deviceDetail = getLoginDeviceUtils(this, false),
),
density = getDensityName(context = this).orEmpty(),
connectivityType = getNetworkType(context = this),

View File

@@ -10,6 +10,7 @@ package com.naviapp.utils
import android.content.Context
import com.navi.base.utils.NaviNetworkConnectivityImpl
import com.navi.common.utils.CommonFraudUtil
import com.navi.common.utils.CommonRootDeviceUtil
import com.navi.common.utils.Constants
import com.navi.common.utils.deviceId
import com.navi.common.utils.fetchInstallerName
@@ -17,9 +18,10 @@ import com.navi.common.utils.getLocalStorageLocation
import com.navi.common.utils.getOsVersion
import com.navi.common.utils.isInstalledInProfile
import com.navi.common.utils.isLastLocationMocked
import com.navi.guarddog.datamanagement.securityManager.SecurityManager
import com.naviapp.models.request.LoginDeviceDetails
fun getLoginDeviceUtils(context: Context): LoginDeviceDetails {
fun getLoginDeviceUtils(context: Context, otpAutofill: Boolean): LoginDeviceDetails {
return LoginDeviceDetails(
allowMockLocations = isLastLocationMocked(),
clonedDetails = CommonFraudUtil.getCloneDetails(context),
@@ -29,6 +31,11 @@ fun getLoginDeviceUtils(context: Context): LoginDeviceDetails {
localStorageLocation = getLocalStorageLocation(context),
os = Constants.OS_ANDROID,
osVersion = getOsVersion(),
ipAddress = NaviNetworkConnectivityImpl(context).getIpAddress()
ipAddress = NaviNetworkConnectivityImpl(context).getIpAddress(),
isRooted =
CommonRootDeviceUtil.instance.rootedDeviceUsingFirebase() ||
CommonRootDeviceUtil.instance.isDeviceRooted(),
isEmulator = SecurityManager(context).isEmulator(),
otpAutofill = otpAutofill,
)
}