├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE │ └── pull_request_template.md ├── blunderbuss.yml ├── ci-gradle.properties ├── dependabot.yml ├── stale.yml └── workflows │ ├── JetLagged.yaml │ ├── JetNews.yaml │ ├── Jetcaster.yaml │ ├── Jetchat.yaml │ ├── Jetsnack.yaml │ ├── Release.yml │ ├── Reply.yaml │ ├── build-sample.yml │ ├── default-check.yml │ └── update_deps.yml ├── .gitignore ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── JetLagged ├── .editorconfig ├── .gitignore ├── .google │ └── packaging.yaml ├── ASSETS_LICENSE ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-benchmark-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetlagged │ │ │ └── AppTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-playstore.png │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetlagged │ │ │ ├── HomeScreenCards.kt │ │ │ ├── JetLaggedDrawer.kt │ │ │ ├── JetLaggedScreen.kt │ │ │ ├── MainActivity.kt │ │ │ ├── backgrounds │ │ │ ├── BubbleBackground.kt │ │ │ ├── FadingCircleBackground.kt │ │ │ ├── SimpleGradientBackground.kt │ │ │ ├── SolarFlareShaderBackground.kt │ │ │ └── StripesShaderBackground.kt │ │ │ ├── data │ │ │ ├── FakeHeartRateData.kt │ │ │ ├── FakeSleepData.kt │ │ │ ├── JetLaggedHomeScreenState.kt │ │ │ └── JetLaggedHomeScreenViewModel.kt │ │ │ ├── heartrate │ │ │ ├── HeartRateCard.kt │ │ │ └── HeartRateGraph.kt │ │ │ ├── sleep │ │ │ ├── JetLaggedHeader.kt │ │ │ ├── JetLaggedHeaderTabs.kt │ │ │ ├── JetLaggedTimeGraph.kt │ │ │ ├── SleepBar.kt │ │ │ ├── SleepData.kt │ │ │ └── TimeGraph.kt │ │ │ └── ui │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ │ └── util │ │ │ └── MultiDevicePreview.kt │ │ └── res │ │ ├── drawable │ │ ├── ic_bedtime.xml │ │ ├── ic_home.xml │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_leaderboard.xml │ │ ├── ic_menu.xml │ │ ├── ic_settings.xml │ │ ├── ic_single_bed.xml │ │ └── ic_watch.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values-v23 │ │ └── font_certs.xml │ │ └── values │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── debug_2.keystore ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── JetLagged_Full.png │ └── screenshots.png ├── settings.gradle.kts └── spotless │ └── copyright.kt ├── JetNews ├── .editorconfig ├── .gitignore ├── .google │ └── packaging.yaml ├── .run │ ├── Instrumented tests.run.xml │ └── Robolectric tests.run.xml ├── ASSETS_LICENSE ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetnews │ │ │ ├── HomeScreenTests.kt │ │ │ ├── JetnewsTests.kt │ │ │ ├── TestAppContainer.kt │ │ │ └── TestHelper.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetnews │ │ │ ├── JetnewsApplication.kt │ │ │ ├── data │ │ │ ├── AppContainerImpl.kt │ │ │ ├── Result.kt │ │ │ ├── interests │ │ │ │ ├── InterestsRepository.kt │ │ │ │ └── impl │ │ │ │ │ └── FakeInterestsRepository.kt │ │ │ └── posts │ │ │ │ ├── PostsRepository.kt │ │ │ │ └── impl │ │ │ │ ├── BlockingFakePostsRepository.kt │ │ │ │ ├── FakePostsRepository.kt │ │ │ │ └── PostsData.kt │ │ │ ├── glance │ │ │ ├── JetnewsGlanceAppWidgetReceiver.kt │ │ │ └── ui │ │ │ │ ├── Divider.kt │ │ │ │ ├── JetnewsGlanceAppWidget.kt │ │ │ │ ├── Post.kt │ │ │ │ └── theme │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ ├── model │ │ │ ├── Post.kt │ │ │ └── PostsFeed.kt │ │ │ ├── ui │ │ │ ├── AppDrawer.kt │ │ │ ├── JetnewsApp.kt │ │ │ ├── JetnewsNavGraph.kt │ │ │ ├── JetnewsNavigation.kt │ │ │ ├── MainActivity.kt │ │ │ ├── article │ │ │ │ ├── ArticleScreen.kt │ │ │ │ └── PostContent.kt │ │ │ ├── components │ │ │ │ ├── AppNavRail.kt │ │ │ │ └── JetnewsSnackbarHost.kt │ │ │ ├── home │ │ │ │ ├── HomeRoute.kt │ │ │ │ ├── HomeScreens.kt │ │ │ │ ├── HomeViewModel.kt │ │ │ │ ├── PostCardTop.kt │ │ │ │ ├── PostCardYourNetwork.kt │ │ │ │ └── PostCards.kt │ │ │ ├── interests │ │ │ │ ├── InterestsRoute.kt │ │ │ │ ├── InterestsScreen.kt │ │ │ │ ├── InterestsViewModel.kt │ │ │ │ └── SelectTopicButton.kt │ │ │ ├── modifiers │ │ │ │ └── KeyEvents.kt │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Shape.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── utils │ │ │ │ └── JetnewsIcons.kt │ │ │ └── utils │ │ │ ├── ErrorMessage.kt │ │ │ ├── LazyListUtils.kt │ │ │ ├── MapExtensions.kt │ │ │ └── MultipreviewAnnotations.kt │ │ └── res │ │ ├── drawable-anydpi-v26 │ │ ├── ic_launcher_background.xml │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-nodpi │ │ ├── placeholder_1_1.png │ │ ├── placeholder_4_3.png │ │ ├── post_1.png │ │ ├── post_1_thumb.png │ │ ├── post_2.png │ │ ├── post_2_thumb.png │ │ ├── post_3.png │ │ ├── post_3_thumb.png │ │ ├── post_4.png │ │ ├── post_4_thumb.png │ │ ├── post_5.png │ │ ├── post_5_thumb.png │ │ ├── post_6.png │ │ └── post_6_thumb.png │ │ ├── drawable │ │ ├── ic_account_circle.xml │ │ ├── ic_add.xml │ │ ├── ic_arrow_back.xml │ │ ├── ic_bookmark.xml │ │ ├── ic_bookmark_outline.xml │ │ ├── ic_check.xml │ │ ├── ic_home.xml │ │ ├── ic_jetnews_bookmark.xml │ │ ├── ic_jetnews_bookmark_filled.xml │ │ ├── ic_jetnews_logo.xml │ │ ├── ic_jetnews_wordmark.xml │ │ ├── ic_list_alt.xml │ │ ├── ic_more_vert.xml │ │ ├── ic_search.xml │ │ ├── ic_share.xml │ │ ├── ic_text_settings.xml │ │ ├── ic_thumb_up.xml │ │ └── icon_article_background.xml │ │ ├── font │ │ ├── montserrat_medium.ttf │ │ └── montserrat_regular.ttf │ │ ├── mipmap-anydpi-v26 │ │ └── ic_launcher.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values │ │ ├── colors.xml │ │ ├── integers.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ ├── xml-v31 │ │ └── jetnews_glance_appwidget_info.xml │ │ └── xml │ │ └── jetnews_glance_appwidget_info.xml ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── debug_2.keystore ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── jetnews_all_screens.png │ ├── jetnews_demo.gif │ ├── jetnews_glance_appwidget.png │ └── screenshots.png ├── settings.gradle.kts └── spotless │ └── copyright.kt ├── Jetcaster ├── .editorconfig ├── .gitignore ├── .google │ └── packaging.yaml ├── ASSETS_LICENSE ├── README.md ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── core │ ├── .gitignore │ ├── data-testing │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── core │ │ │ └── data │ │ │ └── testing │ │ │ └── repository │ │ │ ├── TestCategoryStore.kt │ │ │ ├── TestEpisodeStore.kt │ │ │ └── TestPodcastStore.kt │ ├── data │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── core │ │ │ ├── data │ │ │ ├── Dispatcher.kt │ │ │ ├── database │ │ │ │ ├── DateTimeTypeConverters.kt │ │ │ │ ├── JetcasterDatabase.kt │ │ │ │ ├── dao │ │ │ │ │ ├── BaseDao.kt │ │ │ │ │ ├── CategoriesDao.kt │ │ │ │ │ ├── EpisodesDao.kt │ │ │ │ │ ├── PodcastCategoryEntryDao.kt │ │ │ │ │ ├── PodcastFollowedEntryDao.kt │ │ │ │ │ ├── PodcastsDao.kt │ │ │ │ │ └── TransactionRunnerDao.kt │ │ │ │ └── model │ │ │ │ │ ├── Category.kt │ │ │ │ │ ├── Episode.kt │ │ │ │ │ ├── EpisodeToPodcast.kt │ │ │ │ │ ├── Podcast.kt │ │ │ │ │ ├── PodcastCategoryEntry.kt │ │ │ │ │ ├── PodcastFollowedEntry.kt │ │ │ │ │ └── PodcastWithExtraInfo.kt │ │ │ ├── di │ │ │ │ └── DataDiModule.kt │ │ │ ├── network │ │ │ │ ├── Feeds.kt │ │ │ │ ├── OkHttpExtensions.kt │ │ │ │ └── PodcastFetcher.kt │ │ │ └── repository │ │ │ │ ├── CategoryStore.kt │ │ │ │ ├── EpisodeStore.kt │ │ │ │ ├── PodcastStore.kt │ │ │ │ └── PodcastsRepository.kt │ │ │ └── util │ │ │ └── Flows.kt │ ├── designsystem │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── jetcaster │ │ │ │ └── designsystem │ │ │ │ ├── component │ │ │ │ ├── HtmlTextContainer.kt │ │ │ │ ├── ImageBackground.kt │ │ │ │ ├── PodcastImage.kt │ │ │ │ └── thumbnailPlaceholder.kt │ │ │ │ └── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Keylines.kt │ │ │ │ ├── Shape.kt │ │ │ │ ├── Type.kt │ │ │ │ └── Typography.kt │ │ │ └── res │ │ │ ├── drawable │ │ │ └── img_empty.xml │ │ │ ├── font │ │ │ ├── montserrat_light.ttf │ │ │ ├── montserrat_medium.ttf │ │ │ ├── montserrat_regular.ttf │ │ │ ├── montserrat_semibold.ttf │ │ │ └── roboto_flex.ttf │ │ │ ├── values-night │ │ │ └── colors.xml │ │ │ └── values │ │ │ └── colors.xml │ ├── domain-testing │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── core │ │ │ └── domain │ │ │ └── testing │ │ │ └── PreviewData.kt │ └── domain │ │ ├── .gitignore │ │ ├── build.gradle.kts │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── core │ │ │ ├── di │ │ │ └── DomainDiModule.kt │ │ │ ├── domain │ │ │ ├── FilterableCategoriesUseCase.kt │ │ │ ├── GetLatestFollowedEpisodesUseCase.kt │ │ │ └── PodcastCategoryFilterUseCase.kt │ │ │ ├── model │ │ │ ├── CategoryInfo.kt │ │ │ ├── EpisodeInfo.kt │ │ │ ├── FilterableCategoriesModel.kt │ │ │ ├── LibraryInfo.kt │ │ │ ├── PodcastCategoryFilterResult.kt │ │ │ ├── PodcastInfo.kt │ │ │ └── PodcastToEpisodeInfo.kt │ │ │ └── player │ │ │ ├── EpisodePlayer.kt │ │ │ ├── MockEpisodePlayer.kt │ │ │ └── model │ │ │ └── PlayerEpisode.kt │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── example │ │ └── jetcaster │ │ └── core │ │ └── domain │ │ ├── FilterableCategoriesUseCaseTest.kt │ │ ├── GetLatestFollowedEpisodesUseCaseTest.kt │ │ ├── PodcastCategoryFilterUseCaseTest.kt │ │ └── player │ │ └── MockEpisodePlayerTest.kt ├── debug_2.keystore ├── docs │ ├── jetcaster.gif │ ├── logo.png │ ├── screenshots.png │ └── tabletop.png ├── glancewidget │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── glancewidget │ │ │ ├── Colors.kt │ │ │ ├── JetcasterAppWidget.kt │ │ │ └── JetcasterAppWidgetPreview.kt │ │ └── res │ │ ├── drawable │ │ ├── outline_pause_24.xml │ │ ├── outline_play_arrow_24.xml │ │ ├── outline_skip_next_24.xml │ │ ├── widget_preview.png │ │ ├── widget_preview_image_shape.xml │ │ └── widget_preview_thumbnail.png │ │ ├── layout │ │ └── widget_preview.xml │ │ ├── values-h48dp │ │ └── sizes.xml │ │ ├── values-night-v31 │ │ └── colors.xml │ │ ├── values-night │ │ └── colors.xml │ │ ├── values-v31 │ │ ├── colors.xml │ │ └── styles.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── sizes.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── jetcaster_info.xml ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mobile │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ ├── JetcasterApplication.kt │ │ │ ├── ui │ │ │ ├── JetcasterApp.kt │ │ │ ├── JetcasterAppState.kt │ │ │ ├── MainActivity.kt │ │ │ ├── home │ │ │ │ ├── Home.kt │ │ │ │ ├── HomeViewModel.kt │ │ │ │ ├── category │ │ │ │ │ └── PodcastCategory.kt │ │ │ │ ├── discover │ │ │ │ │ └── Discover.kt │ │ │ │ └── library │ │ │ │ │ └── Library.kt │ │ │ ├── player │ │ │ │ ├── PlayerScreen.kt │ │ │ │ └── PlayerViewModel.kt │ │ │ ├── podcast │ │ │ │ ├── PodcastDetailsScreen.kt │ │ │ │ └── PodcastDetailsViewModel.kt │ │ │ ├── shared │ │ │ │ ├── EpisodeListItem.kt │ │ │ │ └── Loading.kt │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ └── Theme.kt │ │ │ └── tooling │ │ │ │ └── DevicePreviews.kt │ │ │ └── util │ │ │ ├── Buttons.kt │ │ │ ├── Colors.kt │ │ │ ├── GradientScrim.kt │ │ │ ├── LazyVerticalGrid.kt │ │ │ ├── PluralResources.kt │ │ │ ├── ViewModel.kt │ │ │ ├── WindowInfoUtil.kt │ │ │ └── WindowSizeClass.kt │ │ └── res │ │ ├── drawable-nodpi │ │ └── ic_text_logo.xml │ │ ├── drawable-v26 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── genres.xml │ │ ├── ic_account_circle.xml │ │ ├── ic_add.xml │ │ ├── ic_arrow_back.xml │ │ ├── ic_check.xml │ │ ├── ic_delete.xml │ │ ├── ic_forward_10.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_launcher_monochrome.xml │ │ ├── ic_library_music.xml │ │ ├── ic_logo.xml │ │ ├── ic_more_vert.xml │ │ ├── ic_notifications.xml │ │ ├── ic_notifications_active.xml │ │ ├── ic_pause.xml │ │ ├── ic_play_arrow.xml │ │ ├── ic_play_circle.xml │ │ ├── ic_playlist_add.xml │ │ ├── ic_replay_10.xml │ │ ├── ic_search.xml │ │ ├── ic_skip_next.xml │ │ ├── ic_skip_previous.xml │ │ └── ic_video_library.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml ├── settings.gradle.kts ├── spotless │ └── copyright.kt ├── stability_config.conf ├── tv │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ └── tv │ │ │ ├── JetCasterTvApp.kt │ │ │ ├── MainActivity.kt │ │ │ ├── model │ │ │ ├── CategoryInfoList.kt │ │ │ ├── CategorySelection.kt │ │ │ ├── EpisodeList.kt │ │ │ └── PodcastList.kt │ │ │ └── ui │ │ │ ├── JetcasterApp.kt │ │ │ ├── JetcasterAppState.kt │ │ │ ├── component │ │ │ ├── Background.kt │ │ │ ├── Button.kt │ │ │ ├── ButtonWithIcon.kt │ │ │ ├── Catalog.kt │ │ │ ├── EpisodeCard.kt │ │ │ ├── EpisodeDateAndDuration.kt │ │ │ ├── EpisodeDetails.kt │ │ │ ├── EpisodeRow.kt │ │ │ ├── ErrorState.kt │ │ │ ├── Loading.kt │ │ │ ├── NotAvailableFeature.kt │ │ │ ├── PodcastCard.kt │ │ │ ├── Seekbar.kt │ │ │ ├── Thumbnail.kt │ │ │ └── TwoColumn.kt │ │ │ ├── discover │ │ │ ├── DiscoverScreen.kt │ │ │ └── DiscoverScreenViewModel.kt │ │ │ ├── episode │ │ │ ├── EpisodeScreen.kt │ │ │ └── EpisodeScreenViewModel.kt │ │ │ ├── library │ │ │ ├── LibraryScreen.kt │ │ │ └── LibraryScreenViewModel.kt │ │ │ ├── player │ │ │ ├── PlayerScreen.kt │ │ │ └── PlayerScreenViewModel.kt │ │ │ ├── podcast │ │ │ ├── PodcastDetailsScreen.kt │ │ │ └── PodcastDetailsScreenViewModel.kt │ │ │ ├── profile │ │ │ └── ProfileScreen.kt │ │ │ ├── search │ │ │ ├── SearchScreen.kt │ │ │ └── SearchScreenViewModel.kt │ │ │ ├── settings │ │ │ └── SettingsScreen.kt │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Space.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ └── res │ │ ├── drawable-nodpi │ │ └── ic_text_logo.xml │ │ ├── drawable-v26 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_add.xml │ │ ├── ic_forward_10.xml │ │ ├── ic_home.xml │ │ ├── ic_info.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_launcher_monochrome.xml │ │ ├── ic_library_music.xml │ │ ├── ic_logo.xml │ │ ├── ic_pause.xml │ │ ├── ic_person.xml │ │ ├── ic_play_arrow.xml │ │ ├── ic_playlist_add.xml │ │ ├── ic_remove.xml │ │ ├── ic_replay_10.xml │ │ ├── ic_search.xml │ │ ├── ic_settings.xml │ │ ├── ic_skip_next.xml │ │ ├── ic_skip_previous.xml │ │ └── ic_video_library.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml └── wear │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetcaster │ │ │ ├── JetcasterWearApplication.kt │ │ │ ├── MainActivity.kt │ │ │ ├── WearApp.kt │ │ │ ├── theme │ │ │ ├── ColorScheme.kt │ │ │ ├── Shape.kt │ │ │ ├── Type.kt │ │ │ └── WearAppTheme.kt │ │ │ └── ui │ │ │ ├── JetcasterNavController.kt │ │ │ ├── components │ │ │ ├── MediaContent.kt │ │ │ └── SettingsButtons.kt │ │ │ ├── episode │ │ │ ├── EpisodeScreen.kt │ │ │ └── EpisodeViewModel.kt │ │ │ ├── latest_episodes │ │ │ ├── LatestEpisodeViewModel.kt │ │ │ └── LatestEpisodesScreen.kt │ │ │ ├── library │ │ │ ├── LibraryScreen.kt │ │ │ └── LibraryViewModel.kt │ │ │ ├── player │ │ │ ├── PlayerScreen.kt │ │ │ └── PlayerViewModel.kt │ │ │ ├── podcast │ │ │ ├── PodcastDetailsScreen.kt │ │ │ └── PodcastDetailsViewModel.kt │ │ │ ├── podcasts │ │ │ ├── PodcastsScreen.kt │ │ │ └── PodcastsViewModel.kt │ │ │ ├── preview │ │ │ ├── WearPreviewEpisodes.kt │ │ │ └── WearPreviewPodcasts.kt │ │ │ └── queue │ │ │ ├── QueueScreen.kt │ │ │ └── QueueViewModel.kt │ └── res │ │ ├── drawable │ │ ├── delete.xml │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_logo.xml │ │ ├── ic_playlist_add.xml │ │ ├── music.xml │ │ ├── new_releases.xml │ │ ├── play.xml │ │ ├── podcast.xml │ │ ├── refresh.xml │ │ ├── speed_15x.xml │ │ ├── speed_1x.xml │ │ ├── speed_2x.xml │ │ ├── splashscreen.xml │ │ └── up_next.xml │ │ ├── mipmap-anydpi-v26 │ │ └── ic_launcher.xml │ │ ├── values-round │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── example │ └── jetcaster │ └── NavigationTest.kt ├── Jetchat ├── .editorconfig ├── .gitignore ├── .google │ └── packaging.yaml ├── ASSETS_LICENSE ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── compose │ │ │ └── jetchat │ │ │ ├── ConversationTest.kt │ │ │ ├── NavigationTest.kt │ │ │ ├── UserInputTest.kt │ │ │ └── Utils.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── compose │ │ │ └── jetchat │ │ │ ├── MainViewModel.kt │ │ │ ├── NavActivity.kt │ │ │ ├── UiExtras.kt │ │ │ ├── components │ │ │ ├── AnimatingFabContent.kt │ │ │ ├── BaseLineHeightModifier.kt │ │ │ ├── JetchatAppBar.kt │ │ │ ├── JetchatDrawer.kt │ │ │ ├── JetchatIcon.kt │ │ │ └── JetchatScaffold.kt │ │ │ ├── conversation │ │ │ ├── Conversation.kt │ │ │ ├── ConversationFragment.kt │ │ │ ├── ConversationUiState.kt │ │ │ ├── JumpToBottom.kt │ │ │ ├── MessageFormatter.kt │ │ │ ├── RecordButton.kt │ │ │ └── UserInput.kt │ │ │ ├── data │ │ │ └── FakeData.kt │ │ │ ├── profile │ │ │ ├── Previews.kt │ │ │ ├── Profile.kt │ │ │ ├── ProfileFragment.kt │ │ │ └── ProfileViewModel.kt │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Themes.kt │ │ │ └── Typography.kt │ │ │ └── widget │ │ │ ├── JetChatWidget.kt │ │ │ ├── WidgetReceiver.kt │ │ │ ├── composables │ │ │ └── MessagesWidget.kt │ │ │ └── theme │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ └── res │ │ ├── drawable-nodpi │ │ ├── ali.png │ │ ├── someone_else.jpg │ │ └── sticker.png │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_alternate_email.xml │ │ ├── ic_arrow_downward.xml │ │ ├── ic_baseline_person_24.xml │ │ ├── ic_chat.xml │ │ ├── ic_create.xml │ │ ├── ic_duo.xml │ │ ├── ic_info.xml │ │ ├── ic_insert_photo.xml │ │ ├── ic_jetchat.xml │ │ ├── ic_jetchat_back.xml │ │ ├── ic_jetchat_front.xml │ │ ├── ic_launcher_foreground.xml │ │ ├── ic_launcher_monochrome.xml │ │ ├── ic_mic.xml │ │ ├── ic_mood.xml │ │ ├── ic_more_vert.xml │ │ ├── ic_place.xml │ │ ├── ic_search.xml │ │ ├── jetchat_logo.xml │ │ └── widget_icon.png │ │ ├── font │ │ ├── karla_bold.ttf │ │ ├── karla_regular.ttf │ │ ├── montserrat_light.ttf │ │ ├── montserrat_medium.ttf │ │ ├── montserrat_regular.ttf │ │ └── montserrat_semibold.ttf │ │ ├── layout │ │ ├── content_main.xml │ │ └── fragment_profile.xml │ │ ├── menu │ │ └── activity_main_drawer.xml │ │ ├── mipmap-anydpi-v26 │ │ └── ic_launcher.xml │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── navigation │ │ └── mobile_navigation.xml │ │ ├── values-night │ │ ├── colors.xml │ │ └── themes.xml │ │ ├── values-v23 │ │ ├── font_certs.xml │ │ └── themes.xml │ │ ├── values-v27 │ │ └── themes.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ └── widget_unread_messages_info.xml ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── debug_2.keystore ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── jetchat.gif │ ├── jetchatlogo.png │ ├── screenshots.png │ ├── widget.png │ └── widget_discoverability.png ├── settings.gradle.kts └── spotless │ └── copyright.kt ├── Jetsnack ├── .editorconfig ├── .gitignore ├── .google │ └── packaging.yaml ├── ASSETS_LICENSE ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-benchmark-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── example │ │ │ └── jetsnack │ │ │ └── AppTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── jetsnack │ │ │ ├── model │ │ │ ├── Filter.kt │ │ │ ├── Search.kt │ │ │ ├── Snack.kt │ │ │ ├── SnackCollection.kt │ │ │ └── SnackbarManager.kt │ │ │ ├── ui │ │ │ ├── JetsnackApp.kt │ │ │ ├── MainActivity.kt │ │ │ ├── SnackSharedElementKey.kt │ │ │ ├── components │ │ │ │ ├── Button.kt │ │ │ │ ├── Card.kt │ │ │ │ ├── Divider.kt │ │ │ │ ├── Filters.kt │ │ │ │ ├── Gradient.kt │ │ │ │ ├── GradientTintedIconButton.kt │ │ │ │ ├── Grid.kt │ │ │ │ ├── QuantitySelector.kt │ │ │ │ ├── Scaffold.kt │ │ │ │ ├── Snackbar.kt │ │ │ │ ├── Snacks.kt │ │ │ │ └── Surface.kt │ │ │ ├── home │ │ │ │ ├── DestinationBar.kt │ │ │ │ ├── Feed.kt │ │ │ │ ├── FilterScreen.kt │ │ │ │ ├── Home.kt │ │ │ │ ├── Profile.kt │ │ │ │ ├── cart │ │ │ │ │ ├── Cart.kt │ │ │ │ │ ├── CartViewModel.kt │ │ │ │ │ └── SwipeDismissItem.kt │ │ │ │ └── search │ │ │ │ │ ├── Categories.kt │ │ │ │ │ ├── Results.kt │ │ │ │ │ ├── Search.kt │ │ │ │ │ └── Suggestions.kt │ │ │ ├── navigation │ │ │ │ └── JetsnackNavController.kt │ │ │ ├── snackdetail │ │ │ │ └── SnackDetail.kt │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Shape.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── utils │ │ │ │ └── Currency.kt │ │ │ └── widget │ │ │ ├── ActionDemonstrationActivity.kt │ │ │ ├── RecentOrdersWidget.kt │ │ │ ├── data │ │ │ └── RecentOrdersDataRepository.kt │ │ │ ├── layout │ │ │ ├── EmptyListContent.kt │ │ │ ├── ImageTextListLayout.kt │ │ │ ├── ListItem.kt │ │ │ ├── NoDataContent.kt │ │ │ ├── RoundedScrollingLazyColumn.kt │ │ │ └── RoundedScrollingLazyVerticalGrid.kt │ │ │ └── utils │ │ │ ├── ActionUtils.kt │ │ │ └── PreviewAnnotations.kt │ │ └── res │ │ ├── drawable-night │ │ └── empty_state_search.xml │ │ ├── drawable-nodpi │ │ ├── almonds.jpg │ │ ├── apple_chips.jpg │ │ ├── apple_juice.jpg │ │ ├── apple_pie.jpg │ │ ├── apple_sauce.jpg │ │ ├── apples.jpg │ │ ├── cheese.jpg │ │ ├── chips.jpg │ │ ├── cupcake.jpg │ │ ├── desserts.jpg │ │ ├── donut.jpg │ │ ├── eclair.jpg │ │ ├── froyo.jpg │ │ ├── fruit.jpg │ │ ├── gingerbread.jpg │ │ ├── gluten_free.jpg │ │ ├── grapes.jpg │ │ ├── honeycomb.jpg │ │ ├── ice_cream_sandwich.jpg │ │ ├── jelly_bean.jpg │ │ ├── kitkat.jpg │ │ ├── kiwi.jpg │ │ ├── lollipop.jpg │ │ ├── mango.jpg │ │ ├── marshmallow.jpg │ │ ├── nougat.jpg │ │ ├── nuts.jpg │ │ ├── oreo.jpg │ │ ├── organic.jpg │ │ ├── paleo.jpg │ │ ├── pie.jpg │ │ ├── placeholder.jpg │ │ ├── popcorn.jpg │ │ ├── pretzels.jpg │ │ ├── smoothies.jpg │ │ └── vegan.jpg │ │ ├── drawable-v26 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── add_shopping_cart.xml │ │ ├── backward_compatible_widget_preview.png │ │ ├── empty_state_search.xml │ │ ├── ic_account_circle.xml │ │ ├── ic_add.xml │ │ ├── ic_android.xml │ │ ├── ic_arrow_back.xml │ │ ├── ic_check.xml │ │ ├── ic_close.xml │ │ ├── ic_delete_forever.xml │ │ ├── ic_expand_more.xml │ │ ├── ic_filter_list.xml │ │ ├── ic_home.xml │ │ ├── ic_remove.xml │ │ ├── ic_search.xml │ │ ├── ic_shopping_cart.xml │ │ ├── ic_sort_by_alpha.xml │ │ ├── ic_star.xml │ │ ├── shopping_cart.xml │ │ └── widget_logo.xml │ │ ├── font │ │ ├── karla_bold.ttf │ │ ├── karla_regular.ttf │ │ ├── montserrat_light.ttf │ │ ├── montserrat_medium.ttf │ │ ├── montserrat_regular.ttf │ │ └── montserrat_semibold.ttf │ │ ├── mipmap-anydpi-v26 │ │ └── ic_launcher.xml │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-night │ │ └── themes.xml │ │ ├── values-xlarge │ │ └── dimens.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ └── snack_order_widget_info.xml ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── debug_2.keystore ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── color_system.png │ ├── jetsnack.gif │ ├── screenshots.png │ └── snack_details.gif ├── settings.gradle.kts └── spotless │ └── copyright.kt ├── LICENSE ├── README.md ├── Reply ├── .editorconfig ├── .gitignore ├── ASSETS_LICENSE ├── README.md ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-playstore.png │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── reply │ │ │ ├── data │ │ │ ├── Account.kt │ │ │ ├── AccountsRepository.kt │ │ │ ├── AccountsRepositoryImpl.kt │ │ │ ├── Email.kt │ │ │ ├── EmailAttachment.kt │ │ │ ├── EmailsRepository.kt │ │ │ ├── EmailsRepositoryImpl.kt │ │ │ ├── MailboxType.kt │ │ │ └── local │ │ │ │ ├── LocalAccountsDataProvider.kt │ │ │ │ └── LocalEmailsDataProvider.kt │ │ │ └── ui │ │ │ ├── EmptyComingSoon.kt │ │ │ ├── MainActivity.kt │ │ │ ├── ReplyApp.kt │ │ │ ├── ReplyHomeViewModel.kt │ │ │ ├── ReplyListContent.kt │ │ │ ├── components │ │ │ ├── ReplyAppBars.kt │ │ │ ├── ReplyEmailListItem.kt │ │ │ ├── ReplyEmailThreadItem.kt │ │ │ └── ReplyProfileImage.kt │ │ │ ├── navigation │ │ │ ├── ReplyNavigationActions.kt │ │ │ └── ReplyNavigationComponents.kt │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Shapes.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ │ └── utils │ │ │ └── WindowStateUtils.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── avatar_0.jpg │ │ ├── avatar_1.jpg │ │ ├── avatar_10.jpg │ │ ├── avatar_2.jpg │ │ ├── avatar_3.jpg │ │ ├── avatar_4.jpg │ │ ├── avatar_5.jpg │ │ ├── avatar_6.jpg │ │ ├── avatar_7.jpg │ │ ├── avatar_8.jpg │ │ ├── avatar_9.jpg │ │ ├── avatar_express.png │ │ ├── ic_arrow_back.xml │ │ ├── ic_article.xml │ │ ├── ic_chat_bubble_outline.xml │ │ ├── ic_check.xml │ │ ├── ic_edit.xml │ │ ├── ic_group.xml │ │ ├── ic_inbox.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_menu.xml │ │ ├── ic_menu_open.xml │ │ ├── ic_more_vert.xml │ │ ├── ic_search.xml │ │ ├── ic_star_border.xml │ │ ├── paris_1.jpg │ │ ├── paris_2.jpg │ │ ├── paris_3.jpg │ │ └── paris_4.jpg │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── strings.xml │ │ └── themes.xml ├── build.gradle.kts ├── buildscripts │ └── toml-updater-config.gradle ├── debug_2.keystore ├── gradle.properties ├── gradle │ ├── libs.versions.toml │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── compact_medium_large_displays.png │ ├── dynamic_size.gif │ ├── dynamic_theming.png │ ├── fold_unfold.png │ ├── medium_and_large_display.png │ ├── reply.gif │ ├── reply_large_screen.png │ ├── reply_logo.png │ ├── reply_medium_screen.png │ ├── reply_phone.png │ └── reply_theme.png ├── settings.gradle.kts └── spotless │ └── copyright.kt ├── readme ├── jetcaster-hero.png ├── jetcaster.png ├── jetchat.png ├── jetlagged_heading.png ├── jetnews.png ├── jetsnack.png ├── material_catalog.png ├── nia.png ├── reply.png ├── samples_montage.gif └── screenshots │ ├── JetNews.png │ ├── Jetcaster.png │ ├── Jetchat.png │ ├── Jetsnack.png │ ├── Material_Catalog.png │ ├── NiA.png │ └── Reply.png ├── renovate.json └── scripts ├── checksum.sh ├── format.sh ├── gradlew_recursive.sh ├── toml-updater-config.gradle ├── updateDeps.sh └── verify_samples.sh /.github/PULL_REQUEST_TEMPLATE/pull_request_template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Pull request 3 | about: Create a pull request 4 | label: 'triage me' 5 | --- 6 | Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: 7 | - [ ] Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea 8 | - [ ] Ensure the tests and linter pass 9 | - [ ] Appropriate docs were updated (if necessary) 10 | 11 | Fixes # 🦕 12 | -------------------------------------------------------------------------------- /.github/blunderbuss.yml: -------------------------------------------------------------------------------- 1 | assign_issues: 2 | - android/compose-devrel 3 | 4 | -------------------------------------------------------------------------------- /.github/ci-gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | org.gradle.daemon=false 18 | org.gradle.parallel=true 19 | org.gradle.jvmargs=-Xmx5120m 20 | org.gradle.workers.max=2 21 | 22 | kotlin.incremental=false 23 | kotlin.compiler.execution.strategy=in-process 24 | 25 | # Controls KotlinOptions.allWarningsAsErrors. This is used in CI and can be set in local properties. 26 | warningsAsErrors=true 27 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "github-actions" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /.github/workflows/Jetcaster.yaml: -------------------------------------------------------------------------------- 1 | name: Jetcaster 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - '.github/workflows/Jetcaster.yaml' 9 | - 'Jetcaster/**' 10 | pull_request: 11 | paths: 12 | - '.github/workflows/Jetcaster.yaml' 13 | - 'Jetcaster/**' 14 | workflow_dispatch: 15 | 16 | jobs: 17 | build: 18 | uses: ./.github/workflows/build-sample.yml 19 | with: 20 | name: Jetcaster 21 | path: Jetcaster 22 | module: mobile 23 | secrets: 24 | compose_store_password: ${{ secrets.COMPOSE_STORE_PASSWORD }} 25 | compose_key_alias: ${{ secrets.COMPOSE_KEY_ALIAS }} 26 | compose_key_password: ${{ secrets.COMPOSE_KEY_PASSWORD }} 27 | -------------------------------------------------------------------------------- /.github/workflows/Jetsnack.yaml: -------------------------------------------------------------------------------- 1 | name: Jetsnack 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - '.github/workflows/Jetsnack.yaml' 9 | - 'Jetsnack/**' 10 | pull_request: 11 | paths: 12 | - '.github/workflows/Jetsnack.yaml' 13 | - 'Jetsnack/**' 14 | workflow_dispatch: 15 | 16 | jobs: 17 | build: 18 | uses: ./.github/workflows/build-sample.yml 19 | with: 20 | name: Jetsnack 21 | path: Jetsnack 22 | secrets: 23 | compose_store_password: ${{ secrets.COMPOSE_STORE_PASSWORD }} 24 | compose_key_alias: ${{ secrets.COMPOSE_KEY_ALIAS }} 25 | compose_key_password: ${{ secrets.COMPOSE_KEY_PASSWORD }} 26 | -------------------------------------------------------------------------------- /.github/workflows/default-check.yml: -------------------------------------------------------------------------------- 1 | name: Changes to project files 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths-ignore: 8 | - 'Jetcaster/**' 9 | - 'Jetchat/**' 10 | - 'JetLagged/**' 11 | - 'JetNews/**' 12 | - 'Jetsnack/**' 13 | - 'Reply/**' 14 | pull_request: 15 | paths-ignore: 16 | - 'Jetcaster/**' 17 | - 'Jetchat/**' 18 | - 'JetLagged/**' 19 | - 'JetNews/**' 20 | - 'Jetsnack/**' 21 | - 'Reply/**' 22 | 23 | jobs: 24 | build: 25 | name: build 26 | runs-on: ubuntu-latest 27 | steps: 28 | - name: Checkout 29 | uses: actions/checkout@v5 30 | 31 | - name: Run a simple check 32 | run: echo "Running a simple check on files outside sample directories" 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Mac files 6 | .DS_Store 7 | 8 | # files for the dex VM 9 | *.dex 10 | 11 | # Java class files 12 | *.class 13 | 14 | # generated files 15 | bin/ 16 | gen/ 17 | 18 | # Ignore gradle files 19 | .gradle/ 20 | build/ 21 | 22 | # Local configuration file (sdk path, etc) 23 | local.properties 24 | 25 | # Proguard folder generated by Eclipse 26 | proguard/ 27 | proguard-project.txt 28 | 29 | # Eclipse files 30 | .project 31 | .classpath 32 | .settings/ 33 | 34 | # Android Studio/IDEA 35 | *.iml 36 | .idea 37 | .kotlin/ 38 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @riggaroo @simona-anomis @dturner 2 | -------------------------------------------------------------------------------- /JetLagged/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | .kotlin/ 17 | -------------------------------------------------------------------------------- /JetLagged/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /JetLagged/app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_bedtime.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_leaderboard.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_menu.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_single_bed.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/drawable/ic_watch.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/JetLagged/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFC161 4 | -------------------------------------------------------------------------------- /JetLagged/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Jetcaster/glancewidget/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | #FFECDCFF 20 | #FF7CD7BA 21 | #FF2C322F 22 | #ffe0f3ff 23 | 24 | -------------------------------------------------------------------------------- /Jetcaster/glancewidget/src/main/res/values/sizes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 80dp 4 | -------------------------------------------------------------------------------- /Jetcaster/glancewidget/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Play your podcasts 3 | Play 4 | Pause 5 | -------------------------------------------------------------------------------- /Jetcaster/glancewidget/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 23 | -------------------------------------------------------------------------------- /Jetcaster/glancewidget/src/main/res/xml/jetcaster_info.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Jetcaster/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Jetcaster/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2023 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | distributionBase=GRADLE_USER_HOME 16 | distributionPath=wrapper/dists 17 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip 18 | zipStoreBase=GRADLE_USER_HOME 19 | zipStorePath=wrapper/dists 20 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_account_circle.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_arrow_back.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_delete.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_library_music.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_more_vert.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_notifications.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_notifications_active.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_pause.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_play_arrow.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_play_circle.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_playlist_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_skip_next.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_skip_previous.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/drawable/ic_video_library.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/mobile/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | #121212 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/mobile/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Jetcaster/spotless/copyright.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /Jetcaster/stability_config.conf: -------------------------------------------------------------------------------- 1 | java.time.* 2 | kotlin.collections.* 3 | -------------------------------------------------------------------------------- /Jetcaster/tv/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/java/com/example/jetcaster/tv/JetCasterTvApp.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.example.jetcaster.tv 18 | 19 | import android.app.Application 20 | import dagger.hilt.android.HiltAndroidApp 21 | 22 | @HiltAndroidApp 23 | class JetCasterTvApp : Application() 24 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/java/com/example/jetcaster/tv/model/EpisodeList.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.example.jetcaster.tv.model 18 | 19 | import androidx.compose.runtime.Immutable 20 | import com.example.jetcaster.core.player.model.PlayerEpisode 21 | 22 | @Immutable 23 | data class EpisodeList(val member: List) : List by member 24 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/java/com/example/jetcaster/tv/model/PodcastList.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.example.jetcaster.tv.model 18 | 19 | import com.example.jetcaster.core.model.PodcastInfo 20 | 21 | typealias PodcastList = List 22 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_library_music.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_pause.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_person.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_play_arrow.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_playlist_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_remove.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_skip_next.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_skip_previous.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/drawable/ic_video_library.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetcaster/tv/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | #121212 20 | 21 | -------------------------------------------------------------------------------- /Jetcaster/tv/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Jetchat/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | #0540F2 20 | -------------------------------------------------------------------------------- /Jetchat/app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Jetchat/app/src/main/res/xml/widget_unread_messages_info.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Jetchat/debug_2.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/debug_2.keystore -------------------------------------------------------------------------------- /Jetchat/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Jetchat/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2023 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | distributionBase=GRADLE_USER_HOME 16 | distributionPath=wrapper/dists 17 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 18 | zipStoreBase=GRADLE_USER_HOME 19 | zipStorePath=wrapper/dists 20 | -------------------------------------------------------------------------------- /Jetchat/screenshots/jetchat.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/screenshots/jetchat.gif -------------------------------------------------------------------------------- /Jetchat/screenshots/jetchatlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/screenshots/jetchatlogo.png -------------------------------------------------------------------------------- /Jetchat/screenshots/screenshots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/screenshots/screenshots.png -------------------------------------------------------------------------------- /Jetchat/screenshots/widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/screenshots/widget.png -------------------------------------------------------------------------------- /Jetchat/screenshots/widget_discoverability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetchat/screenshots/widget_discoverability.png -------------------------------------------------------------------------------- /Jetchat/spotless/copyright.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /Jetsnack/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | .kotlin/ 17 | -------------------------------------------------------------------------------- /Jetsnack/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Jetsnack/app/src/main/java/com/example/jetsnack/ui/utils/Currency.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.example.jetsnack.ui.utils 18 | 19 | import java.math.BigDecimal 20 | import java.text.NumberFormat 21 | 22 | fun formatPrice(price: Long): String { 23 | return NumberFormat.getCurrencyInstance().format( 24 | BigDecimal(price).movePointLeft(2), 25 | ) 26 | } 27 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/almonds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/almonds.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/apple_chips.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/apple_chips.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/apple_juice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/apple_juice.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/apple_pie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/apple_pie.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/apple_sauce.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/apple_sauce.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/apples.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/apples.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/cheese.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/cheese.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/chips.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/chips.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/cupcake.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/cupcake.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/desserts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/desserts.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/donut.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/donut.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/eclair.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/eclair.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/froyo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/froyo.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/fruit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/fruit.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/gingerbread.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/gingerbread.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/gluten_free.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/gluten_free.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/grapes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/grapes.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/honeycomb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/honeycomb.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/ice_cream_sandwich.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/ice_cream_sandwich.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/jelly_bean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/jelly_bean.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/kitkat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/kitkat.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/kiwi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/kiwi.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/lollipop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/lollipop.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/mango.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/mango.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/marshmallow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/marshmallow.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/nougat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/nougat.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/nuts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/nuts.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/oreo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/oreo.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/organic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/organic.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/paleo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/paleo.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/pie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/pie.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/placeholder.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/popcorn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/popcorn.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/pretzels.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/pretzels.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/smoothies.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/smoothies.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable-nodpi/vegan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable-nodpi/vegan.jpg -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/backward_compatible_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/drawable/backward_compatible_widget_preview.png -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_android.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_arrow_back.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_check.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_delete_forever.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_expand_more.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_filter_list.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_remove.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_sort_by_alpha.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/drawable/ic_star.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/karla_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/karla_bold.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/karla_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/karla_regular.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/montserrat_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/montserrat_light.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/montserrat_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/montserrat_medium.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/montserrat_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/montserrat_regular.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/font/montserrat_semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/font/montserrat_semibold.ttf -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/android/compose-samples/3528da24e21a3e1460a5b7288a80818a77fd9f0f/Jetsnack/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Jetsnack/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 |