NTP-67834 crash handling due to mm config api exception (#16334)
This commit is contained in:
@@ -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) =
|
||||
|
||||
Reference in New Issue
Block a user