@@ -24,6 +24,7 @@ import androidx.compose.foundation.isSystemInDarkTheme
2424import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
2525import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass
2626import androidx.compose.runtime.Composable
27+ import androidx.compose.runtime.CompositionLocalProvider
2728import androidx.compose.runtime.DisposableEffect
2829import androidx.compose.runtime.getValue
2930import androidx.compose.runtime.mutableStateOf
@@ -37,6 +38,8 @@ import androidx.metrics.performance.JankStats
3738import com.google.accompanist.systemuicontroller.rememberSystemUiController
3839import com.google.samples.apps.nowinandroid.MainActivityUiState.Loading
3940import com.google.samples.apps.nowinandroid.MainActivityUiState.Success
41+ import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsHelper
42+ import com.google.samples.apps.nowinandroid.core.analytics.LocalAnalyticsHelper
4043import com.google.samples.apps.nowinandroid.core.data.util.NetworkMonitor
4144import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme
4245import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig
@@ -61,6 +64,9 @@ class MainActivity : ComponentActivity() {
6164 @Inject
6265 lateinit var networkMonitor: NetworkMonitor
6366
67+ @Inject
68+ lateinit var analyticsHelper: AnalyticsHelper
69+
6470 val viewModel: MainActivityViewModel by viewModels()
6571
6672 override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -104,15 +110,17 @@ class MainActivity : ComponentActivity() {
104110 onDispose {}
105111 }
106112
107- NiaTheme (
108- darkTheme = darkTheme,
109- androidTheme = shouldUseAndroidTheme(uiState),
110- disableDynamicTheming = shouldDisableDynamicTheming(uiState),
111- ) {
112- NiaApp (
113- networkMonitor = networkMonitor,
114- windowSizeClass = calculateWindowSizeClass(this ),
115- )
113+ CompositionLocalProvider (LocalAnalyticsHelper provides analyticsHelper) {
114+ NiaTheme (
115+ darkTheme = darkTheme,
116+ androidTheme = shouldUseAndroidTheme(uiState),
117+ disableDynamicTheming = shouldDisableDynamicTheming(uiState),
118+ ) {
119+ NiaApp (
120+ networkMonitor = networkMonitor,
121+ windowSizeClass = calculateWindowSizeClass(this ),
122+ )
123+ }
116124 }
117125 }
118126 }
0 commit comments