NTP-48917 || Shrihari | included investment tab downtime into uptime dip || Added Retry Policy || Added Module Name based on ApplicationType in Ap (#15467)
Co-authored-by: amansingh <aman.s@navi.com>
This commit is contained in:
@@ -20,4 +20,5 @@ data class InvestmentTabResponse(
|
||||
@SerializedName("floatingButtonData") var floatingButtonData: FloatingButtonData? = null,
|
||||
@SerializedName("bottomStickyNudgeData")
|
||||
var bottomStickyNudgeData: InvestmentTabNudgeData? = null,
|
||||
@SerializedName("isInvestmentTabDowntime") var isInvestmentTabDowntime: Boolean? = null,
|
||||
)
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.navi.base.model.ActionData
|
||||
import com.navi.base.model.CtaData
|
||||
import com.navi.base.utils.isNotNull
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.common.checkmate.core.CheckMateManager
|
||||
import com.navi.common.checkmate.model.MetricInfo
|
||||
import com.navi.common.model.GenericBottomSheetData
|
||||
import com.navi.common.model.ModuleNameV2
|
||||
@@ -271,6 +272,19 @@ constructor(
|
||||
NaviSharedDbKeys.INVESTMENT_TAB.keyName,
|
||||
)
|
||||
}
|
||||
|
||||
if (data.isInvestmentTabDowntime == true) {
|
||||
CheckMateManager.logAppErrorEvent(
|
||||
metricInfo =
|
||||
MetricInfo.AMCMetric<InvestmentTabResponse>(
|
||||
screen = screenName,
|
||||
isNae = { true },
|
||||
),
|
||||
errorTitle = INVESTMENT_TAB_DOWNTIME_TITLE,
|
||||
errorDes = INVESTMENT_TAB_DOWNTIME_DESC,
|
||||
errorCode = INVESTMENT_TAB_DOWNTIME_TITLE,
|
||||
)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
val errorUnifiedResponse =
|
||||
@@ -433,4 +447,9 @@ constructor(
|
||||
|
||||
data class Error(val error: GenericErrorResponse? = null) : InvestmentsTabScreenState
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val INVESTMENT_TAB_DOWNTIME_TITLE = "Investment Tab Downtime"
|
||||
const val INVESTMENT_TAB_DOWNTIME_DESC = "Unable to load investor profile or user portfolio"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.navi.ap.common.viewmodel.ApSharedVM
|
||||
import com.navi.ap.common.viewmodel.ApplicationPlatformVM
|
||||
import com.navi.ap.navigator.Navigator
|
||||
import com.navi.ap.utils.constants.COINS
|
||||
import com.navi.ap.utils.getModuleNameForApplicationType
|
||||
import com.navi.common.model.ModuleNameV2
|
||||
import com.navi.common.utils.Constants.APP_PLATFORM_APPLICATION_TYPE
|
||||
import com.navi.design.theme.NaviMaterialTheme
|
||||
@@ -98,7 +99,7 @@ open class ApplicationPlatformActivity : SdkHandlingActivity() {
|
||||
get() = ApplicationPlatformActivity::javaClass.name
|
||||
|
||||
override val moduleName: ModuleNameV2
|
||||
get() = ModuleNameV2.AP
|
||||
get() = getModuleNameForApplicationType(applicationType.value)
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
|
||||
@@ -47,6 +47,7 @@ interface APRetrofitService : CoinsLambdaService, GenericLambdaService, Investme
|
||||
@Header("X-Platform") applicationHash: String = OS_ANDROID,
|
||||
): Response<GenericResponse<ApScreenDefinitionStructure>>
|
||||
|
||||
@RetryPolicy
|
||||
@PATCH("/arc-warden/api/v3/application/{applicationId}/fill")
|
||||
suspend fun fillApplication(
|
||||
@Path("applicationId") applicationId: String,
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.navi.ap.utils.extractor.filterEntries
|
||||
import com.navi.base.AppServiceManager
|
||||
import com.navi.base.utils.isNotNull
|
||||
import com.navi.common.checkmate.model.MetricInfo
|
||||
import com.navi.common.model.ModuleNameV2
|
||||
import com.navi.common.network.models.RepoResult
|
||||
import com.navi.common.uitron.model.action.FillApiData
|
||||
import com.navi.common.uitron.model.action.SourceType
|
||||
@@ -363,6 +364,22 @@ fun <T> getMetricInfoForApplicationType(
|
||||
}
|
||||
}
|
||||
|
||||
fun getModuleNameForApplicationType(applicationType: String): ModuleNameV2 {
|
||||
return when (applicationType) {
|
||||
ApplicationType.HPC.name -> {
|
||||
ModuleNameV2.App
|
||||
}
|
||||
|
||||
ApplicationType.AMC_ONBOARDING.name -> {
|
||||
ModuleNameV2.AMC
|
||||
}
|
||||
|
||||
else -> {
|
||||
ModuleNameV2.AP
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Modifier.getGenericModifier(widgetProperties: BaseProperty? = null): Modifier {
|
||||
var modifier = this
|
||||
widgetProperties?.let { properties ->
|
||||
|
||||
@@ -716,6 +716,9 @@ class FundListingFragmentV2 : AmcBaseFragment(), WidgetCallback {
|
||||
}
|
||||
|
||||
private fun setFilterItemList(list: List<Identifier>) {
|
||||
if (viewModel.isEligibleForThemeChange == true) {
|
||||
viewModel.isQuickFilterEnabled = false
|
||||
}
|
||||
viewModel.setSelectedFilterItems(list, screenName)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user