TP-70970 | Add support for showing ads in Uitron based screens (#11796)

This commit is contained in:
Soumya Ranjan Patra
2024-07-17 17:47:11 +05:30
committed by GitHub
parent 948b9cf7ad
commit 1cd70cb9a0
32 changed files with 297 additions and 71 deletions

View File

@@ -1,6 +1,6 @@
/*
*
* * Copyright © 2023 by Navi Technologies Limited
* * Copyright © 2023-2024 by Navi Technologies Limited
* * All rights reserved. Strictly confidential
*
*/
@@ -21,11 +21,11 @@ import com.navi.ap.common.models.customwidget.DynamicRowWidgetData
import com.navi.ap.common.models.customwidget.MappedRadioListWidgetData
import com.navi.ap.common.models.customwidget.RadioGroupGridWidgetData
import com.navi.ap.common.models.customwidget.StepTrackerWidgetData
import com.navi.uitron.deserializer.UiTronDataDeserializer
import com.navi.common.uitron.deserializer.CommonUiTronDataDeserializer
import com.navi.uitron.model.data.UiTronData
import java.lang.reflect.Type
class CustomUiTronDataDeserializer : UiTronDataDeserializer() {
class CustomUiTronDataDeserializer : CommonUiTronDataDeserializer() {
override fun deserialize(
json: JsonElement?,
typeOfT: Type?,

View File

@@ -21,11 +21,11 @@ import com.navi.ap.common.models.customwidget.DynamicRowWidgetData
import com.navi.ap.common.models.customwidget.MappedRadioListWidgetData
import com.navi.ap.common.models.customwidget.RadioGroupGridWidgetData
import com.navi.ap.common.models.customwidget.StepTrackerWidgetData
import com.navi.common.uitron.serializer.CommonUiTronDataSerializer
import com.navi.uitron.model.data.UiTronData
import com.navi.uitron.serializer.UiTronDataSerializer
import java.lang.reflect.Type
class CustomUiTronDataSerializer : UiTronDataSerializer() {
class CustomUiTronDataSerializer : CommonUiTronDataSerializer() {
override fun serialize(
src: UiTronData?,

View File

@@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable
import com.navi.ap.common.models.WidgetModelDefinition
import com.navi.ap.common.models.WidgetTypes
import com.navi.ap.common.viewmodel.ApplicationPlatformVM
import com.navi.common.uitron.render.CommonCustomUiTronRenderer
import com.navi.uitron.model.UiTronResponse
import com.navi.uitron.render.UiTronRenderer
@@ -22,7 +23,7 @@ fun WidgetRenderer(
if (widget == null) return
return when (widget.widgetType) {
WidgetTypes.UI_TRON_WIDGET.type -> {
UiTronRenderer(widget.widgetData?.data, viewModel)
UiTronRenderer(widget.widgetData?.data, viewModel, CommonCustomUiTronRenderer())
.Render(composeViews = widget.widgetData?.parentComposeView.orEmpty())
}
WidgetTypes.CUSTOM_WIDGET.type -> {

View File

@@ -24,6 +24,7 @@ import com.navi.common.network.converter.EmptyBodyHandlingConverterFactory
import com.navi.common.uitron.model.LambdaEventData
import com.navi.common.uitron.model.action.ThirdPartySdkAction
import com.navi.common.uitron.model.action.UploadDataConfig
import com.navi.common.uitron.serializer.CommonUiTronPropertySerializer
import com.navi.common.uitron.serializer.UiTronSDKActionSerializer
import com.navi.common.uitron.serializer.UiTronTriggerApiActionSerializer
import com.navi.common.uitron.serializer.UiTronUploadDataSerializer
@@ -38,7 +39,6 @@ import com.navi.uitron.model.data.UiTronAction
import com.navi.uitron.model.data.UiTronData
import com.navi.uitron.model.ui.BaseProperty
import com.navi.uitron.model.visualtransformation.VisualTransformationData
import com.navi.uitron.serializer.ComposePropertySerializer
import com.navi.uitron.serializer.UiTronValidationSerializer
import com.navi.uitron.serializer.VisualTransformationDataSerializer
import dagger.Module
@@ -68,7 +68,7 @@ object APNetworkModule {
@APGsonSerializer
fun providesSerializer(): Gson =
GsonBuilder()
.registerTypeAdapter(BaseProperty::class.java, ComposePropertySerializer())
.registerTypeAdapter(BaseProperty::class.java, CommonUiTronPropertySerializer())
.registerTypeAdapter(UiTronData::class.java, CustomUiTronDataSerializer())
.registerTypeAdapter(UiTronAction::class.java, ApUiTronActionSerializer())
.registerTypeAdapter(UploadDataConfig::class.java, UiTronUploadDataSerializer())