diff --git a/Jetcaster/README.md b/Jetcaster/README.md index d48e2b9684..0f8cef1423 100644 --- a/Jetcaster/README.md +++ b/Jetcaster/README.md @@ -3,7 +3,7 @@ # Jetcaster sample 🎙️ Jetcaster is a sample podcast app, built with [Jetpack Compose][compose]. The goal of the sample is to -showcase building with Compose across multiple form factors and full featured architecture. +showcase building with Compose across multiple form factors (mobile, TV, and Wear) and full featured architecture. To try out this sample app, use the latest stable version of [Android Studio](https://developer.android.com/studio). @@ -11,27 +11,23 @@ You can clone this repository or import the project from Android Studio following the steps [here](https://developer.android.com/jetpack/compose/setup#sample). -### Status: 🚧 In progress 🚧 - -Jetcaster is still in the early stages of development, and as such only one screen has been created so far. However, -most of the app's architecture has been implemented as well as the data layer. - - ## Screenshots ![readme_cover](https://github.com/android/compose-samples/assets/10263978/a58ab950-71aa-48e0-8bc7-85443a1b4f6b) ## Features -This sample contains 2 screens so far: the home screen, and a player screen. +This sample has 3 components: the home screen, the podcast details screen, and the player screen The home screen is split into sub-screens for easy re-use: -- __Home__, allowing the user to see their followed podcasts (top carousel), and navigate between 'Your Library' and 'Discover' +- __Home__, allowing the user to see their subscribed podcasts (top carousel), and navigate between 'Your Library' and 'Discover' - __Discover__, allowing the user to browse podcast categories - __Podcast Category__, allowing the user to see a list of recent episodes for podcasts in a given category. -The player screen displays media controls and the currently "playing" podcast (the sample currently doesn't actually play any media). +Multiple panes will also be shown depending on the device's [window size class][wsc]. + +The player screen displays media controls and the currently "playing" podcast (the sample currently **does not** actually play any media—the behavior is simply mocked). The player screen layout is adapting to different form factors, including a tabletop layout on foldable devices: ![readme_fold](https://github.com/android/compose-samples/assets/10263978/fe02248f-81ce-489b-a6d6-838438c8368e) @@ -117,3 +113,4 @@ limitations under the License. [rome]: https://rometools.github.io/rome/ [jdk8desugar]: https://developer.android.com/studio/write/java8-support#library-desugaring [coil]: https://coil-kt.github.io/coil/ + [wsc]: https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes#window_size_classes diff --git a/README.md b/README.md index 3370a85dc9..296b0f3fec 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,16 @@ Looking for a sample that has the following features? * [Jetchat: Downloadable Fonts](https://github.com/android/compose-samples/pull/787) ### Large Screens -* [Jetcaster - Tabletop mode](https://github.com/android/compose-samples/blob/0f7d5958c57a83ecad10136da4d359ae07046d07/Jetcaster/app/src/main/java/com/example/jetcaster/ui/player/PlayerScreen.kt#L138) +* [Jetcaster - Supporting Pane](https://github.com/android/compose-samples/blob/3dbbf0912b57dacefcfb79191a2d7d6b053dadb8/Jetcaster/app/src/main/java/com/example/jetcaster/ui/home/Home.kt#L282) * [Jetnews - Window Size Classes](https://github.com/android/compose-samples/blob/69e9d862b5ffb321064364d7883e859db6daeccd/JetNews/app/src/main/java/com/example/jetnews/ui/MainActivity.kt#L36) * [Crane - Window Size Classes](https://github.com/android/compose-samples/blob/e7e8733f9b37d80cdc6e9e05dbabe24ccf20b38f/Crane/app/src/main/java/androidx/compose/samples/crane/home/MainActivity.kt#L72) +### TV +* [Jetcaster - TV](https://github.com/android/compose-samples/tree/3dbbf0912b57dacefcfb79191a2d7d6b053dadb8/Jetcaster/tv-app) + +### Wear +* [Jetcaster - Wear](https://github.com/android/compose-samples/tree/3dbbf0912b57dacefcfb79191a2d7d6b053dadb8/Jetcaster/wear) + ## Formatting To automatically format all samples: Run `./scripts/format.sh` diff --git a/readme/screenshots/Jetcaster.png b/readme/screenshots/Jetcaster.png index ac0d281975..953351d1ce 100644 Binary files a/readme/screenshots/Jetcaster.png and b/readme/screenshots/Jetcaster.png differ