NTP-67834 crash handling due to mm config api exception (#16334)

This commit is contained in:
Hitesh Kumar
2025-05-27 13:28:44 +05:30
committed by GitHub
parent ecf0e48daf
commit dc6eb45af5

View File

@@ -8,9 +8,12 @@
package com.navi.moneymanager.common.dataprovider.data.remote
import com.navi.common.checkmate.model.MetricInfo
import com.navi.common.network.ApiConstants.API_WRONG_ERROR_RESPONSE
import com.navi.common.network.models.ErrorMessage
import com.navi.common.network.models.RepoResult
import com.navi.common.network.models.isSuccessWithData
import com.navi.common.network.retrofit.ResponseCallback
import com.navi.common.utils.log
import com.navi.moneymanager.billcalendar.domain.model.data.AddBillRequestBody
import com.navi.moneymanager.billcalendar.domain.model.response.BillCalendarConfigResponse
import com.navi.moneymanager.billcalendar.domain.model.response.BillCalendarResponse
@@ -78,10 +81,21 @@ class RemoteDataProviderImpl @Inject constructor(private val retrofitService: Re
}
override suspend fun fetchMMConfigResponse(screenName: String): RepoResult<MMConfigResponse> {
return apiResponseCallback(
response = retrofitService.fetchMMConfigResponse(),
metricInfo = MetricInfo.AppMetric(screen = screenName, isNae = { false }),
)
val response: RepoResult<MMConfigResponse> =
try {
apiResponseCallback(
response = retrofitService.fetchMMConfigResponse(),
metricInfo = MetricInfo.AppMetric(screen = screenName, isNae = { false }),
)
} catch (e: Exception) {
e.log()
RepoResult(
data = null,
error = ErrorMessage(message = e.message, statusCode = API_WRONG_ERROR_RESPONSE),
)
}
return response
}
override suspend fun fetchUserAccounts(screenName: String) =