diff --git a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt
index afbb813bda..508732af87 100644
--- a/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt
+++ b/android/navi-common/src/main/java/com/navi/common/firebaseremoteconfig/FirebaseRemoteConfigHelper.kt
@@ -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"
diff --git a/android/navi-common/src/main/res/xml/default_remote_config.xml b/android/navi-common/src/main/res/xml/default_remote_config.xml
index 62e01815ce..762f5501e7 100644
--- a/android/navi-common/src/main/res/xml/default_remote_config.xml
+++ b/android/navi-common/src/main/res/xml/default_remote_config.xml
@@ -686,4 +686,12 @@
UPI_LITE_MANDATE_EXECUTION_MAX_RETRIES
5
+
+ MM_FONT_SCALE_MAX_LIMIT
+ 1.5
+
+
+ MM_FONT_SCALE_MIN_LIMIT
+ 0.85
+
\ No newline at end of file
diff --git a/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/common/ui/composable/bottomSheet/MMBottomSheet.kt b/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/common/ui/composable/bottomSheet/MMBottomSheet.kt
index 6f7b004112..88fdab3939 100644
--- a/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/common/ui/composable/bottomSheet/MMBottomSheet.kt
+++ b/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/common/ui/composable/bottomSheet/MMBottomSheet.kt
@@ -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 , 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)
+ }
}
}
diff --git a/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/entry/ui/activity/MMActivity.kt b/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/entry/ui/activity/MMActivity.kt
index 8664cf489b..cfa1e84a30 100644
--- a/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/entry/ui/activity/MMActivity.kt
+++ b/android/navi-money-manager/src/main/kotlin/com/navi/moneymanager/entry/ui/activity/MMActivity.kt
@@ -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) },
+ )
+ }
}
}
}