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:
A Shrihari Raju
2025-03-28 12:51:36 +05:30
committed by GitHub
parent 0130948076
commit b0406e12ab
6 changed files with 43 additions and 1 deletions

View File

@@ -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,
)

View File

@@ -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"
}
}

View File

@@ -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()

View File

@@ -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,

View File

@@ -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 ->

View File

@@ -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)
}