|
1 |
| -# Jetpack Compose for TVSamples |
2 |
| - |
3 |
| -This repository contains a set of individual Android Studio projects to help you learn about |
4 |
| -Compose in Android TV. Each sample demonstrates different use cases, complexity levels and APIs. |
5 |
| - |
6 |
| -For more information, please [read the documentation](https://developer.android.com/jetpack/androidx/releases/tv) |
7 |
| - |
8 |
| -💻 Requirements |
9 |
| ------------- |
10 |
| -To try out these sample apps, you need to use [Android Studio](https://developer.android.com/studio). |
11 |
| -You can clone this repository or import the |
12 |
| -project from Android Studio following the steps |
13 |
| -[here](https://developer.android.com/jetpack/compose/setup#sample). |
14 |
| - |
15 |
| -🧬 Samples |
16 |
| ------------- |
17 |
| - |
18 |
| -### JetStream |
19 |
| - |
20 |
| -A sample media streaming app that demonstrates the use of TV Compose with a typical Material app and |
21 |
| -real-world architecture. |
22 |
| - |
23 |
| -* Dark themed |
24 |
| -* Showcases |
25 |
| - * TabRow |
26 |
| - * Carousel |
27 |
| - * TvLazyRow |
28 |
| - * ImmersiveList |
29 |
| - * TvLazyColumn |
30 |
| - * Tv Material Surface |
31 |
| - * TvVerticalGrid |
32 |
| - * Tv Material Cards |
33 |
| - * Buttons |
34 |
| - * Icon |
35 |
| - * Text |
36 |
| - * Chips |
37 |
| - * ListItem |
38 |
| - * Switch |
39 |
| - * Dialogs |
40 |
| - |
41 |
| -## Screenshots |
42 |
| - |
43 |
| - |
| 1 | +# **Adaptive Apps Samples: JetStream** |
44 | 2 |
|
45 |
| -## Performance |
| 3 | +Jetstream is a sample media streaming application designed to adapt to various form factors using a single binary. It leverages Compose Material3 for cross-device compatibility, enabling [adaptive experiences](https://developer.android.com/adaptive-apps) across different form factors. |
46 | 4 |
|
47 |
| -### Benchmarks |
| 5 | +* Mobile device |
| 6 | +* Tablet |
| 7 | +* Foldable device |
| 8 | +* Chromebook |
| 9 | +* TV |
| 10 | +* Automotive |
| 11 | +* XR device |
48 | 12 |
|
49 |
| -The `benchmarks` module contains sample tests written using [`Macrobenchmark`](https://developer.android.com/studio/profile/macrobenchmark) library. It also contains the test to generate the baseline profile for JetStream app. |
| 13 | + |
50 | 14 |
|
51 |
| -### Baseline profiles |
| 15 | +This directory contains a version of the JetStream TV sample app that utilizes [Compose Material3](https://developer.android.com/jetpack/androidx/releases/compose-material3) components, with some exceptions like the [featured carousel](https://developer.android.com/design/ui/tv/guides/components/featured-carousel). It builds upon the original JetStream sample to offer experiences tailored to different device form factors. The original JetStream app for TV can be found at [https://github.com/android/tv-samples/](https://github.com/android/tv-samples/). |
| 16 | + |
| 17 | +## Requirements |
| 18 | + |
| 19 | +* You need Android Studio to try the sample app. |
| 20 | +* If you are trying JetStream on XR emulator, refer to [this document](https://developer.android.com/develop/xr/jetpack-xr-sdk/setup) for the details. |
| 21 | +* You can clone this repository and build the sample app in AdaptiveJetStream directory. Refer to [this document](https://developer.android.com/jetpack/compose/setup#sample) for the steps. |
| 22 | + |
| 23 | +## Performance |
52 | 24 |
|
53 |
| -The baseline profile for this app is located at [`jetstream/src/main/baseline-prof.txt`](jetstream/src/main/baseline-prof.txt). It contains rules that enable AOT compilation of the critical user path taken during app launch. To learn more about baseline profiles, read [here](https://developer.android.com/studio/profile/baselineprofiles). |
| 25 | +The `benchmarks` module contains sample tests written using the [Macrobenchmark](https://developer.android.com/studio/profile/macrobenchmark) library. It also contains the test to generate the baseline profile for JetStream app. |
54 | 26 |
|
55 |
| -For more details on how to generate & apply baseline profiles, check [this document](baseline-profiles.md). |
| 27 | +### Baseline profiles |
56 | 28 |
|
| 29 | +The baseline profile for this app is generated as `jetstream/src/release/generated/baselineProfiles/baseline-prof.txt`, which contains rules that enable AOT compilation of the critical user path taken during app launch. Refer to this [document](https://developer.android.com/studio/profile/baselineprofiles) to learn more about baseline profiles |
57 | 30 |
|
58 | 31 | ## License
|
59 |
| -``` |
60 |
| -Copyright 2023 Google LLC |
61 | 32 |
|
62 |
| -Licensed under the Apache License, Version 2.0 (the "License"); |
63 |
| -you may not use this file except in compliance with the License. |
| 33 | +``` |
| 34 | +Copyright 2025 Google LLC |
| 35 | +
|
| 36 | +Licensed under the Apache License, Version 2.0 (the "License"); |
| 37 | +you may not use this file except in compliance with the License. |
64 | 38 | You may obtain a copy of the License at
|
65 | 39 |
|
66 | 40 | https://www.apache.org/licenses/LICENSE-2.0
|
67 | 41 |
|
68 |
| -Unless required by applicable law or agreed to in writing, software |
69 |
| -distributed under the License is distributed on an "AS IS" BASIS, |
70 |
| -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
71 |
| -See the License for the specific language governing permissions and |
72 |
| -limitations under the License. |
| 42 | +Unless required by applicable law or agreed to in writing, software |
| 43 | +distributed under the License is distributed on an "AS IS" BASIS, |
| 44 | +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 45 | +See the License for the specific language governing permissions and |
| 46 | +limitations under the License. |
73 | 47 | ```
|
| 48 | + |
0 commit comments