TP-60183 | Sohan Reddy | On Start call and back disable (#10304)
This commit is contained in:
committed by
GitHub
parent
38defd066e
commit
21745a2487
@@ -79,6 +79,7 @@ import com.navi.common.uitron.model.action.CtaAction
|
||||
import com.navi.rr.common.actions.InitActionHandler
|
||||
import com.navi.rr.common.activity.RRBaseActivity
|
||||
import com.navi.rr.utils.Constants.NULL_STRING
|
||||
import com.navi.rr.utils.DisposableEffectWithLifeCycle
|
||||
import com.navi.rr.utils.InitWidgetActions
|
||||
import com.navi.rr.utils.brushType
|
||||
import com.navi.rr.utils.getGsonBuilders
|
||||
@@ -98,7 +99,8 @@ import kotlinx.coroutines.launch
|
||||
import java.util.UUID
|
||||
import com.navi.common.R as CommonR
|
||||
|
||||
@OptIn(ExperimentalFoundationApi::class,
|
||||
@OptIn(
|
||||
ExperimentalFoundationApi::class,
|
||||
ExperimentalMaterialApi::class, ExperimentalComposeUiApi::class
|
||||
)
|
||||
@Destination
|
||||
@@ -185,10 +187,13 @@ fun CoinHomeScreen(
|
||||
}
|
||||
}
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
naviCoinsAnalytics.sendEvent(NaviCoinsAnalytics.REWARDS_NAVI_COINS_INFO_PAGE_LANDS)
|
||||
coinHomeScreenVM.fetchCoinHomeScreenUiTronConfigs()
|
||||
DisposableEffectWithLifeCycle(
|
||||
onStart = {
|
||||
coinHomeScreenVM.fetchCoinHomeScreenUiTronConfigs()
|
||||
}
|
||||
) {
|
||||
coinHomeScreenVM.fetchAndSaveCoinHistoryScreen()
|
||||
naviCoinsAnalytics.sendEvent(NaviCoinsAnalytics.REWARDS_NAVI_COINS_INFO_PAGE_LANDS)
|
||||
}
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.navi.coin.ui.compose
|
||||
|
||||
import android.app.Activity
|
||||
import android.os.Bundle
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
@@ -43,6 +44,8 @@ fun RedemptionStatusScreen(
|
||||
viewModel = redemptionStatusVM
|
||||
)
|
||||
|
||||
BackHandler {}
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
redemptionStatusVM.screenActions.collect { action ->
|
||||
when (action) {
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.navi.rr.utils
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.ui.platform.LocalLifecycleOwner
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
|
||||
@Composable
|
||||
fun DisposableEffectWithLifeCycle(
|
||||
onStart: (() -> Unit)? = null,
|
||||
onStop: (() -> Unit)? = null,
|
||||
effect: (() -> Unit)? = null
|
||||
) {
|
||||
val lifecycle = LocalLifecycleOwner.current.lifecycle
|
||||
DisposableEffect(lifecycle) {
|
||||
effect?.invoke()
|
||||
val observer = LifecycleEventObserver { _, event ->
|
||||
when (event) {
|
||||
Lifecycle.Event.ON_START -> onStart?.invoke()
|
||||
Lifecycle.Event.ON_STOP -> onStop?.invoke()
|
||||
else -> Lifecycle.Event.ON_ANY
|
||||
}
|
||||
}
|
||||
lifecycle.addObserver(observer)
|
||||
onDispose { lifecycle.removeObserver(observer) }
|
||||
}
|
||||
}
|
||||
@@ -16,10 +16,8 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.provider.Settings
|
||||
import android.view.View
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.interaction.Interaction
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.text.SpanStyle
|
||||
@@ -71,18 +69,14 @@ import com.navi.uitron.model.animations.PropertyAnimator
|
||||
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.ui.BrushData
|
||||
import com.navi.uitron.model.ui.BrushType
|
||||
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 com.navi.uitron.serializer.animationsSerializers.AnimationSpecSerializer
|
||||
import com.navi.uitron.serializer.animationsSerializers.PropertyAnimatorSerializer
|
||||
import com.navi.uitron.utils.getTileMode
|
||||
import com.navi.uitron.utils.hexToComposeColor
|
||||
import com.navi.uitron.utils.orFalse
|
||||
import com.navi.uitron.utils.parseColorSafe
|
||||
import com.navi.uitron.utils.transformations.moneyFormat
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
Reference in New Issue
Block a user