TP-58121 | Added custom serializer for ApUiTronActionType (#9894)
This commit is contained in:
@@ -2,11 +2,9 @@ package com.navi.ap.common.deserializer
|
||||
|
||||
import com.google.gson.JsonDeserializationContext
|
||||
import com.google.gson.JsonElement
|
||||
import com.navi.common.uitron.model.action.DownloadAction
|
||||
import com.navi.ap.common.models.actions.UpdateDataViaHandleAction
|
||||
import com.navi.ap.screens.vkyc.models.action.InitiateVKYCAgentPollingAction
|
||||
import com.navi.common.uitron.deserializer.UiTronActionDeserializer
|
||||
import com.navi.common.uitron.model.action.SystemUiAction
|
||||
import com.navi.common.uitron.util.ApActionType
|
||||
import com.navi.uitron.model.data.UiTronAction
|
||||
import java.lang.reflect.Type
|
||||
@@ -25,12 +23,6 @@ class ApUiTronActionDeserializer : UiTronActionDeserializer() {
|
||||
ApActionType.UpdateDataViaHandleAction.name ->
|
||||
context?.deserialize(jsonObject, UpdateDataViaHandleAction::class.java)
|
||||
|
||||
ApActionType.DownloadAction.name ->
|
||||
context?.deserialize(jsonObject, DownloadAction::class.java)
|
||||
|
||||
ApActionType.SystemUiAction.name ->
|
||||
context?.deserialize(jsonObject, SystemUiAction::class.java)
|
||||
|
||||
ApActionType.InitiateVKYCAgentPollingAction.name ->
|
||||
context?.deserialize(jsonObject, InitiateVKYCAgentPollingAction::class.java)
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.navi.ap.common.serializer
|
||||
|
||||
import com.google.gson.JsonElement
|
||||
import com.google.gson.JsonSerializationContext
|
||||
import com.navi.ap.common.models.actions.UpdateDataViaHandleAction
|
||||
import com.navi.ap.screens.vkyc.models.action.InitiateVKYCAgentPollingAction
|
||||
import com.navi.common.uitron.serializer.UiTronActionSerializer
|
||||
import com.navi.common.uitron.util.ApActionType
|
||||
import com.navi.uitron.model.data.UiTronAction
|
||||
import java.lang.reflect.Type
|
||||
|
||||
class ApUiTronActionSerializer : UiTronActionSerializer() {
|
||||
override fun serialize(
|
||||
src: UiTronAction?,
|
||||
typeOfSrc: Type?,
|
||||
context: JsonSerializationContext?
|
||||
): JsonElement? {
|
||||
return when (src?.type) {
|
||||
ApActionType.UpdateDataViaHandleAction.name ->
|
||||
context?.serialize(src as UpdateDataViaHandleAction, UpdateDataViaHandleAction::class.java)
|
||||
|
||||
ApActionType.InitiateVKYCAgentPollingAction.name ->
|
||||
context?.serialize(src as InitiateVKYCAgentPollingAction, InitiateVKYCAgentPollingAction::class.java)
|
||||
|
||||
else -> super.serialize(src, typeOfSrc, context)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ package com.navi.ap.network.di
|
||||
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.navi.ap.common.serializer.ApUiTronActionSerializer
|
||||
import com.navi.ap.common.serializer.CustomUiTronDataSerializer
|
||||
import com.navi.ap.di.APGsonDeserializer
|
||||
import com.navi.ap.di.APGsonSerializer
|
||||
@@ -20,7 +21,6 @@ import com.navi.common.CommonLibManager
|
||||
import com.navi.common.uitron.model.action.ThirdPartySdkAction
|
||||
import com.navi.common.uitron.model.action.UploadDataConfig
|
||||
import com.navi.common.uitron.serializer.AnySerializer
|
||||
import com.navi.common.uitron.serializer.UiTronActionSerializer
|
||||
import com.navi.common.uitron.serializer.UiTronSDKActionSerializer
|
||||
import com.navi.common.uitron.serializer.UiTronTriggerApiActionSerializer
|
||||
import com.navi.common.uitron.serializer.UiTronUploadDataSerializer
|
||||
@@ -66,7 +66,7 @@ object APNetworkModule {
|
||||
fun providesSerializer(): Gson = GsonBuilder()
|
||||
.registerTypeAdapter(BaseProperty::class.java, ComposePropertySerializer())
|
||||
.registerTypeAdapter(UiTronData::class.java, CustomUiTronDataSerializer())
|
||||
.registerTypeAdapter(UiTronAction::class.java, UiTronActionSerializer())
|
||||
.registerTypeAdapter(UiTronAction::class.java, ApUiTronActionSerializer())
|
||||
.registerTypeAdapter(UploadDataConfig::class.java, UiTronUploadDataSerializer())
|
||||
.registerTypeAdapter(BaseInputValidation::class.java, UiTronValidationSerializer())
|
||||
.registerTypeAdapter(TriggerApiAction::class.java, UiTronTriggerApiActionSerializer())
|
||||
|
||||
@@ -12,10 +12,12 @@ import com.google.gson.JsonElement
|
||||
import com.navi.common.uitron.model.action.AnalyticsActionV2
|
||||
import com.navi.common.uitron.model.action.BottomSheetStateAction
|
||||
import com.navi.common.uitron.model.action.CtaAction
|
||||
import com.navi.common.uitron.model.action.DownloadAction
|
||||
import com.navi.common.uitron.model.action.ExecuteActionsCorrespondingToKey
|
||||
import com.navi.common.uitron.model.action.LaunchIntentAction
|
||||
import com.navi.common.uitron.model.action.PostLocationAction
|
||||
import com.navi.common.uitron.model.action.PaymentStatusAction
|
||||
import com.navi.common.uitron.model.action.PostLocationAction
|
||||
import com.navi.common.uitron.model.action.SystemUiAction
|
||||
import com.navi.common.uitron.model.action.ThirdPartySdkAction
|
||||
import com.navi.common.uitron.model.action.UpdateStateHandleActionV2
|
||||
import com.navi.common.uitron.model.action.UpdateViewStateActionV2
|
||||
@@ -68,6 +70,10 @@ open class UiTronActionDeserializer : BaseUiTronActionDeserializer() {
|
||||
context?.deserialize(jsonObject, BottomSheetStateAction::class.java)
|
||||
ApActionType.PaymentStatusAction.name ->
|
||||
context?.deserialize(jsonObject, PaymentStatusAction::class.java)
|
||||
ApActionType.DownloadAction.name ->
|
||||
context?.deserialize(jsonObject, DownloadAction::class.java)
|
||||
ApActionType.SystemUiAction.name ->
|
||||
context?.deserialize(jsonObject, SystemUiAction::class.java)
|
||||
else -> super.deserialize(json, typeOfT, context)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@ import com.navi.common.uitron.model.action.DownloadAction
|
||||
import com.navi.common.uitron.model.action.ExecuteActionsCorrespondingToKey
|
||||
import com.navi.common.uitron.model.action.LaunchIntentAction
|
||||
import com.navi.common.uitron.model.action.PaymentStatusAction
|
||||
import com.navi.common.uitron.model.action.SystemUiAction
|
||||
import com.navi.common.uitron.model.action.PostLocationAction
|
||||
import com.navi.common.uitron.model.action.SystemUiAction
|
||||
import com.navi.common.uitron.model.action.ThirdPartySdkAction
|
||||
import com.navi.common.uitron.model.action.UpdateStateHandleActionV2
|
||||
import com.navi.common.uitron.model.action.UpdateViewStateActionV2
|
||||
@@ -31,7 +31,7 @@ import com.navi.uitron.model.data.UiTronActionType
|
||||
import com.navi.uitron.serializer.BaseUiTronActionSerializer
|
||||
import java.lang.reflect.Type
|
||||
|
||||
class UiTronActionSerializer : BaseUiTronActionSerializer() {
|
||||
open class UiTronActionSerializer : BaseUiTronActionSerializer() {
|
||||
|
||||
override fun serialize(
|
||||
src: UiTronAction?,
|
||||
|
||||
Reference in New Issue
Block a user