Skip to content

Fixes spotless checks for Jetcaster #1566

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

mlykotom
Copy link
Contributor

No description provided.

@mlykotom mlykotom requested a review from a team as a code owner May 16, 2025 13:44
@mlykotom mlykotom requested review from dturner and MagicalMeghan May 16, 2025 13:44
@mlykotom mlykotom merged commit c11adad into MagicalMeghan/jetcaster-redesign May 16, 2025
1 of 2 checks passed
@mlykotom mlykotom deleted the mlykotom/jetcaster-spotless-fix branch May 16, 2025 13:46
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @mlykotom, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

Hello team! Gemini here, providing a summary of this pull request.

This pull request primarily focuses on fixing and enforcing code style checks across the Jetcaster project, specifically addressing issues flagged by Spotless and ktlint. The changes involve introducing a new .editorconfig file to define Kotlin formatting rules and updating the Gradle build script to leverage this configuration. Additionally, the automated formatting has been applied to numerous Kotlin files across various modules (core, designsystem, glancewidget, mobile, tv, wear), resulting in consistent code style, mainly through the addition of trailing commas and adjustments to line breaks.

Highlights

  • Code Formatting Configuration: A new .editorconfig file has been added to the Jetcaster root directory. This file specifies Kotlin code style settings, including setting the ktlint_code_style to android_studio and disabling several standard ktlint rules to align with project conventions.
  • Spotless Gradle Configuration Update: The build.gradle.kts file has been updated to simplify the Spotless configuration. It removes the explicit editorConfigOverride map in the kotlin block, relying on the new .editorconfig file instead. The configuration for .kts files has also been integrated into the kotlinGradle block, and targetExclude paths have been updated.
  • Widespread Code Style Application: Automated code formatting has been applied across a large number of Kotlin files (.kt and .kts) throughout the project. The most common changes involve adding trailing commas to parameter lists, argument lists, and other multi-line declarations, as well as adjusting line breaks for improved readability according to the configured style.
  • Copyright Headers: Copyright headers have been added to several build.gradle.kts files where they were previously missing.
  • Minor Code Adjustments: Some minor code adjustments were made as a result of formatting, such as removing an unused @Immutable import in Episode.kt and adjusting parameters in various Compose UI components and data classes for consistency.

Changelog

Click here to see the changelog
  • Jetcaster/.editorconfig
    • Added new file to define Kotlin code style using ktlint.
    • Configured ktlint_code_style to android_studio.
    • Disabled several standard ktlint rules.
  • Jetcaster/build.gradle.kts
    • Removed ratchetFrom = "origin/main" from Spotless configuration.
    • Simplified kotlin block to use .editorconfig for style overrides.
    • Updated targetExclude paths in kotlin and kotlinGradle blocks.
    • Removed separate format("kts") block.
    • Integrated .kts formatting and license header into kotlinGradle block.
  • Jetcaster/core/data-testing/build.gradle.kts
    • Added copyright header.
    • Applied formatting: added trailing commas, adjusted line breaks.
  • Jetcaster/core/data-testing/src/main/java/com/example/jetcaster/core/data/testing/repository/TestCategoryStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data-testing/src/main/java/com/example/jetcaster/core/data/testing/repository/TestEpisodeStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data-testing/src/main/java/com/example/jetcaster/core/data/testing/repository/TestPodcastStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data/build.gradle.kts
    • Added copyright header.
    • Applied formatting: added trailing commas, adjusted line breaks.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/JetcasterDatabase.kt
    • Applied formatting: added trailing commas in annotation parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/dao/CategoriesDao.kt
    • Applied formatting: added trailing commas, adjusted line breaks in query annotation and function signature.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/dao/EpisodesDao.kt
    • Applied formatting: added trailing commas, adjusted line breaks in query annotations and function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/dao/PodcastsDao.kt
    • Applied formatting: added trailing commas, adjusted line breaks in query annotations and function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/model/Category.kt
    • Applied formatting: added trailing commas in annotation and data class parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/model/Episode.kt
    • Removed unused @immutable import.
    • Applied formatting: added trailing commas in annotation and data class parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/model/Podcast.kt
    • Applied formatting: added trailing commas in annotation and data class parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/model/PodcastCategoryEntry.kt
    • Applied formatting: added trailing commas in annotation and data class parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/database/model/PodcastFollowedEntry.kt
    • Applied formatting: added trailing commas in annotation and data class parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/di/DataDiModule.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/network/Feeds.kt
    • Applied formatting: added trailing comma in list declaration.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/network/OkHttpExtensions.kt
    • Applied formatting: added trailing comma in object declaration.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/network/PodcastFetcher.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor, data class, and function parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/repository/CategoryStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/repository/EpisodeStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/repository/PodcastStore.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/data/repository/PodcastsRepository.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor and function call parameters.
  • Jetcaster/core/data/src/main/java/com/example/jetcaster/core/util/Flows.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and lambda parameters.
  • Jetcaster/core/designsystem/build.gradle.kts
    • Added copyright header.
    • Applied formatting: added trailing commas, adjusted line breaks.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/HtmlTextContainer.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/ImageBackground.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and lambda parameters.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/PodcastImage.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature, when branches, and modifier chains.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/component/thumbnailPlaceholder.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/theme/Shape.kt
    • Applied formatting: added trailing commas in Shapes parameters.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/theme/Type.kt
    • Applied formatting: added trailing commas in TextStyle parameters.
  • Jetcaster/core/designsystem/src/main/java/com/example/jetcaster/designsystem/theme/Typography.kt
    • Applied formatting: added trailing commas in FontFamily parameters.
  • Jetcaster/core/domain-testing/build.gradle.kts
    • Added copyright header.
  • Jetcaster/core/domain-testing/src/main/java/com/example/jetcaster/core/domain/testing/PreviewData.kt
    • Applied formatting: added trailing commas in list and data class parameters.
  • Jetcaster/core/domain/build.gradle.kts
    • Added copyright header.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/di/DomainDiModule.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/domain/FilterableCategoriesUseCase.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature and lambda parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/domain/GetLatestFollowedEpisodesUseCase.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature and lambda parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/domain/PodcastCategoryFilterUseCase.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature and function calls.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/CategoryInfo.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class and function parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/EpisodeInfo.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class and function parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/FilterableCategoriesModel.kt
    • Applied formatting: added trailing commas in data class parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/LibraryInfo.kt
    • Applied formatting: added trailing commas in data class parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/PodcastCategoryFilterResult.kt
    • Applied formatting: added trailing commas in data class parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/PodcastInfo.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class and function parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/model/PodcastToEpisodeInfo.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class and function parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/player/EpisodePlayer.kt
    • Adjusted comment formatting.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/player/MockEpisodePlayer.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor, combine, and extension function parameters.
  • Jetcaster/core/domain/src/main/java/com/example/jetcaster/core/player/model/PlayerEpisode.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class and function parameters.
  • Jetcaster/core/domain/src/test/kotlin/com/example/jetcaster/core/domain/FilterableCategoriesUseCaseTest.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor and function call parameters.
  • Jetcaster/core/domain/src/test/kotlin/com/example/jetcaster/core/domain/GetLatestFollowedEpisodesUseCaseTest.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor, list, and lambda parameters.
  • Jetcaster/core/domain/src/test/kotlin/com/example/jetcaster/core/domain/PodcastCategoryFilterUseCaseTest.kt
    • Applied formatting: added trailing commas, adjusted line breaks in list, constructor, and function call parameters.
  • Jetcaster/core/domain/src/test/kotlin/com/example/jetcaster/core/domain/player/MockEpisodePlayerTest.kt
    • Applied formatting: added trailing commas, adjusted line breaks in list and data class parameters.
  • Jetcaster/glancewidget/build.gradle.kts
    • Added copyright header.
  • Jetcaster/glancewidget/src/main/java/com/example/jetcaster/glancewidget/JetcasterAppWidget.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class, list, and function call parameters.
  • Jetcaster/glancewidget/src/main/java/com/example/jetcaster/glancewidget/JetcasterAppWidgetPreview.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function call and lambda parameters.
  • Jetcaster/mobile/build.gradle.kts
    • Added copyright header.
    • Applied formatting: added trailing commas, adjusted line breaks.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/JetcasterApplication.kt
    • Applied formatting: adjusted line breaks in class declaration.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/JetcasterApp.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, CompositionLocalProvider, NavHost, and AlertDialog parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/JetcasterAppState.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and class declaration.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/MainActivity.kt
    • Applied formatting: added trailing commas in function call.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/home/Home.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, rememberSupportingPaneScaffoldNavigator, Column, LinearProgressIndicator, Scaffold, PillToolbar, HorizontalFloatingToolbar, FloatingActionButton, Icon, Box, LazyVerticalGrid, FollowedPodcastCarouselItem, ToggleFollowPodcastIconButton, Text, and HomeAppBar parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/home/HomeViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in combine, HomeScreenUiState, and enum parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/home/category/PodcastCategory.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, CategoryPodcasts, Modifier.sharedElement, HorizontalMultiBrowseCarousel, Modifier.maskClip, Modifier.clip, ToggleFollowPodcastIconButton, and HorizontalCarousel parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/home/discover/Discover.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastCategoryTabs, LazyRow, itemsIndexed, FilterChip, and Icon parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/home/library/Library.kt
    • Applied formatting: added trailing commas in items parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/player/PlayerScreen.kt
    • Removed unused ButtonShapes import.
    • Added ToggleButtonShapes import.
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Scaffold, Modifier.verticalGradientScrim, Modifier.systemBarsPadding, Modifier.padding, TwoPane, Column, Modifier.animateEnterExit, Modifier.sharedElement, PlayerSlider, PlayerButtons, Modifier.windowInsetsPadding, TopAppBar, IconButton, Icon, PodcastDescription, Text, Slider, ToggleButton, ToggleButtonShapes, ButtonGroup, IconButtonColors, and Box parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/player/PlayerViewModel.kt
    • Applied formatting: added trailing commas in data class and constructor parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/podcast/PodcastDetailsScreen.kt
    • Removed unused ButtonShapes import.
    • Added ToggleButtonShapes import.
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastDetailsLoadingScreen, Scaffold, PodcastDetailsTopAppBar, SnackbarHost, PodcastDetailsContent, LazyVerticalGrid, EpisodeListItem, PodcastDetailsHeaderItem, PodcastDetailsDescription, Box, Text, Modifier.animateContentSize, PodcastDetailsHeaderItemButtons, ButtonGroup, ToggleButton, ToggleButtonShapes, Modifier.semantics, Icon, IconButton, and TopAppBar parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/shared/EpisodeListItem.kt
    • Applied formatting: added trailing commas, adjusted line breaks in SwipeToDismissBox, Box, Icon, Surface, Column, EpisodeListItemHeader, Modifier.clickable, Modifier.semantics, stringResource, Modifier.weight, IconButton, Icon, EpisodeListItemHeader, Modifier.padding, Text, Modifier.clip, and PodcastImage parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/shared/Loading.kt
    • Applied formatting: added trailing commas in Box and CircularProgressIndicator parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/ui/theme/Theme.kt
    • Applied formatting: added trailing commas in data class and function parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/util/Buttons.kt
    • Removed unused IconButtonShapes import.
    • Added IconToggleButtonShapes import.
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, IconToggleButton, IconToggleButtonColors, IconToggleButtonShapes, and Icon parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/util/GradientScrim.kt
    • Applied formatting: added trailing commas, adjusted line breaks in drawRect, VerticalGradientElement, and VerticalGradientModifier parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/util/LazyVerticalGrid.kt
    • Applied formatting: added trailing commas in function parameters.
  • Jetcaster/mobile/src/main/java/com/example/jetcaster/util/ViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signature.
  • Jetcaster/tv/build.gradle.kts
    • Added copyright header.
    • Applied formatting: adjusted line breaks in copyright header.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/MainActivity.kt
    • Applied formatting: added trailing commas in Surface parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/model/CategorySelection.kt
    • Applied formatting: added trailing commas in data class parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/JetcasterApp.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, NavigationDrawer, Modifier.focusGroup, NavigationDrawerItem, Text, Icon, and Modifier.focusRequester parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Background.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and ImageBackgroundRadialGradientScrim parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Button.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, ButtonWithIcon, IconButton, Icon, and Button parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Catalog.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastSection, LatestEpisodeSection, Section, and PodcastCard parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/EpisodeCard.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, StandardCardContainer, Card, Thumbnail, EpisodeMetaData, Text, and Spacer parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/EpisodeDateAndDuration.kt
    • Applied formatting: added trailing commas, adjusted line breaks in stringResource and Text parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/EpisodeDetails.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, TwoColumn, Thumbnail, Column, EpisodeAuthor, and EpisodeTitle parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/EpisodeRow.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and EpisodeCard parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/ErrorState.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Text, and Button parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Loading.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Box, Column, tween, infiniteRepeatable, Canvas, drawCircularIndicatorTrack, drawCircularIndicator, and drawIndeterminateCircularIndicator parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/NotAvailableFeature.kt
    • Applied formatting: added trailing commas in function signature.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/PodcastCard.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, StandardCardContainer, Card, and Thumbnail parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Seekbar.kt
    • Applied formatting: added trailing commas, adjusted line breaks in drawBehind and onKeyEvent parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/Thumbnail.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, DpSize, and PodcastImage parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/component/TwoColumn.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures and Row parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/discover/DiscoverScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Loading, ErrorState, Ready, CatalogWithCategorySelection, TabRow, and Text parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/discover/DiscoverScreenViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class, combine, searchPodcastByTitleAndCategories, and stateIn parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/episode/EpisodeScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, EpisodeDetailsWithBackground, EpisodeDetails, BackgroundContainer, Thumbnail, EpisodeInfo, Text, Controls, Row, PlayButton, and EnqueueButton parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/episode/EpisodeScreenViewModel.kt
    • Applied formatting: added trailing commas in stateIn parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/library/LibraryScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, LoadingScreen, NoSubscribedPodcastScreen, Library, EpisodeRow, Modifier.focusRestorer, NavigateToDiscover, Text, and Button parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/library/LibraryScreenViewModel.kt
    • Applied formatting: added trailing commas in stateIn and data class parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/player/PlayerScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Player, EpisodePlayerState, PlayerSurface, Modifier.resizeWithContentScale, EpisodePlayerWithBackground, EpisodePlayer, Modifier.padding, PlayerQueueOverlay, Column, EpisodeDetails, EpisodeControl, PlayerControl, Row, PreviousButton, RewindButton, PlayPauseButton, Modifier.focusRequester, SkipButton, NextButton, ElapsedTimeIndicator, ElapsedTime, stringResource, Seekbar, NoEpisodeInQueue, Text, Spacer, Button, and Modifier.onFocusChanged parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/player/PlayerScreenViewModel.kt
    • Applied formatting: added trailing commas in constructor and stateIn parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/podcast/PodcastDetailsScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastDetailsWithBackground, BackgroundContainer, PodcastDetails, TwoColumn, Thumbnail, Modifier.intoPaddingValues, PodcastInfo, Text, ToggleSubscriptionButton, ButtonWithIcon, EpisodeList, LazyColumn, Modifier.border, Modifier.background, Modifier.shadow, Modifier.padding, EpisodeListItemContentLayer, Box, Column, Row, PlayButton, EpisodeDataAndDuration, EpisodeTitle, EpisodeSummary, HtmlTextContainer, Text, EpisodeControl, EnqueueButton, and InfoButton parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/podcast/PodcastDetailsScreenViewModel.kt
    • Applied formatting: added trailing commas in combine and stateIn parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/search/SearchScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, Ready, HasResult, Controls, KeywordInput, CategorySelection, FlowRow, FilterChip, Text, Modifier.background, RoundedCornerShape, Row, Icon, Button, PodcastList, LazyVerticalGrid, PodcastCard, CategorySelection, CategorySelectionList, FilterChip, and Text parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/search/SearchScreenViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor, searchPodcastByTitleAndCategories, stateIn, combine, SearchCondition, CategoryInfoList, Ready, and HasResult parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/settings/SettingsScreen.kt
    • Applied formatting: added trailing commas in function signature.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/theme/Space.kt
    • Applied formatting: added trailing commas in data class parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/theme/Theme.kt
    • Applied formatting: added trailing commas in function signature and MaterialTheme parameters.
  • Jetcaster/tv/src/main/java/com/example/jetcaster/tv/ui/theme/Type.kt
    • Applied formatting: added trailing commas in TextStyle parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/JetcasterWearApplication.kt
    • Applied formatting: adjusted line breaks in class declaration.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/WearApp.kt
    • Applied formatting: added trailing commas, adjusted line breaks in SwipeDismissableNavHost, composable, NavigationScreens.Player.deepLinks, PlayerScreen, LibraryScreen, NavigationScreens.Volume.deepLinks, LatestEpisodesScreen, PodcastsScreen, PodcastDetailsScreen, UpNextScreen, and EpisodeScreen parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/theme/Color.kt
    • Applied formatting: added trailing commas in Colors parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/theme/Type.kt
    • Applied formatting: added trailing commas in TextStyle parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/theme/WearAppTheme.kt
    • Applied formatting: added trailing commas in function signature and MaterialTheme parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/components/MediaContent.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, stringResource, and Chip parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/components/SettingsButtons.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PlaybackSpeedButton, SetVolumeButton, and ImageVector.vectorResource parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, ResponsiveListHeader, Text, LoadedButtonsContent, episodeInfoContent, AlertDialog, ResponsiveListHeader, PlaceholderChip, Text, Modifier.padding, HtmlTextContainer, and Modifier.listTextPadding parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/episode/EpisodeViewModel.kt
    • Applied formatting: added trailing commas in stateIn and data class parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/latest_episodes/LatestEpisodeViewModel.kt
    • Applied formatting: added trailing commas in map and data class parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/latest_episodes/LatestEpisodesScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, LatestEpisodeScreen, ResponsiveListHeader, Text, EntityScreen, MediaContent, ButtonsContent, AlertDialog, LatestEpisodesScreenLoading, ResponsiveListHeader, PlaceholderChip, ResponsiveListHeader, and LatestEpisodesScreenLoadedPreview parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/library/LibraryScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, LoadingScreen, NoSubscribedPodcastScreen, LibraryScreen, ResponsiveListHeader, Text, PlaceholderChip, Chip, and DrawableResPaintable parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/library/LibraryViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in constructor, combine, stateIn, and data class parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/player/PlayerScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PlayerScreen, TextMediaDisplay, MediaButtonsRow, Buttons, TextMediaDisplay, MediaControlButtons, TrackPosition, SettingsButtons, Image, and Modifier.fillMaxSize parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/player/PlayerViewModel.kt
    • Applied formatting: added trailing commas, adjusted line breaks in data class, constructor, stateIn, and TrackPositionUiModel.Actual parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/podcast/PodcastDetailsScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastDetailsScreen, ResponsiveListHeader, Text, ButtonsContent, EntityScreen, MediaContent, rememberVectorPainter, AlertDialog, ResponsiveListHeader, PlaceholderChip, ButtonsContent, PodcastDetailsScreenLoadedPreview, PodcastDetailsScreenLoadingPreview, and WearPreviewEpisodes parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/podcast/PodcastDetailsViewModel.kt
    • Applied formatting: added trailing commas in constructor, stateIn, and combine parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/podcasts/PodcastsScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, PodcastsScreen, PodcastScreenLoaded, PodcastScreenEmpty, PodcastScreenLoading, ResponsiveListHeader, Text, MediaContent, rememberVectorPainter, DefaultEntityScreenHeader, PlaceholderChip, rememberResponsiveColumnState, ScalingLazyColumnDefaults.padding, and PodcastScreenLoadedPreview parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/podcasts/PodcastsViewModel.kt
    • Applied formatting: added trailing commas in constructor and data class parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/queue/QueueScreen.kt
    • Applied formatting: added trailing commas, adjusted line breaks in function signatures, QueueScreen, ResponsiveListHeader, Text, QueueScreenLoaded, ButtonsContent, EntityScreen, MediaContent, rememberVectorPainter, QueueScreenLoading, DefaultEntityScreenHeader, PlaceholderChip, QueueScreenEmpty, AlertDialog, Button, Modifier.weight, QueueScreenLoadedPreview, rememberResponsiveColumnState, ScalingLazyColumnDefaults.padding, and WearPreviewEpisodes parameters.
  • Jetcaster/wear/src/main/java/com/example/jetcaster/ui/queue/QueueViewModel.kt
    • Applied formatting: added trailing commas in constructor and data class parameters.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Code flows like a stream,
Formatted, a pleasant dream.
Spotless, a clean gleam.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully addresses Spotless checks by introducing an .editorconfig file to centralize linting rules and applying formatting changes across the codebase. This is a great step towards consistent code style!

Key changes include:

  • Centralized ktlint configuration in .editorconfig.
  • Simplification of Spotless setup in build.gradle.kts.
  • Widespread formatting adjustments (trailing commas, line breaks, etc.) and license header additions.
  • Important correctness fixes related to Compose Material 3 component shapes for ToggleButton and IconToggleButton.

A few minor issues were found that should be addressed. Also, note that the removal of ratchetFrom = "origin/main" in the root build.gradle.kts means Spotless will now check all files in subprojects, not just those changed relative to origin/main. This might be intentional but could impact local build times.

The style guide implicitly followed is ktlint with the android_studio code style, as configured in the new .editorconfig file.

Summary of Findings

  • Duplicate Configuration: A duplicate entry for ktlint_standard_package-name = disabled was found in .editorconfig.
  • Compose Component Shape Correction: Incorrect shape configurations (ButtonShapes for ToggleButton, IconButtonShapes for IconToggleButton) were corrected to use the appropriate shape types (ToggleButtonShapes, IconToggleButtonShapes). This improves component correctness and visual consistency.
  • Spotless Configuration Change: The ratchetFrom setting was removed from the Spotless configuration in build.gradle.kts, meaning Spotless will now check all files instead of just changed ones. This is a notable change in behavior.
  • Code Formatting: The majority of changes are stylistic, including formatting adjustments (trailing commas, line breaks), license header additions, and reformatting of function/class signatures, all driven by Spotless and ktlint.

Merge Readiness

This pull request significantly improves code style consistency by integrating and applying Spotless with a centralized .editorconfig. The corrections to Compose component shapes are also valuable.

Before merging, please address the duplicate rule in the .editorconfig file. Once that's resolved, this PR should be in good shape. As I am an AI, I am not authorized to approve pull requests; please ensure this PR is reviewed and approved by other team members before merging.

ktlint_standard_enum-entry-name-case = disabled
ktlint_standard_multiline-if-else = disabled
ktlint_standard_no-empty-first-line-in-method-block = disabled
ktlint_standard_package-name = disabled

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It seems ktlint_standard_package-name = disabled is duplicated. This line also appears on line 10. Could you please remove this redundant entry to keep the configuration clean?

Comment on lines +304 to 308
shapes = ToggleButtonShapes(
shape = RoundedCornerShape(15.dp),
pressedShape = if (isSubscribed) RoundedCornerShape(15.dp) else RoundedCornerShape(
60.dp
),
checkedShape = RoundedCornerShape(60.dp)
pressedShape = RoundedCornerShape(if (isSubscribed) 15.dp else 60.dp),
checkedShape = RoundedCornerShape(60.dp),
),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This is a good correction. ToggleButton components should use ToggleButtonShapes for their shape definitions, not ButtonShapes. This change ensures the component uses the appropriate shape configuration, which can affect its visual states (pressed, checked, etc.).

Comment on lines +51 to +55
shapes = IconToggleButtonShapes(
shape = RoundedCornerShape(10.dp),
pressedShape = if(isFollowed) RoundedCornerShape(10.dp) else CircleShape,
checkedShape = CircleShape
)
pressedShape = if (isFollowed) RoundedCornerShape(10.dp) else CircleShape,
checkedShape = CircleShape,
),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Excellent fix! IconToggleButton should use IconToggleButtonShapes for its shape configuration. Using IconButtonShapes (presumably the previous state, though not fully visible in the diff) would have been incorrect. This change ensures the correct shapes are applied for different states of the IconToggleButton.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants