Skip to content

Commit 72234b4

Browse files
committed
Memoize the scaffold directive
1 parent b99b84d commit 72234b4

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

app/src/main/java/com/example/nav3recipes/scenes/materiallistdetail/MaterialListDetailActivity.kt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
2727
import androidx.compose.material3.adaptive.layout.calculatePaneScaffoldDirective
2828
import androidx.compose.material3.adaptive.navigation3.ListDetailSceneStrategy
2929
import androidx.compose.material3.adaptive.navigation3.rememberListDetailSceneStrategy
30+
import androidx.compose.runtime.remember
3031
import androidx.compose.ui.Alignment
3132
import androidx.compose.ui.unit.dp
3233
import androidx.navigation3.runtime.NavKey
@@ -65,12 +66,14 @@ class MaterialListDetailActivity : ComponentActivity() {
6566
setContent {
6667

6768
val backStack = rememberNavBackStack(ConversationList)
68-
val listDetailStrategy = rememberListDetailSceneStrategy<NavKey>(
69-
// Override the defaults so that there isn't a horizontal space between the panes.
70-
directive = calculatePaneScaffoldDirective(
71-
windowAdaptiveInfo = currentWindowAdaptiveInfo()
72-
).copy(horizontalPartitionSpacerSize = 0.dp)
73-
)
69+
70+
// Override the defaults so that there isn't a horizontal space between the panes.
71+
val windowAdaptiveInfo = currentWindowAdaptiveInfo()
72+
val directive = remember(windowAdaptiveInfo) {
73+
calculatePaneScaffoldDirective(windowAdaptiveInfo)
74+
.copy(horizontalPartitionSpacerSize = 0.dp)
75+
}
76+
val listDetailStrategy = rememberListDetailSceneStrategy<NavKey>(directive = directive)
7477

7578
NavDisplay(
7679
backStack = backStack,

0 commit comments

Comments
 (0)