TP-54641 | Bottomsheet Back and Ripple Fix (#10687)

This commit is contained in:
shreyansu raj
2024-05-02 19:22:21 +05:30
committed by GitHub
parent 763b8cc769
commit 0cf8ad8bdd
3 changed files with 18 additions and 5 deletions

View File

@@ -198,8 +198,15 @@ class ManageLoanActivity : BaseActivity() {
}
override fun onBackPressed() {
super.onBackPressed()
navController.navigateUp()
if (!viewModel.getBottomSheetState()) {
if (!navController.navigateUp()) {
finish()
} else {
navController.navigateUp()
}
} else {
viewModel.setBottomSheetState(false)
}
}
private fun getScreenRoute(secondIdentifier: String?, bundle: Bundle? = null): String {

View File

@@ -38,6 +38,7 @@ import com.navi.analytics.utils.NaviTrackEvent
import com.navi.design.theme.getFontWeight
import com.navi.design.theme.ttComposeFontFamily
import com.navi.naviwidgets.models.ScrollableTabWidgetData
import com.navi.rr.utils.NoRippleIndicationSource
import com.navi.rr.utils.clickable
import com.navi.uitron.model.UiTronResponse
import com.navi.uitron.utils.hexToComposeColor
@@ -86,7 +87,7 @@ fun ManageLoanTab(widget: WidgetModelDefinition<UiTronResponse>, viewModel: Mana
modifier = Modifier
.height(scrollWidgetData?.header?.leftIcon?.iconHeight?.dp ?: 24.dp)
.width(scrollWidgetData?.header?.leftIcon?.iconWidth?.dp ?: 24.dp)
.clickable {
.clickable(disableRipple = true) {
viewModel.redirectionCta.postValue(scrollWidgetData?.header?.leftIcon?.cta)
},
model =
@@ -115,7 +116,7 @@ fun ManageLoanTab(widget: WidgetModelDefinition<UiTronResponse>, viewModel: Mana
modifier = Modifier
.wrapContentWidth()
.wrapContentHeight()
.clickable {
.clickable(disableRipple = true) {
viewModel.redirectionCta.postValue(scrollWidgetData?.header?.rightText?.cta)
},
style = TextStyle(
@@ -180,7 +181,8 @@ fun ManageLoanTab(widget: WidgetModelDefinition<UiTronResponse>, viewModel: Mana
)
}
}
}
},
interactionSource = NoRippleIndicationSource()
)
}
}

View File

@@ -200,6 +200,10 @@ class ManageLoanVM @Inject constructor(
}
}
fun getBottomSheetState(): Boolean {
return _showBottomSheet.value
}
private fun cancelJob() {
if (job?.isActive.orFalse()) {
job?.cancel()