Use DisposableEffect + rememberMetricsStateHolder for Interests tab selection

Change-Id: I1b7820ebd4d9e16f0aa4d576c250e5aa137706c0
pull/145/head
Tomáš Mlynarič 2 years ago
parent a076a50010
commit 1ac3b4d90c

@ -29,19 +29,19 @@ import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material.icons.filled.Search
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import com.google.samples.apps.nowinandroid.core.ui.LoadingWheel
import com.google.samples.apps.nowinandroid.core.ui.addPerformanceMetricsState
import com.google.samples.apps.nowinandroid.core.ui.component.NiaTab
import com.google.samples.apps.nowinandroid.core.ui.component.NiaTabRow
import com.google.samples.apps.nowinandroid.core.ui.component.NiaTopAppBar
import com.google.samples.apps.nowinandroid.core.ui.rememberMetricsStateHolder
@Composable
fun InterestsRoute(
@ -62,7 +62,15 @@ fun InterestsRoute(
switchTab = viewModel::switchTab,
modifier = modifier
)
LocalView.current.addPerformanceMetricsState("Interests", "$tabState")
val metricsHolder = rememberMetricsStateHolder()
DisposableEffect(tabState, metricsHolder) {
metricsHolder.state?.addState("Interests:TabState", "currentIndex:${tabState.currentIndex}")
onDispose {
metricsHolder.state?.removeState("Interests:TabState")
}
}
}
@Composable

Loading…
Cancel
Save