@@ -4,6 +4,9 @@ import android.os.Bundle
44import androidx.activity.ComponentActivity
55import androidx.activity.compose.setContent
66import androidx.activity.viewModels
7+ import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
8+ import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass
9+ import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass
710import androidx.compose.runtime.Composable
811import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
912import androidx.core.view.WindowCompat
@@ -12,19 +15,23 @@ import com.google.android.gms.maps.MapsInitializer
1215import com.mapcode.map.MapViewModel
1316import com.mapcode.theme.MapcodeTheme
1417import dagger.hilt.android.AndroidEntryPoint
18+ import timber.log.Timber
1519
1620@AndroidEntryPoint
1721class MainActivity : ComponentActivity () {
1822 private val viewModel: MapViewModel by viewModels()
1923
24+ @OptIn(ExperimentalMaterial3WindowSizeClassApi ::class )
2025 override fun onCreate (savedInstanceState : Bundle ? ) {
2126 installSplashScreen()
2227 super .onCreate(savedInstanceState)
23-
28+
2429 WindowCompat .setDecorFitsSystemWindows(window, false )
2530
2631 setContent {
27- MapcodeApp (viewModel)
32+ val widthSizeClass = calculateWindowSizeClass(this ).widthSizeClass
33+ Timber .e(widthSizeClass.toString())
34+ MapcodeApp (viewModel, widthSizeClass)
2835 }
2936
3037 MapsInitializer .initialize(this )
@@ -38,12 +45,13 @@ class MainActivity : ComponentActivity() {
3845}
3946
4047@Composable
41- fun MapcodeApp (viewModel : MapViewModel ) {
48+ fun MapcodeApp (viewModel : MapViewModel , widthSizeClass : WindowWidthSizeClass ) {
4249 MapcodeTheme {
4350 val navController = rememberNavController()
4451 MapcodeNavHost (
4552 navController = navController,
46- viewModel = viewModel
53+ viewModel = viewModel,
54+ isExpandedScreen = widthSizeClass == WindowWidthSizeClass .Expanded
4755 )
4856 }
4957}
0 commit comments