NTP-2728 | Sohan Reddy | Added error to event (#12280)

Co-authored-by: Kishan Kumar <kishan.kumar@navi.com>
This commit is contained in:
Sohan Reddy Atukula
2024-08-30 19:42:05 +05:30
committed by GitHub
parent df17c73695
commit b49e16bb00
10 changed files with 89 additions and 22 deletions

View File

@@ -71,6 +71,7 @@ fun Init(
modalBottomSheetState = bottomSheetState,
scrimColor = Color.Black.copy(alpha = 0.7f),
viewModel = viewModel,
error = error,
onDismiss = {
coroutineScope.launch {
bottomSheetState.hide()

View File

@@ -173,7 +173,14 @@ constructor(
coinBalanceResponse.let { response ->
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode =
response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName =
coinHistoryScreenRepo::
fetchCoinHistoryScreenCoinBalanceUiTronConfigs
.name,
error = response.error,
errors = response.errors
)
)
}
@@ -184,7 +191,14 @@ constructor(
cashRewardsResponse.let { response ->
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode =
response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName =
coinHistoryScreenRepo::
fetchCoinHistoryScreenCashRewardsUiTronConfigs
.name,
error = response.error,
errors = response.errors
)
)
}

View File

@@ -161,7 +161,10 @@ constructor(
else -> {
showError(
RRErrorData(
statusCode = result.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = result.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::fetchCoinHomeScreenUiTronConfigs.name,
error = result.error,
errors = result.errors
)
)
}
@@ -271,7 +274,12 @@ constructor(
handleActions(apiAction.onFailure)
_apiActionState.emit(ApiActionState.FAILURE)
showError(
RRErrorData(statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST)
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::validateUPIId.name,
error = response.error,
errors = response.errors
)
)
}
}
@@ -339,7 +347,12 @@ constructor(
if (redemptionInfo.isValidResponse().not()) {
onFailure()
showError(
RRErrorData(statusCode = redemptionInfo.statusCode ?: ApiConstants.API_BAD_REQUEST)
RRErrorData(
statusCode = redemptionInfo.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = coinHomeScreenRepo::getRedemptionInfo.name,
error = redemptionInfo.error,
errors = redemptionInfo.errors
)
)
return
}
@@ -362,7 +375,10 @@ constructor(
onFailure()
showError(
RRErrorData(
statusCode = redeemCoinsResponse.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = redeemCoinsResponse.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = coinHomeScreenRepo::redeemCoins.name,
error = redeemCoinsResponse.error,
errors = redeemCoinsResponse.errors
)
)
return

View File

@@ -121,7 +121,10 @@ constructor(
showError(
RRErrorData(
statusCode =
scratchCardResponse.statusCode ?: ApiConstants.API_BAD_REQUEST
scratchCardResponse.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::fetchScratchCardTopUiTronConfigs.name,
error = scratchCardResponse.error,
errors = scratchCardResponse.errors
)
)
} else {

View File

@@ -14,5 +14,6 @@ import com.navi.common.network.models.GenericErrorResponse
data class RRErrorData(
val errors: List<GenericErrorResponse>? = null,
val error: ErrorMessage? = null,
val statusCode: Int = ApiConstants.API_BAD_REQUEST
val statusCode: Int = ApiConstants.API_BAD_REQUEST,
val methodName: String? = null,
)

View File

@@ -44,6 +44,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.navi.base.utils.orFalse
import com.navi.common.constants.SCREEN_NAME
import com.navi.common.network.ApiConstants
import com.navi.common.utils.ERROR
import com.navi.common.utils.isNetworkAvailable
import com.navi.design.font.FontWeightEnum
import com.navi.design.theme.getFontWeight
@@ -95,7 +96,11 @@ fun RRErrorScreen(
.Rewards()
.sendEvent(
eventName = EventConstants.DEV_RR_SCREEN_ERROR_EVENT,
extraAttributes = hashMapOf(SCREEN_NAME to bundle?.getString(SCREEN_NAME).orEmpty())
extraAttributes =
hashMapOf(
SCREEN_NAME to bundle?.getString(SCREEN_NAME).orEmpty(),
ERROR to error.value.toString(),
)
)
viewModel.getErrorMessageAsPerStatusCode(error.value.statusCode) { _title, _subtitle ->
title = _title

View File

@@ -109,7 +109,10 @@ constructor(
} else {
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::refreshLeaderboardUiTronConfigs.name,
error = response.error,
errors = response.errors
)
)
}
@@ -130,7 +133,10 @@ constructor(
leaderboardListResponse.let { response ->
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::refreshLeaderboardList.name,
error = response.error,
errors = response.errors
)
)
}
@@ -155,7 +161,10 @@ constructor(
} else {
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::fetchLeaderboardUiTronConfigs.name,
error = response.error,
errors = response.errors
)
)
}
@@ -177,7 +186,10 @@ constructor(
} else {
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::fetchLeaderboardList.name,
error = response.error,
errors = response.errors
)
)
}

View File

@@ -107,7 +107,10 @@ constructor(
else -> {
showError(
RRErrorData(
statusCode = result.statusCode ?: ApiConstants.API_CODE_ERROR
statusCode = result.statusCode ?: ApiConstants.API_CODE_ERROR,
methodName = ::fetchRefereeTrackerForgeUIV2.name,
error = result.error,
errors = result.errors
)
)
}

View File

@@ -74,7 +74,10 @@ constructor(
} else {
showError(
RRErrorData(
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST
statusCode = response.statusCode ?: ApiConstants.API_BAD_REQUEST,
methodName = ::fetchReferralForgeScreen.name,
error = response.error,
errors = response.errors
)
)
}

View File

@@ -42,11 +42,13 @@ import com.navi.alfred.AlfredManager
import com.navi.base.utils.isNotNull
import com.navi.common.constants.SCREEN_NAME
import com.navi.common.forge.model.ScreenDefinition
import com.navi.common.utils.ERROR
import com.navi.design.font.FontWeightEnum
import com.navi.design.theme.getFontWeight
import com.navi.design.theme.ttComposeFontFamily
import com.navi.naviwidgets.R as NaviWidgetsR
import com.navi.rr.common.error.ErrorHandler
import com.navi.rr.common.models.RRErrorData
import com.navi.rr.common.theme.color.NaviRRColor
import com.navi.rr.common.vm.RRBaseVM
import com.navi.rr.destinations.RRErrorScreenDestination
@@ -97,6 +99,7 @@ fun Init(
modalBottomSheetState = bottomSheetState,
scrimColor = Color.Black.copy(alpha = 0.7f),
viewModel = viewModel,
error = error,
onDismiss = {
coroutineScope.launch {
bottomSheetState.hide()
@@ -115,6 +118,7 @@ fun InitErrorBottomSheet(
modalBottomSheetState: SheetState,
scrimColor: Color,
viewModel: RRBaseVM,
error: RRErrorData,
onDismiss: () -> Unit
) {
ModalBottomSheet(
@@ -126,13 +130,18 @@ fun InitErrorBottomSheet(
containerColor = Color.White,
scrimColor = scrimColor
) {
NaviRRAnalytics.naviRRAnalytics
.Rewards()
.sendEvent(
eventName = DEV_RR_SCREEN_ERROR_EVENT,
extraAttributes =
hashMapOf(SCREEN_NAME to viewModel.handle.get<String>(SCREEN_NAME).orEmpty())
)
LaunchedEffect(key1 = Unit) {
NaviRRAnalytics.naviRRAnalytics
.Rewards()
.sendEvent(
eventName = DEV_RR_SCREEN_ERROR_EVENT,
extraAttributes =
hashMapOf(
SCREEN_NAME to viewModel.handle.get<String>(SCREEN_NAME).orEmpty(),
ERROR to error.toString(),
)
)
}
AlfredManager.setBottomSheetView(LocalView.current.rootView)
Column(
modifier =