NTP-33302 | Shiv natani | txn completion time overflow fix (#14869)

This commit is contained in:
Shiv Natani
2025-02-05 15:24:21 +05:30
committed by GitHub
parent b27b03f910
commit 82a1958351
2 changed files with 10 additions and 5 deletions

View File

@@ -207,8 +207,8 @@ fun TransactionPollingScreen(
PAYMENT_MODE to pollingState.data?.paymentMode.orEmpty(),
SCREEN_NAME to sourceDestination,
TRANSACTION_COMPLETION_TIME to
(System.currentTimeMillis() -
transactionPollingViewModel.pollingStartTime)
transactionPollingViewModel
.getTransactionCompletionTime()
.toString(),
),
)
@@ -234,8 +234,8 @@ fun TransactionPollingScreen(
STATUS to pollingState.status,
PAYMENT_MODE to pollingState.paymentMode.orEmpty(),
TRANSACTION_COMPLETION_TIME to
(System.currentTimeMillis() -
transactionPollingViewModel.pollingStartTime)
transactionPollingViewModel
.getTransactionCompletionTime()
.toString(),
),
)

View File

@@ -62,6 +62,7 @@ import com.navi.payment.utils.PaymentSource
import com.navi.payment.utils.getPMSMetricInfo
import com.navi.uitron.utils.orVal
import dagger.hilt.android.lifecycle.HiltViewModel
import java.lang.Long.max
import javax.inject.Inject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
@@ -121,7 +122,7 @@ constructor(
MutableStateFlow<TransactionPollingApiStateV2>(TransactionPollingApiStateV2.Init)
val paymentTransactionStatus = _paymentTransactionStatus.asStateFlow()
val pollingStartTime = System.currentTimeMillis()
private val pollingStartTime = System.currentTimeMillis()
init {
if (naviUpiTransactionInfo.isNull()) pollTransactionStatus() else executeSendMoney()
@@ -443,4 +444,8 @@ constructor(
status == PENDING &&
nextStatusCheckRequired.orTrue() &&
pollingCount <= pollingConfiguration?.numOfRetries.orVal(10)
fun getTransactionCompletionTime(): Long {
return max(0, System.currentTimeMillis() - pollingStartTime)
}
}