11/*
2- * Copyright 2020 The Android Open Source Project
2+ * Copyright 2020-2025 The Android Open Source Project
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -131,9 +131,8 @@ import kotlinx.collections.immutable.toPersistentList
131131import kotlinx.coroutines.launch
132132
133133@OptIn(ExperimentalMaterial3AdaptiveApi ::class )
134- private fun <T > ThreePaneScaffoldNavigator<T>.isMainPaneHidden (): Boolean {
135- return scaffoldValue[SupportingPaneScaffoldRole .Main ] == PaneAdaptedValue .Hidden
136- }
134+ private fun <T > ThreePaneScaffoldNavigator<T>.isMainPaneHidden (): Boolean =
135+ scaffoldValue[SupportingPaneScaffoldRole .Main ] == PaneAdaptedValue .Hidden
137136
138137/* *
139138 * Copied from `calculatePaneScaffoldDirective()` in [PaneScaffoldDirective], with modifications to
@@ -142,7 +141,7 @@ private fun <T> ThreePaneScaffoldNavigator<T>.isMainPaneHidden(): Boolean {
142141@OptIn(ExperimentalMaterial3AdaptiveApi ::class )
143142fun calculateScaffoldDirective (
144143 windowAdaptiveInfo : WindowAdaptiveInfo ,
145- verticalHingePolicy : HingePolicy = HingePolicy .AvoidSeparating
144+ verticalHingePolicy : HingePolicy = HingePolicy .AvoidSeparating ,
146145): PaneScaffoldDirective {
147146 val maxHorizontalPartitions: Int
148147 val verticalSpacerSize: Dp
@@ -195,20 +194,19 @@ fun calculateScaffoldDirective(
195194 * Copied from `getExcludedVerticalBounds()` in [PaneScaffoldDirective] since it is private.
196195 */
197196@OptIn(ExperimentalMaterial3AdaptiveApi ::class )
198- private fun getExcludedVerticalBounds (posture : Posture , hingePolicy : HingePolicy ): List <Rect > {
199- return when (hingePolicy) {
197+ private fun getExcludedVerticalBounds (posture : Posture , hingePolicy : HingePolicy ): List <Rect > =
198+ when (hingePolicy) {
200199 HingePolicy .AvoidSeparating -> posture.separatingVerticalHingeBounds
201200 HingePolicy .AvoidOccluding -> posture.occludingVerticalHingeBounds
202201 HingePolicy .AlwaysAvoid -> posture.allVerticalHingeBounds
203202 else -> emptyList()
204203 }
205- }
206204
207205@Composable
208206fun MainScreen (
209207 windowSizeClass : WindowSizeClass ,
210208 navigateToPlayer : (EpisodeInfo ) -> Unit ,
211- viewModel : HomeViewModel = hiltViewModel()
209+ viewModel : HomeViewModel = hiltViewModel(),
212210) {
213211 val homeScreenUiState by viewModel.state.collectAsStateWithLifecycle()
214212 val uiState = homeScreenUiState
@@ -217,7 +215,7 @@ fun MainScreen(
217215 uiState = uiState,
218216 windowSizeClass = windowSizeClass,
219217 navigateToPlayer = navigateToPlayer,
220- viewModel = viewModel,
218+ viewModel = viewModel
221219 )
222220
223221 if (uiState.errorMessage != null ) {
@@ -232,7 +230,7 @@ private fun HomeScreenError(onRetry: () -> Unit, modifier: Modifier = Modifier)
232230 Column (
233231 verticalArrangement = Arrangement .Center ,
234232 horizontalAlignment = Alignment .CenterHorizontally ,
235- modifier = Modifier .fillMaxSize(),
233+ modifier = Modifier .fillMaxSize()
236234 ) {
237235 Text (
238236 text = stringResource(id = R .string.an_error_has_occurred),
@@ -259,7 +257,7 @@ private fun HomeScreenReady(
259257 uiState : HomeScreenUiState ,
260258 windowSizeClass : WindowSizeClass ,
261259 navigateToPlayer : (EpisodeInfo ) -> Unit ,
262- viewModel : HomeViewModel = hiltViewModel()
260+ viewModel : HomeViewModel = hiltViewModel(),
263261) {
264262 val navigator = rememberSupportingPaneScaffoldNavigator<String >(
265263 scaffoldDirective = calculateScaffoldDirective(currentWindowAdaptiveInfo())
@@ -314,7 +312,7 @@ private fun HomeScreenReady(
314312 }
315313 }
316314 },
317- showBackButton = navigator.isMainPaneHidden(),
315+ showBackButton = navigator.isMainPaneHidden()
318316 )
319317 }
320318 },
@@ -325,10 +323,7 @@ private fun HomeScreenReady(
325323
326324@OptIn(ExperimentalMaterial3Api ::class )
327325@Composable
328- private fun HomeAppBar (
329- isExpanded : Boolean ,
330- modifier : Modifier = Modifier ,
331- ) {
326+ private fun HomeAppBar (isExpanded : Boolean , modifier : Modifier = Modifier ) {
332327 var queryText by remember {
333328 mutableStateOf(" " )
334329 }
@@ -376,7 +371,7 @@ private fun HomeAppBar(
376371@Composable
377372private fun HomeScreenBackground (
378373 modifier : Modifier = Modifier ,
379- content : @Composable BoxScope .() -> Unit
374+ content : @Composable BoxScope .() -> Unit ,
380375) {
381376 Box (
382377 modifier = modifier
@@ -404,7 +399,7 @@ private fun HomeScreen(
404399 onHomeAction : (HomeAction ) -> Unit ,
405400 navigateToPodcastDetails : (PodcastInfo ) -> Unit ,
406401 navigateToPlayer : (EpisodeInfo ) -> Unit ,
407- modifier : Modifier = Modifier
402+ modifier : Modifier = Modifier ,
408403) {
409404 // Effect that changes the home category selection when there are no subscribed podcasts
410405 LaunchedEffect (key1 = featuredPodcasts) {
@@ -423,7 +418,7 @@ private fun HomeScreen(
423418 Column {
424419 HomeAppBar (
425420 isExpanded = windowSizeClass.isCompact,
426- modifier = Modifier .fillMaxWidth(),
421+ modifier = Modifier .fillMaxWidth()
427422 )
428423 if (isLoading) {
429424 LinearProgressIndicator (
@@ -460,7 +455,7 @@ private fun HomeScreen(
460455 onHomeAction(action)
461456 },
462457 navigateToPodcastDetails = navigateToPodcastDetails,
463- navigateToPlayer = navigateToPlayer,
458+ navigateToPlayer = navigateToPlayer
464459 )
465460 }
466461 }
@@ -501,7 +496,7 @@ private fun HomeContent(
501496 modifier = modifier,
502497 onHomeAction = onHomeAction,
503498 navigateToPodcastDetails = navigateToPodcastDetails,
504- navigateToPlayer = navigateToPlayer,
499+ navigateToPlayer = navigateToPlayer
505500 )
506501}
507502
@@ -570,7 +565,7 @@ private fun HomeContentGrid(
570565 onTogglePodcastFollowed = {
571566 onHomeAction(HomeAction .TogglePodcastFollowed (it))
572567 },
573- onQueueEpisode = { onHomeAction(HomeAction .QueueEpisode (it)) },
568+ onQueueEpisode = { onHomeAction(HomeAction .QueueEpisode (it)) }
574569 )
575570 }
576571 }
@@ -651,7 +646,7 @@ private fun HomeCategoryTabs(
651646@Composable
652647private fun HomeCategoryTabIndicator (
653648 modifier : Modifier = Modifier ,
654- color : Color = MaterialTheme .colorScheme.onSurface
649+ color : Color = MaterialTheme .colorScheme.onSurface,
655650) {
656651 Spacer (
657652 modifier
@@ -684,7 +679,7 @@ private fun FollowedPodcasts(
684679 state = pagerState,
685680 contentPadding = PaddingValues (
686681 horizontal = horizontalPadding,
687- vertical = 16 .dp,
682+ vertical = 16 .dp
688683 ),
689684 pageSpacing = 24 .dp,
690685 pageSize = PageSize .Fixed (FEATURED_PODCAST_IMAGE_SIZE_DP )
@@ -724,7 +719,7 @@ private fun FollowedPodcastCarouselItem(
724719 contentDescription = podcastTitle,
725720 modifier = Modifier
726721 .fillMaxSize()
727- .clip(MaterialTheme .shapes.medium),
722+ .clip(MaterialTheme .shapes.medium)
728723 )
729724
730725 ToggleFollowPodcastIconButton (
@@ -771,7 +766,7 @@ private fun lastUpdated(updated: OffsetDateTime): String {
771766private fun HomeAppBarPreview () {
772767 JetcasterTheme {
773768 HomeAppBar (
774- isExpanded = false ,
769+ isExpanded = false
775770 )
776771 }
777772}
@@ -799,7 +794,7 @@ private fun PreviewHome() {
799794 library = LibraryInfo (),
800795 onHomeAction = {},
801796 navigateToPodcastDetails = {},
802- navigateToPlayer = {},
797+ navigateToPlayer = {}
803798 )
804799 }
805800}
0 commit comments