Hotfix to development (#8186)

This commit is contained in:
Sangaraboina Rishvik Vardhan
2023-10-09 16:11:32 +05:30
committed by GitHub
parent ac7894960d
commit 23d3ae5bb4
9 changed files with 62 additions and 32 deletions

View File

@@ -88,7 +88,7 @@ moengage-android-sdk = "12.6.02"
moengage-inapp = "6.5.0"
moengage-push-amp-plus = "6.2.1"
moengage-rich-notification = "4.3.2"
navi-uitron = "1.0.28-20231004.104806-1"
navi-uitron = "1.0.30"
navigation = "2.5.3"
okhttp-bom = "4.11.0"
otaliastudios-cameraview = "2.7.2"

View File

@@ -22,7 +22,6 @@ import androidx.compose.runtime.MutableState
import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.snapshotFlow
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@@ -58,6 +57,8 @@ fun BottomSheetRenderer(
val modalBottomSheetState = rememberModalBottomSheetState(
initialValue = ModalBottomSheetValue.Hidden,
confirmValueChange = {
if (sheetData.value.isCancellable.orFalse() && it == ModalBottomSheetValue.Hidden)
bottomSheetVisibility.value = false
sheetData.value.isCancellable.orFalse()
},
skipHalfExpanded = true
@@ -65,11 +66,6 @@ fun BottomSheetRenderer(
val keyboardController = LocalSoftwareKeyboardController.current
val localContext = LocalContext.current
val localView = LocalView.current
LaunchedEffect(modalBottomSheetState) {
snapshotFlow { modalBottomSheetState.isVisible }.collect { isVisible ->
bottomSheetVisibility.value = isVisible
}
}
LaunchedEffect(bottomSheetVisibility.value) {
bottomSheetVisibility.value?.let {
if (it) {

View File

@@ -31,6 +31,7 @@ import com.navi.ap.utils.constants.APP_ACTION
import com.navi.ap.utils.constants.APP_CONFIG_VERSION
import com.navi.ap.utils.constants.APP_PLATFORM_APPLICATION_ID
import com.navi.ap.utils.constants.APP_PLATFORM_APPLICATION_TYPE
import com.navi.ap.utils.constants.APP_PLATFORM_BACK_SCREEN_ID
import com.navi.ap.utils.constants.APP_PLATFORM_SCREEN_HASH
import com.navi.ap.utils.constants.APP_PLATFORM_SCREEN_ID
import com.navi.ap.utils.constants.APP_PLATFORM_VERTICAL_TYPE
@@ -82,7 +83,6 @@ fun InitScreenComponent(
if (renderScaffoldState) {
viewModel.getScreenStructureSuccessState()?.let {
ScreenRenderer(screenDefinitionStructure = it, viewModel = viewModel)
activity.updateLoaderState(false)
}
}
}
@@ -179,7 +179,7 @@ private fun submitScreenHash(viewModel: LambdaVM, action: String? = null) {
hashKey = viewModel.getMetaData(APP_PLATFORM_SCREEN_HASH).orEmpty(),
applicationId = viewModel.getQueryMap()[APP_PLATFORM_APPLICATION_ID],
action = action ?: viewModel.getQueryMap()[APP_ACTION],
fromScreen = viewModel.getQueryMap()[APP_PLATFORM_SCREEN_ID],
fromScreen = viewModel.getQueryMap()[APP_PLATFORM_BACK_SCREEN_ID],
configVersion = viewModel.getQueryMap()[APP_CONFIG_VERSION]
)
)

View File

@@ -16,14 +16,12 @@ import com.navi.ap.common.models.ApScreenDefinitionState
import com.navi.ap.common.models.ApScreenDefinitionStructure
import com.navi.ap.common.models.ApplicationIdState
import com.navi.ap.common.models.GetCtaState
import com.navi.ap.common.models.ScreenType
import com.navi.ap.common.models.WidgetModelDefinition
import com.navi.ap.common.repository.ApplicationPlatformRepository
import com.navi.ap.network.model.ApplicationHashRequestBody
import com.navi.ap.network.model.ApplicationRequestBody
import com.navi.ap.network.model.FillApplicationRequestBody
import com.navi.ap.network.model.getBottomSheetStructure
import com.navi.ap.network.model.getHideBottomSheetAction
import com.navi.ap.utils.PeriodicTaskScheduler
import com.navi.ap.utils.bundleToMap
import com.navi.ap.utils.constants.APP_ACTION
@@ -43,17 +41,16 @@ import com.navi.ap.utils.constants.CURRENT_SCREEN_ID
import com.navi.ap.utils.constants.DEFAULT_SOURCE_SCREEN
import com.navi.ap.utils.constants.NEXT_SCREEN_CTA
import com.navi.ap.utils.constants.REASON
import com.navi.ap.utils.constants.SCREEN_TYPE
import com.navi.ap.utils.constants.SUBMIT_EVENT_HASH_EVENT
import com.navi.ap.utils.helper.BottomSheetHelper
import com.navi.ap.utils.toMap
import com.navi.ap.utils.toMutableMap
import com.navi.base.model.CtaData
import com.navi.base.utils.isNotNull
import com.navi.base.utils.orFalse
import com.navi.common.CommonLibManager
import com.navi.common.R
import com.navi.common.constants.API_SUCCESS_CODE
import com.navi.common.network.ApiConstants
import com.navi.common.network.models.GenericErrorBottomSheetFields
import com.navi.common.uitron.model.action.AnalyticsActionV2
import com.navi.common.uitron.model.action.AnalyticsActionV2.PredefinedEventProperty
import com.navi.common.utils.Constants.LOGOUT
@@ -521,19 +518,9 @@ constructor(private val repository: ApplicationPlatformRepository) : BaseVM() {
initialDelaySeconds = initialDelay.toLong(),
onTimeout = {
stopApiPolling()
val errorBottomSheetFields =
GenericErrorBottomSheetFields(
title =
CommonLibManager.application.getString(
R.string.something_went_wrong
),
description =
CommonLibManager.application.getString(
R.string.error_description_time_out
),
ctaTitle = CommonLibManager.application.getString(R.string.okay),
ctaAction = getHideBottomSheetAction()
)
val errorBottomSheetFields = BottomSheetHelper.getGenericErrorBottomSheet(
response?.currentScreenCta?.screenMetaData?.get(SCREEN_TYPE)
)
_ctaResponseState.value =
GetCtaState.Error(
API_SUCCESS_CODE,

View File

@@ -19,9 +19,9 @@ import com.navi.common.network.models.GenericErrorBottomSheetFields
import com.navi.common.uitron.model.action.CtaAction
import com.navi.common.uitron.model.action.UpdateStateHandleActionV2
import com.navi.uitron.model.data.UiTronAction
import java.nio.charset.StandardCharsets
import org.json.JSONArray
import org.json.JSONObject
import java.nio.charset.StandardCharsets
private fun getJsonObject(key: String): String {
val inputStream =
@@ -46,6 +46,7 @@ fun getBottomSheetStructure(
.replace("\${cta_title}", bottomSheetFieldResponse.ctaTitle.orEmpty())
val parsedResult = JSONObject(parsedString)
parsedResult.put("isCancellable", bottomSheetFieldResponse.isCancellable)
parsedResult
.getJSONObject("content")
.getJSONArray("widgets")

View File

@@ -8,7 +8,9 @@
package com.navi.ap.screens.genericscreen.ui
import android.os.Bundle
import androidx.compose.runtime.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.hilt.navigation.compose.hiltViewModel
import com.navi.ap.common.handler.handleCtaResponse
import com.navi.ap.common.handler.lambdaSuccessHandler
@@ -19,7 +21,6 @@ import com.navi.ap.common.models.GetCtaState
import com.navi.ap.common.models.LambdaState
import com.navi.ap.common.ui.ApplicationPlatformActivity
import com.navi.ap.common.ui.InitScreenComponent
import com.navi.ap.common.ui.renderer.ScaffoldRenderer
import com.navi.ap.common.viewmodel.LambdaVM
import com.navi.ap.network.utils.handleGlobalErrorEvent
import com.navi.ap.screens.genericscreen.vm.ApGenericScreenVM
@@ -118,7 +119,9 @@ private fun handleScreenDefinitionState(
activity.updateLoaderState(true)
}
is ApScreenDefinitionState.Success -> {}
is ApScreenDefinitionState.Success -> {
activity.updateLoaderState(false)
}
is ApScreenDefinitionState.Error -> {
activity.updateLoaderState(false)
screenDefinitionState.errorBottomSheetStructure?.let {

View File

@@ -0,0 +1,40 @@
package com.navi.ap.utils.helper
import com.navi.ap.common.models.ScreenType
import com.navi.ap.network.model.getHideBottomSheetAction
import com.navi.ap.network.model.getHideBottomSheetAndRetryGetNextScreen
import com.navi.common.CommonLibManager
import com.navi.common.R
import com.navi.common.network.models.GenericErrorBottomSheetFields
object BottomSheetHelper {
fun getGenericErrorBottomSheet(screenType: String?) = when (screenType) {
ScreenType.LOADER_SCREEN.name -> GenericErrorBottomSheetFields(
title =
CommonLibManager.application.getString(
R.string.taking_longer_time_title
),
description =
CommonLibManager.application.getString(
R.string.taking_longer_time_desc
),
ctaTitle = CommonLibManager.application.getString(R.string.continue_text),
ctaAction = getHideBottomSheetAndRetryGetNextScreen(),
isCancellable = false
)
else -> GenericErrorBottomSheetFields(
title =
CommonLibManager.application.getString(
R.string.something_went_wrong
),
description =
CommonLibManager.application.getString(
R.string.error_description_time_out
),
ctaTitle = CommonLibManager.application.getString(R.string.okay),
ctaAction = getHideBottomSheetAction()
)
}
}

View File

@@ -15,7 +15,8 @@ data class GenericErrorBottomSheetFields(
val description: String? = null,
val ctaTitle: String? = null,
val ctaAction: List<UiTronAction>? = null,
val errorCode: String? = null
val errorCode: String? = null,
val isCancellable: Boolean = true,
) {
fun toGenericErrorResponse() =
GenericErrorResponse(

View File

@@ -192,4 +192,6 @@
<string name="verifying_bank_statement">Verifying bank statement&#8230;</string>
<string name="bank_detail_fetch_failed_try_again">We were not able to get the bank details. Please try again</string>
<string name="could_not_fetch_bank_details">Couldn\'t fetch bank details</string>
<string name="taking_longer_time_title">It is taking longer than expected</string>
<string name="taking_longer_time_desc">We\'re experiencing some delays in processing your request, but we\'re working hard to get it done as soon as possible. Thank you for your patience.</string>
</resources>