NTP-41593 | Sohan | MM Max and Min Font scale in composables. (#15105)
This commit is contained in:
committed by
GitHub
parent
92ba042e94
commit
712712b7ee
@@ -272,6 +272,8 @@ object FirebaseRemoteConfigHelper {
|
||||
const val MONEY_MANAGER_DASHBOARD_SPEND_CATEGORIZATION_TIMEOUT =
|
||||
"MONEY_MANAGER_DASHBOARD_SPEND_CATEGORIZATION_TIMEOUT"
|
||||
const val MM_DARK_MODE_ENABLED = "MM_DARK_MODE_ENABLED"
|
||||
const val MM_FONT_SCALE_MIN_LIMIT = "MM_FONT_SCALE_MIN_LIMIT"
|
||||
const val MM_FONT_SCALE_MAX_LIMIT = "MM_FONT_SCALE_MAX_LIMIT"
|
||||
|
||||
// FESTIVE THEME
|
||||
const val FESTIVE_RESOURCE_URL_LIST = "FESTIVE_RESOURCE_URL_LIST"
|
||||
|
||||
@@ -686,4 +686,12 @@
|
||||
<key>UPI_LITE_MANDATE_EXECUTION_MAX_RETRIES</key>
|
||||
<value>5</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>MM_FONT_SCALE_MAX_LIMIT</key>
|
||||
<value>1.5</value>
|
||||
</entry>
|
||||
<entry>
|
||||
<key>MM_FONT_SCALE_MIN_LIMIT</key>
|
||||
<value>0.85</value>
|
||||
</entry>
|
||||
</defaultsMap>
|
||||
@@ -8,9 +8,13 @@
|
||||
package com.navi.moneymanager.common.ui.composable.bottomSheet
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.unit.Density
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.base.utils.orTrue
|
||||
import com.navi.common.basemvi.UiEvent
|
||||
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
|
||||
import com.navi.elex.atoms.ElexBottomSheet
|
||||
import com.navi.elex.theme.elexColors
|
||||
import com.navi.moneymanager.common.model.bottomSheet.BottomSheetState
|
||||
@@ -32,6 +36,23 @@ internal fun <bottomSheetType : ScreenBottomSheetType<uiEvent>, uiEvent : UiEven
|
||||
shape = bottomSheetConfig.shape,
|
||||
containerColor = elexColors.base.background.gray.intense,
|
||||
) {
|
||||
content(state.type)
|
||||
CompositionLocalProvider(
|
||||
LocalDensity provides
|
||||
Density(
|
||||
LocalDensity.current.density,
|
||||
LocalDensity.current.fontScale.coerceIn(
|
||||
FirebaseRemoteConfigHelper.getDouble(
|
||||
key = FirebaseRemoteConfigHelper.MM_FONT_SCALE_MIN_LIMIT
|
||||
)
|
||||
.toFloat(),
|
||||
FirebaseRemoteConfigHelper.getDouble(
|
||||
key = FirebaseRemoteConfigHelper.MM_FONT_SCALE_MAX_LIMIT
|
||||
)
|
||||
.toFloat(),
|
||||
),
|
||||
)
|
||||
) {
|
||||
content(state.type)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,9 @@ import androidx.activity.enableEdgeToEdge
|
||||
import androidx.activity.viewModels
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.unit.Density
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.navi.base.model.CtaData
|
||||
@@ -64,6 +67,7 @@ class MMActivity : MMBaseActivity(), Auth {
|
||||
navigationAction = NavigationAction.Default,
|
||||
)
|
||||
}
|
||||
|
||||
is AnubhavExit -> mmSharedVM.handleFinarkeinError(anubhavResult)
|
||||
}
|
||||
}
|
||||
@@ -107,16 +111,33 @@ class MMActivity : MMBaseActivity(), Auth {
|
||||
defaultValue = false,
|
||||
) &&
|
||||
isSystemInDarkTheme()
|
||||
MoneyManagerTheme(darkModeEnabled = darkModeEnabled) {
|
||||
DestinationsNavHost(
|
||||
startRoute =
|
||||
if (isUserOnBoarded) DashboardScreenDestination
|
||||
else LauncherScreenDestination,
|
||||
navGraph = NavGraphs.root,
|
||||
engine = naviHostEngine(),
|
||||
navController = navController,
|
||||
dependenciesContainerBuilder = { dependency(this@MMActivity) },
|
||||
)
|
||||
CompositionLocalProvider(
|
||||
LocalDensity provides
|
||||
Density(
|
||||
LocalDensity.current.density,
|
||||
LocalDensity.current.fontScale.coerceIn(
|
||||
FirebaseRemoteConfigHelper.getDouble(
|
||||
key = FirebaseRemoteConfigHelper.MM_FONT_SCALE_MIN_LIMIT
|
||||
)
|
||||
.toFloat(),
|
||||
FirebaseRemoteConfigHelper.getDouble(
|
||||
key = FirebaseRemoteConfigHelper.MM_FONT_SCALE_MAX_LIMIT
|
||||
)
|
||||
.toFloat(),
|
||||
),
|
||||
)
|
||||
) {
|
||||
MoneyManagerTheme(darkModeEnabled = darkModeEnabled) {
|
||||
DestinationsNavHost(
|
||||
startRoute =
|
||||
if (isUserOnBoarded) DashboardScreenDestination
|
||||
else LauncherScreenDestination,
|
||||
navGraph = NavGraphs.root,
|
||||
engine = naviHostEngine(),
|
||||
navController = navController,
|
||||
dependenciesContainerBuilder = { dependency(this@MMActivity) },
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user